• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于XGBoost算法城市垃圾清理預(yù)測(cè)

      2019-10-30 18:53:24姚興泉
      科學(xué)與財(cái)富 2019年30期

      摘 要:隨著城市化進(jìn)程的增長(zhǎng),城市生活垃圾的處理也成為了城市發(fā)展與規(guī)劃的重點(diǎn)。因此,不少城市開(kāi)始投入智慧城市的建設(shè),很多區(qū)域開(kāi)始嘗試在垃圾桶上安裝傳感器,根據(jù)傳感器的數(shù)據(jù)及時(shí)通知城管部門安排清運(yùn)車輛,及時(shí)規(guī)劃清運(yùn)線路。本文調(diào)整XGBoost(Extreme Gradient Boosting)算法,將算法應(yīng)用到垃圾清運(yùn)量的預(yù)測(cè)上。本文通過(guò)實(shí)驗(yàn)結(jié)果研究表明,預(yù)測(cè)模型輸出結(jié)果可以比較好的擬合實(shí)際發(fā)生的情況,根據(jù)實(shí)驗(yàn)數(shù)據(jù)平均誤差在2%以內(nèi),符合預(yù)期效果。總的來(lái)說(shuō),XGBoost城市垃圾清運(yùn)預(yù)測(cè)模型具有精高,模型的構(gòu)建效率高,易于通過(guò)軟件實(shí)現(xiàn),可以在一定場(chǎng)景下滿足部分系統(tǒng)需求,具有一定的實(shí)用價(jià)值。

      關(guān)鍵詞:垃圾運(yùn)量預(yù)測(cè);預(yù)測(cè)精度;XGBoost;預(yù)測(cè)因子

      1.引言

      XGBoost(Extreme Gradient Boosting)算法是通過(guò)若干弱分類器經(jīng)過(guò)不斷迭代獲得一個(gè)比較準(zhǔn)確的分類預(yù)測(cè)效果。目前,在電子商務(wù)銷售預(yù)測(cè)、事件分類、客戶行為分類、電力負(fù)荷預(yù)測(cè)等領(lǐng)域均取得了良好的效果。本文擬調(diào)整該算法,將算法應(yīng)用到垃圾清運(yùn)量的預(yù)測(cè)上。

      2.算法說(shuō)明

      XGBoost的算法思路是不斷累加逼近目標(biāo),也就是說(shuō)每次通過(guò)一個(gè)弱分類器來(lái)進(jìn)行預(yù)測(cè),通過(guò)不斷迭代預(yù)測(cè)值將不斷接近目標(biāo)函數(shù)。其基礎(chǔ)模型可以表述為:

      顯然,上述模型中是通過(guò)不斷累積逼近目標(biāo),從而達(dá)到預(yù)測(cè)效果。其中,X為要預(yù)測(cè)的樣本,T為森林的規(guī)模即迭代次數(shù),經(jīng)過(guò)T輪迭代逐步累積獲得最終的預(yù)測(cè)。

      XGBoost在每一步的累加過(guò)程中,都會(huì)選擇一個(gè)累加方向,其借鑒了梯度提升的思想,根據(jù)損失函數(shù)選擇方向。在不斷逼近過(guò)程中為了防止過(guò)擬合,在損失函數(shù)中加入了正則項(xiàng),保證了輸出模型的泛化能力。算法框架,在迭代效率方面提升的巧妙之處在于沒(méi)有采用搜索的方式,而是直接通過(guò)損失函數(shù)的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)對(duì)候選者篩選,從而獲得了良好的性能。

      在算法的實(shí)現(xiàn)上,XGBoost的流程也比較易于實(shí)現(xiàn)。在數(shù)據(jù)訓(xùn)練過(guò)程中,首先,算法框架會(huì)接收樣本數(shù)據(jù)并初始化預(yù)測(cè)值。在用戶使用算法框架之前,要提前根據(jù)業(yè)務(wù)場(chǎng)景預(yù)置損失函數(shù)。然后,計(jì)算每一個(gè)樣本的預(yù)測(cè)值在損失函數(shù)中的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)。接下來(lái)就是,根據(jù)上述導(dǎo)數(shù)信息和差值生產(chǎn)下一顆決策樹(shù)。迭代的最后一步是,利用新生成的決策樹(shù)預(yù)測(cè)樣本,并將結(jié)果累加起來(lái)。最后,不斷迭代更新累計(jì),直到達(dá)到迭代條件生成輸出模型。顯然,整個(gè)計(jì)算過(guò)程是一個(gè)串行化的過(guò)程,但是在迭代過(guò)程中會(huì)反復(fù)使用樣本,因此算法可以利用緩存方法提高執(zhí)行效率。

      從上述過(guò)程分析,XGBoost的關(guān)鍵是損失函數(shù),是通過(guò)損失函數(shù)的計(jì)算不斷更新預(yù)測(cè)效果。那么,XGBoost的損失函數(shù)定義為:

      上述函數(shù)由三個(gè)部分構(gòu)成,從左往右分別為損失項(xiàng),正則項(xiàng)和常數(shù)項(xiàng)。損失項(xiàng)的目的是評(píng)價(jià)樣本預(yù)測(cè)與真實(shí)值得差距,從而不斷逼近。正則項(xiàng)和常數(shù)項(xiàng)的目的是為了防止過(guò)擬合采取的控制手段。同時(shí),正則項(xiàng)在選擇候選樹(shù)的時(shí)候起到了篩選作用,常數(shù)項(xiàng)加快了迭代過(guò)程。

      在損失函數(shù)的巧妙之處在于可以對(duì)損失項(xiàng)進(jìn)行泰勒展開(kāi)式,然后取近似值,近似的取泰勒展開(kāi)式的前兩項(xiàng),即一階導(dǎo)數(shù)和二階導(dǎo)數(shù)。則原函數(shù)轉(zhuǎn)換為如下:

      其中g(shù)i,hi就是一階導(dǎo)數(shù)和二階導(dǎo)數(shù),這樣就可以直接使用gi,hi更新樣本,從而降低了計(jì)算復(fù)雜度。

      3.XGBoost算法應(yīng)用

      在智慧城市的傳感器數(shù)據(jù)收集中會(huì)產(chǎn)生大量的基礎(chǔ)數(shù)據(jù),傳感器會(huì)定期收集垃圾桶的垃圾占比數(shù)據(jù),不斷的發(fā)送給數(shù)據(jù)平臺(tái),因此基礎(chǔ)數(shù)據(jù)會(huì)非常多。由于垃圾桶是一個(gè)公共物品并且容易遭到意外的破損,因此其內(nèi)的傳感器也會(huì)存在一定的破損概率,此期間的數(shù)據(jù)可能無(wú)法及時(shí)獲取。根據(jù)實(shí)際情況,影響垃圾產(chǎn)生的主要因素之一是周邊人口,本次采樣的數(shù)據(jù)來(lái)源也主要是生活垃圾。另外,平時(shí)產(chǎn)生的生活垃圾與節(jié)假日期間產(chǎn)生的垃圾規(guī)模也是存在差異的。

      根據(jù)上述分析,由于基礎(chǔ)數(shù)據(jù)量比較大,可以通過(guò)以區(qū)域作為一個(gè)數(shù)據(jù)采樣點(diǎn),例如小區(qū)、居民區(qū)等區(qū)域,計(jì)算此區(qū)域內(nèi)的垃圾暫存容量。對(duì)于該區(qū)域收集的大量傳感器基礎(chǔ)數(shù)據(jù)可以取該區(qū)域內(nèi)所有垃圾桶使用占比的均值來(lái)表示。因此,可以構(gòu)建垃圾暫存容量、平均使用占比、輻射人口、是否為節(jié)假日、傳感器壞損率、前一周同比使用占比、前一天同比使用占比個(gè)這七個(gè)維度構(gòu)成的數(shù)據(jù)描述作為訓(xùn)練的輸入。所預(yù)測(cè)的為下一個(gè)清運(yùn)周期。目前,收集了(2018年9月 至 2018年12月)三個(gè)月的數(shù)據(jù),經(jīng)過(guò)上述加工最終數(shù)據(jù)規(guī)模為134區(qū)域,共12194筆記錄。本文以該數(shù)據(jù)樣本進(jìn)行訓(xùn)練獲取預(yù)測(cè)模型。

      本算法通過(guò)Python3.6實(shí)現(xiàn),數(shù)據(jù)同步來(lái)源于智慧城市云端服務(wù)接口。算法的訓(xùn)練環(huán)境為英特爾酷睿i7,四核心八線程 3.06GHz主頻,運(yùn)行內(nèi)存為8G,64位Linux 2.6內(nèi)核。XGBoost底層是構(gòu)建在C++基礎(chǔ)之上,然后通過(guò)python進(jìn)行代碼封裝,易于編程和使用。Python的基礎(chǔ)庫(kù)是基于Anaconda環(huán)境構(gòu)建的,通過(guò)git下載使用python封裝的XGBoost代碼,然后根據(jù)本文業(yè)務(wù)特征編寫邏輯。

      在XGBoost算法框架中,可以通過(guò)參數(shù)設(shè)置來(lái)調(diào)整算法以適應(yīng)應(yīng)用場(chǎng)景。XGBoost要調(diào)整的參數(shù)包括:通用參數(shù)、boost參數(shù)和學(xué)習(xí)目標(biāo)參數(shù)三類。針對(duì)本文討論的范圍,主要設(shè)置基于樹(shù)的模型進(jìn)行訓(xùn)練,最大樹(shù)的深度設(shè)置為7,為了防止過(guò)擬合收縮步長(zhǎng)參數(shù)設(shè)置為0.4,迭代次數(shù)設(shè)置為100。在目標(biāo)函數(shù)的參數(shù)設(shè)置為“count poisson” 輸出結(jié)果為poisson分布。 在poisson回歸中,max_delta_step的缺省值為0.7。調(diào)整其中75%的樣本數(shù)據(jù)為訓(xùn)練數(shù)據(jù),25%的樣本數(shù)據(jù)為驗(yàn)證數(shù)據(jù)。

      綜合上來(lái)看XGBoost有比較好的綜合性,準(zhǔn)確率和召回率均比較合理,隨機(jī)森林雖然準(zhǔn)確率較高但是召回率較差,因?yàn)槟P头夯芰^弱。貝葉斯在運(yùn)算時(shí)間上略有優(yōu)勢(shì),但是綜合上來(lái)說(shuō)XGBoost更適合本文的應(yīng)用特點(diǎn)。XGBoost本質(zhì)上一顆決策樹(shù),在屬性的貢獻(xiàn)程度上一次排名前三的為垃圾暫存容量、前一周同比使用占比、輻射人口,也就是說(shuō)這三個(gè)指標(biāo)更能刻畫數(shù)據(jù)。

      結(jié) 論:

      城市垃圾清運(yùn)是城市管理調(diào)度的一項(xiàng)重要工作之一。本文以智慧城市建設(shè)為數(shù)據(jù)基礎(chǔ),以垃圾清運(yùn)數(shù)據(jù)預(yù)測(cè)作為研究背景,通過(guò)研究XGBoost算法應(yīng)用在垃圾清運(yùn)預(yù)測(cè)場(chǎng)景,借助算法執(zhí)行效率高、準(zhǔn)確度高、靈活性強(qiáng)、易于實(shí)現(xiàn)的特點(diǎn)。在垃圾清運(yùn)數(shù)據(jù)中,數(shù)據(jù)并不集中,在實(shí)際中可能存在傳感器故障等問(wèn)題導(dǎo)致數(shù)據(jù)缺失。計(jì)算過(guò)程中利用緩存技術(shù)高效的讓boosting迭代過(guò)程中可以共享內(nèi)存提高執(zhí)行效率。本文通過(guò)分析垃圾清運(yùn)數(shù)據(jù),構(gòu)建了垃圾暫存容量、平均使用占比、輻射人口、是否為節(jié)假日、傳感器壞損率、前一周同比使用占比、前一天同比使用占比,系統(tǒng)以上一個(gè)清運(yùn)周期為輸入下一個(gè)清運(yùn)周期為輸出建立預(yù)測(cè)模型。本文通過(guò)實(shí)驗(yàn)結(jié)果研究表明,預(yù)測(cè)模型輸出結(jié)果可以比較好的擬合實(shí)際發(fā)生的情況,根據(jù)實(shí)驗(yàn)數(shù)據(jù)平均誤差在2%以內(nèi),符合預(yù)期效果。總的來(lái)說(shuō),XGBoost城市垃圾清運(yùn)預(yù)測(cè)模型具有精度高,模型的構(gòu)建效率高,易于通過(guò)軟件實(shí)現(xiàn),可以在一定場(chǎng)景下滿足部分系統(tǒng)需求,具有一定的實(shí)用價(jià)值。

      參考文獻(xiàn):

      [1]基于灰色預(yù)測(cè)模型的遼寧省城市生活垃圾產(chǎn)生量預(yù)測(cè)[J].王東明,呂洪濤.環(huán)境保護(hù)與循環(huán)經(jīng)濟(jì).2013(04)

      [2]基于BP神經(jīng)網(wǎng)絡(luò)的武漢市生活垃圾清運(yùn)量預(yù)測(cè)研究[J].夏晶,張旺.湖北工業(yè)大學(xué)學(xué)報(bào).2016(06)

      作者簡(jiǎn)介:

      姚興泉(1992.04--),男(漢族),浙江慶元人,工程師,在職研究生(在讀),主要研究方向:大數(shù)據(jù)、人工智能。

      响水县| 奈曼旗| 法库县| 凤山县| 上犹县| 冕宁县| 彭泽县| 麻城市| 合作市| 襄樊市| 栾川县| 临邑县| 灵璧县| 肥西县| 青州市| 郯城县| 休宁县| 玉环县| 江阴市| 原平市| 社会| 南华县| 普宁市| 无为县| 塘沽区| 阿克苏市| 镇安县| 通许县| 铁岭县| 沧州市| 桐梓县| 寿光市| 朝阳区| 洛隆县| 仙居县| 恩平市| 民和| 水富县| 呼玛县| 定安县| 宽甸|