李正方 杜景林 周蕓
摘 ?要: 降雨量預(yù)測(cè)對(duì)于水資源的管理非常重要,可以幫助決策者提前做出應(yīng)對(duì)舉措,降低災(zāi)情發(fā)生時(shí)帶來(lái)的經(jīng)濟(jì)損失和人員傷亡。同時(shí),降雨量預(yù)測(cè)對(duì)人們的日常生活、出行等也有著非常重要參考意義。通過(guò)分類回歸樹(shù)算法構(gòu)建兩個(gè)預(yù)測(cè)降雨量的模型,然后通過(guò)粒子群算法對(duì)模型中的參數(shù)進(jìn)行優(yōu)化。此外,為解決原算法不具備處理數(shù)據(jù)流問(wèn)題的能力,根據(jù)dsCART算法的思想,對(duì)原算法生成決策樹(shù)的過(guò)程做出了調(diào)整,使其具有增量學(xué)習(xí)的能力,提高其在氣象信息系統(tǒng)中的實(shí)用性。最終通過(guò)實(shí)驗(yàn)驗(yàn)證了該改進(jìn)方法的可行性、有效性。
關(guān)鍵詞: 降雨量預(yù)測(cè); CART算法; 粒子群優(yōu)化算法; 增量學(xué)習(xí); 性能評(píng)價(jià); 實(shí)驗(yàn)驗(yàn)證
中圖分類號(hào): TN98?34 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2020)02?0133?05
Rainfall prediction model based on improved CART algorithm
LI Zhengfang, DU Jinglin, ZHOU Yun
Abstract: Rainfall forecasting is very important for water resources management, which can help decision makers to take measures in advance to reduce the economic losses and casualties caused by disasters. At the same time, rainfall forecasting is of great significance to people's daily life, travel and so on. In this paper, two models for predicting rainfall are constructed by means of the classified regression tree algorithm, and the parameters in the models are optimized by means of the particle swarm optimization (PSO). In addition, the process of generating decision tree on the basis of original algorithm is adjusted according to the thought of the dsCART algorithm, which makes it have the ability of incremental learning and improve the practicability in the meteorological information system, so as to solve the problem that the original algorithm does not have the ability to deal with data flow. Finally, the feasibility and effectiveness of the improved method are verified with the experiments.
Keywords: rainfall forecast; CART algorithm; particle swarm optimization algorithm; incremental learning; performance evaluation; experimental verification
0 ?引 ?言
天氣預(yù)測(cè)對(duì)于應(yīng)對(duì)極端氣候狀況及重大災(zāi)情有著十分重要的作用。常見(jiàn)的用于預(yù)測(cè)天氣狀況的方法包括神經(jīng)網(wǎng)絡(luò)[1] 、K?最近鄰[2]、決策樹(shù)[3]等方法。本文針對(duì)降雨問(wèn)題提出了一種基于決策樹(shù)的降雨量預(yù)測(cè)模型。該模型基于公知的分類回歸樹(shù)(Classification And Regression Tree,CART)算法。 CART算法是由Breiman等人在1984年提出的,其目的是構(gòu)造一個(gè)有效的算法讓其能從觀測(cè)的訓(xùn)練樣本中給出分類器的分段常數(shù)估計(jì)或回歸函數(shù)估計(jì)。本文就這兩種估計(jì)方式構(gòu)建了回歸樹(shù)模型和模型樹(shù)模型,并將這兩種模型用于預(yù)測(cè)降雨量時(shí)的性能做出了比較。
由于天氣預(yù)測(cè)時(shí)效性較強(qiáng),氣象數(shù)據(jù)多以數(shù)據(jù)流的形式連續(xù)地輸入到系統(tǒng)當(dāng)中,且受到氣候環(huán)境變化的影響,各氣象要素間的關(guān)系和相互作用可能隨時(shí)間發(fā)生一些漂移。解決這類問(wèn)題的一個(gè)合適的工具是增量學(xué)習(xí)[4]。本文針對(duì)降雨量預(yù)測(cè)問(wèn)題引用了Leszek Rutkowski 等人提出的dsCART[5](Data Stream CART Algorithm)算法對(duì)原有算法構(gòu)造生成決策樹(shù)的過(guò)程進(jìn)行了調(diào)整與改進(jìn),使該算法具有了增量學(xué)習(xí)的能力。
利用CART算法對(duì)數(shù)據(jù)集進(jìn)行劃分時(shí),既要避免不必要的劃分增加時(shí)間開(kāi)銷,同時(shí)也要防止過(guò)度劃分導(dǎo)致其生成的決策樹(shù)出現(xiàn)過(guò)擬合。為此,本文添加兩個(gè)參數(shù)作為約束條件。然而,在數(shù)據(jù)流的情況下,這些參數(shù)值的最優(yōu)解也會(huì)隨著數(shù)據(jù)樣本的增加而變化。所以本文引用了粒子群算法[6](Particle Swarm Optimization,PSO)對(duì)原算法進(jìn)行了優(yōu)化,使其能尋找出該參數(shù)在全局的最優(yōu)解。實(shí)驗(yàn)結(jié)果表明, 優(yōu)化后的算法性能有了較大的提升。
1 ?相關(guān)算法分析
1.1 ?CART算法
現(xiàn)有的決策樹(shù)構(gòu)造算法主要有:ID3算法[7]、C4.5算法[8]和CART算法[9]。其區(qū)別主要體現(xiàn)在樹(shù)的類型和純度度量標(biāo)準(zhǔn)不同。ID3算法產(chǎn)生的是一棵非二叉樹(shù),用信息熵作為純度度量標(biāo)準(zhǔn)。通過(guò)分裂前后信息熵的變化計(jì)算信息增益,再根據(jù)信息增益的值決定是否進(jìn)行該次分裂。C4.5算法同樣是用信息熵來(lái)衡量數(shù)據(jù)集的純度,但它增加了一個(gè)稱為分裂信息的附加函數(shù),并通過(guò)計(jì)算信息增益與分裂信息的比值,即信息增益率[10]來(lái)決定是否進(jìn)行該次劃分。而由CART算法構(gòu)造的決策樹(shù)是一棵二叉樹(shù),并采用基尼指數(shù)[11](Gini index)作為衡量數(shù)據(jù)集純度的標(biāo)準(zhǔn)。其執(zhí)行過(guò)程如下:在根節(jié)點(diǎn)[L0]處處理訓(xùn)練數(shù)據(jù)集S的子集[Sq],若[Sq]中的所有元素屬于同一類別,則該節(jié)點(diǎn)被標(biāo)記為葉子節(jié)點(diǎn)并停止劃分。否則根據(jù)分割度量函數(shù)在該節(jié)點(diǎn)中選擇最佳劃分屬性繼續(xù)切分。對(duì)于每個(gè)可用劃分屬性[ai],通過(guò)選擇劃分閾值將其取值集合[Ai]劃分為兩個(gè)不相交的互補(bǔ)子集X和Y。設(shè)劃分閾值為[AiL],[Ai]的所有可能的劃分閾值為[Vi],則集合X和Y將數(shù)據(jù)集[Sq]劃分成了兩個(gè)互不相交的子集[Lq(AiL)]和[Rq(AiL)]。
[Lq(AiL)={sj∈Sq|Vij∈X}] (1)
[Rq(AiL)={sj∈Sq|Vij∈Y}] (2)
集合[Lq(AiL)],[Rq(AiL)]中元素取決于劃分的屬性[ai]和閾值[AiL],令[pL,q(AiL)],[pR,q(AiL)]分別表示數(shù)據(jù)集[Sq]中[Lq(AiL)]和[Rq(AiL)]所占的比例。[pL,q(AiL)]和[pR,q(AiL)]的關(guān)系表示如下:
[pR,q(AiL)=1-pL,q(AiL)] (3)
在這些參數(shù)中,只需考慮[pL,q(AiL)],設(shè)數(shù)據(jù)集S被劃分為k個(gè)不同的類別,則集合[Lq(AiL)]和[Rq(AiL)]中元素來(lái)自類別k中的比例分別記為[pkL,q(AiL)],[pkR,q(AiL)]。 數(shù)據(jù)集[Sq]中元素來(lái)自類別k的比例記為[pk,q],k=1,2,…,k,并且該值不依賴于選擇的劃分屬性[ai]和劃分閾值[AiL]。由[pk,q]的值我們可以得出在節(jié)點(diǎn)[L0]處數(shù)據(jù)集[Sq]的基尼指數(shù)值:
[Gini(Sq)=1-k=1K(pk,q)2] ?(4)
當(dāng)[Sq]中所有元素都屬于同一類別時(shí),基尼指數(shù)值達(dá)到最小值0;當(dāng)[Sq]中元素均勻分布在k個(gè)類別上時(shí),基尼指數(shù)值最大,并且類別越多,基尼指數(shù)值也越大。此外,根據(jù)劃分閾值[AiL]得到的子集[Sq]的加權(quán)基尼指數(shù)定義為:
[wGini(Sq,AiL)=pL,q(AiL)Gini(Lq(AiL))+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1-pL,q(AiL))Gini(Rq(AiL))] (5)
其中,集合[Lq(AiL)]和[Rq(AiL)]的基尼指數(shù)由式(4)得:
[Gini(Lq(AiL))=1-k=1K(pkL,q(AiL))2] ?(6)
[Gini(Rq(AiL))=1-k=1K(pkR,q(AiL))2] (7)
CART算法中的分割度量函數(shù)被定義為基尼指數(shù)與加權(quán)基尼指數(shù)之間的差值。該分割度量函數(shù)被稱為Gini增益,其表達(dá)式如下:
[g(Sq,AiL)=Gini(Sq)-wGini(Sq,AiL)] (8)
在集合[Ai]中的所有可能的劃分閾值[AiL]中,選擇使得Gini增益取得最大值的那一個(gè)作為最終的劃分閾值。
[AiL,q=argmaxAiL∈Vi{g(Sq,AiL)}] ?(9)
該最佳劃分閾值[AiL,q]將集合[Ai]劃分出兩個(gè)子集[Liq=Liq(AiL,q)]和[Riq=Riq(AiL,q)]。[giq=g(Sq,AiL,q)]的值被稱為數(shù)據(jù)集[Sq]中屬性[ai]的Gini增益。能使得Gini增益取得最大值的屬性則作為劃分屬性,并將節(jié)點(diǎn)[L0]劃分為兩個(gè)子節(jié)點(diǎn)[Llast+1]和[Llast+2],last代表最近一次在整個(gè)樹(shù)中創(chuàng)建的節(jié)點(diǎn)的索引值。假設(shè)屬性[ax]具有最大的Gini增益值,則讓子集[Slast+1=Lxq]和[Slast+2=Rxq]分別在節(jié)點(diǎn)[Llast+1]和[Llast+2]上執(zhí)行上述操作。當(dāng)節(jié)點(diǎn)中的可用屬性只剩下一個(gè)或子集[Sq]中所有元素都來(lái)自同一類時(shí)停止劃分,并將該節(jié)點(diǎn)標(biāo)記為葉子節(jié)點(diǎn)。此時(shí),若將葉子節(jié)點(diǎn)處各自數(shù)據(jù)目標(biāo)變量的均值或?qū)δ繕?biāo)變量擬合的線性方程作為預(yù)測(cè)結(jié)果返回,則可分別構(gòu)建出回歸樹(shù)預(yù)測(cè)模型與模型樹(shù)預(yù)測(cè)模型。本文就該兩種方法對(duì)降雨量預(yù)測(cè)性能作出了對(duì)比研究。
1.2 ?dsCART算法
在氣象信息系統(tǒng)中,往往需要利用最新收入的數(shù)據(jù)做天氣的實(shí)時(shí)預(yù)測(cè)。而傳統(tǒng)的預(yù)測(cè)天氣變化的算法一般只能對(duì)靜態(tài)數(shù)據(jù)進(jìn)行處理。而增量學(xué)習(xí)具有在不訪問(wèn)原有數(shù)據(jù)情況下,保留先前獲得的知識(shí)并學(xué)習(xí)新的信息的能力[12]。因此增量學(xué)習(xí)是處理這類問(wèn)題的一個(gè)有效手段。Leszek Rutkowski等人提出了一種可用于處理數(shù)據(jù)流問(wèn)題的dsCART算法,該算法具有增量學(xué)習(xí)能力。它需要解決的主要問(wèn)題是確定每個(gè)節(jié)點(diǎn)中的最佳劃分屬性,因?yàn)樵跀?shù)據(jù)流情況下,數(shù)據(jù)集樣本被認(rèn)為是無(wú)限大的,人們無(wú)法計(jì)算出無(wú)限數(shù)據(jù)集下的Gini增益值。因此,應(yīng)該從當(dāng)前節(jié)點(diǎn)的數(shù)據(jù)樣本中導(dǎo)出一個(gè)劃分屬性,該屬性需要滿足“它既是當(dāng)前節(jié)點(diǎn)中的較優(yōu)劃分屬性,同時(shí)也大概率會(huì)是整個(gè)數(shù)據(jù)流樣本中的較優(yōu)劃分屬性”這一條件。為解決該問(wèn)題,在dsCART算法中引入了一個(gè)約束參數(shù)θ,一個(gè)Gini增益約束函數(shù)[?G,K]。計(jì)算[Ai]每一個(gè)可能的劃分閾值[AiL]的Gini增益值[gq(AiL)],由[gq(AiL)]導(dǎo)出節(jié)點(diǎn)[Lq]處屬性[ai]的Gini增益值[giq],其中[giq=maxAiL∈Vi{gq(AiL)}],通過(guò)[giq]得出兩個(gè)候選劃分屬性[ax]與[ay]:
[ax=argmaxai∈mq{giq}] ? (10)
[ay=argmaxai∈mq\{ay}{giq}] ?(11)
式中,m是數(shù)據(jù)樣本中的屬性集合。確定候選劃分屬性后,分別計(jì)算Gini增益值[gxq]與[gyq],并計(jì)算其差值與[?G,K]的關(guān)系,其中[?G,K]的表達(dá)式如下:
[?G,K=z(1-α)2Q(K)n] ?(12)
[Q(K)=5K2-8K+4] (13)
式中:α是一個(gè)固定的概率;[z(1-α)]是標(biāo)準(zhǔn)正態(tài)分布N(0,1)的第1-α個(gè)分位點(diǎn);n是當(dāng)前考慮節(jié)點(diǎn)中所有數(shù)據(jù)樣本的個(gè)數(shù);K是類別數(shù)。如果[gxq-gyq>?G,K]或者[?G,K<θ],則表明屬性[ax]比[ay]更適合作為劃分屬性,反之亦然,Leszek Rutkowski等人在本文中給出了該定理的證明。當(dāng)確定好節(jié)點(diǎn)處的劃分屬性后,新的數(shù)據(jù)樣本加入到數(shù)據(jù)集中,原葉子節(jié)點(diǎn)中數(shù)據(jù)不再同屬一類時(shí),根據(jù)上述過(guò)程再對(duì)節(jié)點(diǎn)進(jìn)行劃分,并重新標(biāo)記葉子節(jié)點(diǎn)。由此即可生成一棵可用于數(shù)據(jù)流的決策樹(shù)。
1.3 ?粒子群算法
粒子群算法(Particle ?Swarm ?Optimization,PSO)是一種常用的參數(shù)優(yōu)化工具,是由Eberhart 和 Kennedy受到鳥(niǎo)類搜索食物活動(dòng)的啟發(fā)后建立的一個(gè)簡(jiǎn)化模型,其中,鳥(niǎo)群被抽象為一個(gè)“粒子群”,通過(guò)PSO算法,這些粒子被賦予一個(gè)初始的隨機(jī)解,包括隨機(jī)位置和速度。然后通過(guò)迭代讓粒子更新自己的位置與速度,直到迭代結(jié)束后便獲取到全局最優(yōu)解。將該模型延伸到D維目標(biāo)搜索空間,令粒子數(shù)為m,空間向量[Xi=(xi1,xi2,…,xiD)],[Vi=(vi1,vi2,…,viD)]分別代表第i個(gè)粒子的位置與速度,其中i=1,2,…,m。對(duì)粒子的位置與速度進(jìn)行迭代得到:
[vt+1id=w·vtid+c1·r1·(pid-xtid)+c2·r2·(pgd-xtid)] (14)
[xt+1id=xtid+vt+1id] (15)
式中:[pid=(pi1,pi2,…,piD)]是第i個(gè)粒子的最佳位置;[pgd=(pg1,pg2,…,pgD)]是群體的最佳位置;[xtid]與[vtid] 是在第t次迭代下第i個(gè)粒子的位置與速度;[c1],[c2],[r1],[r2] 是0~1內(nèi)的隨機(jī)數(shù);w是PSO算法的慣性權(quán)重[13]。
粒子群算法能夠處理連續(xù)優(yōu)化問(wèn)題,搜索速度快并且結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),因此可以將該算法用于CART算法模型中以提高降雨量預(yù)測(cè)的準(zhǔn)確性。
1.4 ?本文算法
文中,通過(guò)設(shè)定最小Gini增益值Gm讓算法判斷是否該進(jìn)行此次劃分,并設(shè)定葉節(jié)點(diǎn)處的最少樣本數(shù)Cm讓算法在合適的時(shí)機(jī)停止劃分工作,防止“過(guò)擬合”現(xiàn)象的發(fā)生。然而在數(shù)據(jù)流的情況下,Gm與Cm的最優(yōu)值也會(huì)隨著數(shù)據(jù)樣本的變化而改變,因此利用粒子群算法對(duì)原有的預(yù)測(cè)降雨算法進(jìn)行了改進(jìn),設(shè)迭代次數(shù)為gen,種群規(guī)模為NP,最佳位置為Pbest,初始位置和速度分別為[x0i],[v0i]。其優(yōu)化算法執(zhí)行流程如圖1所示。
同時(shí),根據(jù)dsCART算法的思想,在選擇劃分屬性時(shí)通過(guò)計(jì)算當(dāng)前節(jié)點(diǎn)[Lq]處的候選劃分屬性的Gini增益的差值大小來(lái)決定最終的劃分屬性,并對(duì)葉子節(jié)點(diǎn)的判定及標(biāo)記添加了更新程序,其改進(jìn)算法的具體執(zhí)行過(guò)程在圖2中給出。其中,[giq]是葉節(jié)點(diǎn)[Lq]處屬性[ai]的Gini增益值,[nkq]是葉節(jié)點(diǎn)[Lq]中屬于第k類樣本數(shù)的個(gè)數(shù),[nki,λ,q]是葉節(jié)點(diǎn)[Lq]處屬性[ai]值等于[aiλ]([aiλ∈Ai])的數(shù)據(jù)樣本中屬于第k類的樣本數(shù)的個(gè)數(shù)。
2 ?性能指標(biāo)
文中使用一些性能指標(biāo)來(lái)評(píng)價(jià)所構(gòu)建模型的好壞,這些指標(biāo)包括相關(guān)指數(shù)(R?Square)、均方根誤差(RMSE)和平均絕對(duì)誤差(MAE)。相關(guān)指數(shù)表征了預(yù)測(cè)值與實(shí)際值間擬合程度的高低;均方根誤差也被稱之為標(biāo)準(zhǔn)誤差,該值反映了預(yù)測(cè)值與實(shí)際值之間的偏差情況。
平均絕對(duì)誤差是將每個(gè)預(yù)測(cè)值與實(shí)際值的差值取絕對(duì)值再求和,再取均值后得到的,它避免了正負(fù)誤差相互抵消的問(wèn)題。該三個(gè)指標(biāo)的計(jì)算公式如下:
[R2=i=1N(yi-y)(pi-p)i=1N(yi-y)2·i=1N(pi-p)22] ?(16)
[RMSE=i=1N(yi-pi)2N] (17)
[MAE=1Ni=1Nyi-pi] ?(18)
式中:N代表樣本總數(shù);yi與pi(i=1,2,…,N)分別代表第i個(gè)樣本的實(shí)際值與預(yù)測(cè)值;[y]與[p]分別代表實(shí)際值與預(yù)測(cè)值的平均值。
3 ?實(shí)驗(yàn)結(jié)果及分析
3.1 ?數(shù)據(jù)選取及處理
為驗(yàn)證所提出模型的有效性,本文選取了杭州蕭山氣象站在2008—2018年間的部分降雨數(shù)據(jù)。屬性類別包括日期、氣壓、溫度、露點(diǎn)、相對(duì)濕度、日降雨量。獲取到數(shù)據(jù)后需要對(duì)數(shù)據(jù)樣本中的缺失值進(jìn)行填充,本文選擇用各氣象要素的中位數(shù)來(lái)代替要素中的缺失值。同時(shí),將數(shù)據(jù)樣本中對(duì)預(yù)測(cè)結(jié)果沒(méi)有影響的項(xiàng)剔除掉,再對(duì)各有效氣象要素進(jìn)行歸一化處理。最后,將氣壓、溫度、露點(diǎn)和相對(duì)濕度作為變量輸入到模型中,在葉節(jié)點(diǎn)處輸出降雨量的預(yù)測(cè)值。
3.2 ?回歸樹(shù)與模型樹(shù)預(yù)測(cè)結(jié)果對(duì)比
根據(jù)對(duì)葉節(jié)點(diǎn)處預(yù)測(cè)數(shù)值的分段常數(shù)估計(jì)和分段線性估計(jì)可分為回歸樹(shù)預(yù)測(cè)模型和模型樹(shù)預(yù)測(cè)模型。在本實(shí)驗(yàn)中通過(guò)對(duì)比在不同訓(xùn)練集數(shù)目?jī)煞N模型的相關(guān)指數(shù)、平均絕對(duì)誤差及均方根誤差的變化情況來(lái)選擇一個(gè)更適合預(yù)測(cè)降雨量的模型,并對(duì)該模型進(jìn)行進(jìn)一步的優(yōu)化。該兩種模型的實(shí)驗(yàn)結(jié)果如表1所示。當(dāng)訓(xùn)練集數(shù)目為1 800條時(shí),兩個(gè)模型的預(yù)測(cè)結(jié)果圖時(shí)比如圖3所示。
由表1和圖3可以看出,隨著訓(xùn)練集數(shù)目的增大,兩個(gè)模型的預(yù)測(cè)性能也在波動(dòng)性的上升,整體來(lái)看,回歸樹(shù)的預(yù)測(cè)性能優(yōu)于模型樹(shù),但模型樹(shù)受訓(xùn)練集數(shù)目變化的影響更小,其預(yù)測(cè)結(jié)果相對(duì)來(lái)說(shuō)更加穩(wěn)定。需要指出的是,此結(jié)果是在固定參數(shù)最小Gini增益值Gmin與葉節(jié)點(diǎn)最少樣本數(shù)Cmin的條件下得出的,可以看到,該參數(shù)值在數(shù)據(jù)樣本量為1 600和1 800時(shí)能取得較好的預(yù)測(cè)性能,而在小數(shù)據(jù)樣本量時(shí),隨訓(xùn)練集數(shù)目增加,模型的預(yù)測(cè)性能提升不大,這表明了該模型對(duì)參數(shù)Gmin與Cmin的值較為敏感。于是,本文利用粒子群算法對(duì)預(yù)測(cè)性能更好的回歸樹(shù)模型進(jìn)行了進(jìn)一步的優(yōu)化。
3.3 ?PSO?CART模型預(yù)測(cè)結(jié)果分析
利用PSO算法將上述回歸樹(shù)預(yù)測(cè)模型按照?qǐng)D1的流程進(jìn)行優(yōu)化后,得出了優(yōu)化后預(yù)測(cè)模型的性能指標(biāo)。圖4是在數(shù)據(jù)樣本量為1 800條時(shí)優(yōu)化前后兩個(gè)模型的預(yù)測(cè)結(jié)果對(duì)比圖。圖5、圖6是隨著數(shù)據(jù)樣本量變化,模型優(yōu)化前后的誤差變化情況。
由圖3、圖4可以看出,優(yōu)化后的模型預(yù)測(cè)結(jié)果與實(shí)際值擬合程度更高,相關(guān)指數(shù)、均方根誤差、平均絕對(duì)誤差整體上也都優(yōu)于優(yōu)化前的模型,且隨著參數(shù)Gmin與Cmin的調(diào)整,該模型在全局的表現(xiàn)也更加穩(wěn)定。由圖5可知,該模型的相關(guān)指數(shù)隨訓(xùn)練數(shù)據(jù)集數(shù)值增加,整體呈上升趨勢(shì),而誤差函數(shù)整體呈下降趨勢(shì),當(dāng)訓(xùn)練集到達(dá)1 800條時(shí),相關(guān)指數(shù)R?Square值到達(dá)0.65,平均絕對(duì)誤差下降為4.42,平均絕對(duì)誤差下降為7.02。實(shí)驗(yàn)結(jié)果表明,該優(yōu)化模型對(duì)實(shí)際值的擬合程度更高、誤差更小、更加穩(wěn)定,證明了該優(yōu)化方法的可行性。
同時(shí),將訓(xùn)練好的優(yōu)化模型按照表1的步驟對(duì)CART算法的執(zhí)行流程進(jìn)行調(diào)整之后,該模型便具有了處理數(shù)據(jù)流問(wèn)題的能力,整體而言,本文提出的優(yōu)化及改進(jìn)方法達(dá)到了預(yù)期效果。
4 ?結(jié) ?論
本文首先就回歸樹(shù)與模型樹(shù)兩種模型對(duì)降雨量預(yù)測(cè)的性能做出了對(duì)比。實(shí)驗(yàn)結(jié)果表明,模型樹(shù)的穩(wěn)定性更好,其受訓(xùn)練集樣本數(shù)量的影響較小,但整體的預(yù)測(cè)準(zhǔn)確度要差于回歸樹(shù);同時(shí)發(fā)現(xiàn)該算法對(duì)參數(shù)最小Gini增益值Gmin與最小葉節(jié)點(diǎn)樣本數(shù)Cmin的大小較為敏感,于是對(duì)性能表現(xiàn)相對(duì)更好的回歸樹(shù)模型進(jìn)行了優(yōu)化,通過(guò)PSO算法在二維目標(biāo)空間搜索參數(shù)Gmin與Cmin的全局最優(yōu)值。實(shí)驗(yàn)結(jié)果證明,優(yōu)化后的模型性能有了較為明顯的提升,且更加穩(wěn)定。最后,將優(yōu)化后的模型中CART算法選擇劃分屬性及生成、標(biāo)記葉子節(jié)點(diǎn)的過(guò)程做了調(diào)整,使其具有了增量學(xué)習(xí)的能力,大大提高了該算法模型在氣象信息系統(tǒng)中的實(shí)用性。
參考文獻(xiàn)
[1] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229?1251.
[2] GHIASSI M, FA′AL F, ABRISHAMCHI A. Large metropolitan water demand forcasting using DAN2, FTDNN, and KNN models: a case study of the city of Tehran, Iran [J]. Urban water journal, 2017, 14(6): 655?659.
[3] YANG Yi, CHEN Wenguang. Taiga: performance optimization of the C4.5 decision tree construction algorithm [J]. Tsinghua science and technology, 2016, 21(4): 415?425.
[4] STANGE R L, NETO J J. Applying adaptive technology in machine learning [J]. IEEE Latin America transactions, 2014, 12(7): 1298?1306.
[5] RUTKOWSKI Leszek, JAWORSKI Maciej, PIETRUCZUK Lena, et al. The CART decision tree for mining data streams [J]. Information sciences, 2014(4): 1?15.
[6] LIN C W, YANG L, FOURNIER?VIGER P, et al. A binary PSO approach to mine high?utility itemsets [J]. Soft computing, 2017, 21(17): 5103?5121.
[7] 王子京,劉毓.決策樹(shù)ID3新屬性選擇方法[J].現(xiàn)代電子技術(shù),2018,41(23):9?12.
[8] 苗煜飛,張霄宏.決策樹(shù)C4.5算法的優(yōu)化與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2015,5(13):255?258.
[9] 張亮,寧芊.CART決策樹(shù)的兩種改進(jìn)及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(5):1209?1213.
[10] LAKKAKULA N P, NAIDU M M, REDDY K K. An entropy based elegant decision tree classifier to predict precipitation [C]// 2013 7th Asia Modelling Symposium. Hong Kong, China: IEEE, 2015: 11?19.
[11] PRASAD N, NAIDU M. Gain ratio as attribute selection measure in elegant decision tree to predict precipitation [C]// 2013 8th EUROSIM Congress on Modelling and Simulation. Cardiff: IEEE, 2013: 141?150.
[12] HACENE G B, GRIPON V, FARRUGIA N, et al. Transfer incremental learning using data augmentation [J]. Applied sciences?basel, 2018, 8(12): 2512.
(上接第137頁(yè))
[13] CHEN X, TIANFIELD H, MEI C L, et al. Biogeography?based learning particle swarm optimization [J]. Soft computing, 2017, 21(24): 7519?7541.
[14] 羅麗娟,段隆振,段文影,等.C5.0算法的改進(jìn)及應(yīng)用[J].南昌大學(xué)學(xué)報(bào)(工科版),2017,39(1):92?97.
作者簡(jiǎn)介:李正方(1995—),男,四川巴中人,碩士研究生,研究方向?yàn)闅庀髷?shù)據(jù)分析與處理。
杜景林(1974—),男,河北承德人,博士,副教授,研究方向?yàn)橛?jì)算機(jī)軟件和氣象傳感網(wǎng)技術(shù)。
周 ?蕓(1993—),女,江蘇蘇州人,碩士研究生,研究方向?yàn)闅庀髷?shù)據(jù)分析與處理。