馬星河,婁晨陽,趙軍營,許 丹
(河南理工大學(xué)電氣工程與自動(dòng)化學(xué)院,焦作 454000)
空間負(fù)荷預(yù)測(cè)SLF(spatial load forecasting)[1]用來預(yù)測(cè)未來負(fù)荷量的變化規(guī)律,并且對(duì)未來負(fù)荷地理分布情況也可做相應(yīng)的預(yù)測(cè)。目前的SLF方法有很多種,包括趨勢(shì)分析法、負(fù)荷密度指標(biāo)法、用地仿真法等。用地仿真法是通過分析規(guī)劃區(qū)域土地利用變化的情況,預(yù)測(cè)規(guī)劃區(qū)域的未來土地利用類型,并在此基礎(chǔ)上將土地利用情況轉(zhuǎn)化成空間負(fù)荷,是SLF的常用方法。
土地使用決策是用地仿真方法的核心,傳統(tǒng)的用地仿真法通常依賴于專家的經(jīng)驗(yàn),得到的預(yù)測(cè)結(jié)果往往出現(xiàn)不同程度的偏差。近年來,國內(nèi)外學(xué)者在這方面上提出了很多新的方法。文獻(xiàn)[2-3]通過引入模糊邏輯技術(shù)用于用地仿真法的土地使用決策,隸屬函數(shù)的選取本身具有主觀因素。文獻(xiàn)[4-5]提出了一種基于模糊粗糙集理論的SLF,該方法建立的模型沒有解決數(shù)據(jù)在離散過程中本身帶來的不確定性,也沒有解決在小區(qū)用地評(píng)分時(shí)小區(qū)空間屬性泛化后概念的模糊性。文獻(xiàn)[6]提出將元胞自動(dòng)機(jī)理論應(yīng)用于SLF,由于獲取的數(shù)據(jù)工作量較大,很難實(shí)際操作。很多預(yù)測(cè)方法都是采用靜態(tài)決策規(guī)則應(yīng)用于未來年規(guī)劃區(qū)域用地類型的預(yù)測(cè),然而靜態(tài)決策規(guī)則只適合規(guī)劃區(qū)域近幾年的發(fā)展。
由于人工蜂群ABC(artificial bee colony)算法的設(shè)計(jì)思路遵循自下而上的原則,因此可以同其他模型結(jié)合構(gòu)建以提取土地利用變化的轉(zhuǎn)換規(guī)則。文獻(xiàn)[7]研究表明蜂群算法應(yīng)用于土地利用變化建模具有可行性,而且ABC算法模擬總體精度達(dá)到85%。因此,本文提出基于ABC算法的SLF,利用用地仿真法理論來預(yù)測(cè)規(guī)劃區(qū)域各小區(qū)的未來用地類型,定義各小區(qū)用地類型的屬性節(jié)點(diǎn)和類節(jié)點(diǎn)的連線為蜂群搜索路徑,確定蜂群初始參數(shù)以及適應(yīng)度函數(shù)的選取,從而預(yù)測(cè)未來年各用地類型的面積總量。
蜜蜂是社會(huì)化的昆蟲群體,無論身處什么樣的環(huán)境,蜜蜂群體能夠以較高的效率發(fā)現(xiàn)優(yōu)良的食物源。Karaboga等[8-9]于2005年提出了ABC算法及其改進(jìn)算法。ABC算法的基本思想為首先介紹蜜源,其代表解空間內(nèi)的各種可能解,適應(yīng)度函數(shù)值用來衡量蜜源;然后引入3種蜂,分別是采蜜蜂、觀察蜂(也叫跟隨蜂)、偵察蜂,采蜜蜂與所采的蜜源相對(duì)應(yīng),一個(gè)蜜源對(duì)應(yīng)一個(gè)采蜜蜂,采蜜蜂通過搖擺舞與其他蜜蜂分享信息,跟隨蜂守候在搖擺舞區(qū)通過分享采蜜蜂的信息去選擇蜜源,采蜜蜂不斷更新位置并選擇更好的蜜源,偵察蜂的任務(wù)是在蜂巢附近隨機(jī)搜索一個(gè)新位置。蜜蜂采蜜過程如圖1所示,其中S為偵察蜂;UF為觀察蜂;EF1為第1個(gè)采蜜蜂;EF2為第2個(gè)采蜜蜂;R為蜜蜂在沒有蜜源信息的前提下所走的路線。
ABC算法的主要步驟如下:
步驟1 蜂群的初始化;
步驟2 根據(jù)記憶在附近蜜源中采蜜蜂確定蜜源,并分享信息;
步驟3 根據(jù)記憶和信息,觀察蜂確定蜜源;
步驟4 偵察蜂至搜尋區(qū)以發(fā)現(xiàn)新的蜜源;
步驟5 保留目前最好的蜜源信息;
步驟6 重復(fù)步驟2~步驟5直到條件滿足。
圖1 蜜蜂采蜜過程Fig.1 Behavior of bees foraging for nectar
ABC算法是一種新的群體智能算法,易于并行實(shí)現(xiàn),該算法復(fù)雜度低,魯棒性強(qiáng),設(shè)定的參數(shù)較少,每次迭代都進(jìn)行全局和局部搜索,從而在較大程度上避免了局部最優(yōu),具有很強(qiáng)的全局收斂性。
基于ABC算法的用地類型動(dòng)態(tài)轉(zhuǎn)換規(guī)則的挖掘算法分成4個(gè)主要部分:轉(zhuǎn)換規(guī)則構(gòu)造、適應(yīng)度函數(shù)、轉(zhuǎn)換規(guī)則挖掘和規(guī)則修剪及樣本更新。
1.2.1 轉(zhuǎn)換規(guī)則構(gòu)造
轉(zhuǎn)換規(guī)則是根據(jù)規(guī)劃區(qū)域某個(gè)小區(qū)的當(dāng)前狀態(tài)及其鄰居狀況確定未來年該小區(qū)狀態(tài)的對(duì)應(yīng)關(guān)系,是從兩期土地利用變化情況作為訓(xùn)練樣本數(shù)據(jù)進(jìn)行挖掘得到的,因此利用邏輯語句“If…Then…”可以表達(dá)轉(zhuǎn)換規(guī)則。定義各小區(qū)用地類型的屬性節(jié)點(diǎn)和類節(jié)點(diǎn)的連線為蜂群搜索路徑,其中屬性節(jié)點(diǎn)的出現(xiàn)最多一次,而且類節(jié)點(diǎn)必須出現(xiàn)。如圖2所示,尋找一條最合適的路徑就相當(dāng)于找到最優(yōu)的轉(zhuǎn)換規(guī)則。初始時(shí)刻,蜂群隨機(jī)搜索一條規(guī)則,規(guī)則形式如下:
式中:term為屬性值;class為樣本數(shù)據(jù)中的預(yù)測(cè)類型。
圖2 ABC中轉(zhuǎn)換規(guī)則構(gòu)造對(duì)應(yīng)的路徑Fig.2 Paths corresponding to the construction of ABC transition rules
1.2.2 適應(yīng)度函數(shù)
轉(zhuǎn)換規(guī)則(采蜜蜂種群)的適應(yīng)度函數(shù)用來描述規(guī)則質(zhì)量的好壞,也就是蜜源的豐富程度。本文的適應(yīng)度函數(shù)可以表示為
式中:fit為轉(zhuǎn)換規(guī)則的質(zhì)量;TP為在樣本數(shù)據(jù)中屬性節(jié)點(diǎn)滿足規(guī)則,并且類節(jié)點(diǎn)和規(guī)則相同的樣本數(shù);FP為在樣本數(shù)據(jù)中屬性節(jié)點(diǎn)滿足規(guī)則,并且類節(jié)點(diǎn)和規(guī)則不相同的樣本數(shù);TN為在樣本數(shù)據(jù)中屬性節(jié)點(diǎn)不滿足規(guī)則,并且類節(jié)點(diǎn)和規(guī)則不相同的
樣本數(shù);FN為在樣本數(shù)據(jù)中屬性節(jié)點(diǎn)不滿足規(guī)則,
并且類節(jié)點(diǎn)和規(guī)則相同的樣本數(shù)。
1.2.3 轉(zhuǎn)換規(guī)則挖掘
轉(zhuǎn)換規(guī)則挖掘過程模仿了蜜蜂的采蜜行為,蜂群在樣本數(shù)據(jù)中能找到最優(yōu)的轉(zhuǎn)換規(guī)則。假設(shè)蜜蜂總數(shù)為Ns,其中采蜜蜂數(shù)量為Ne,觀察蜂數(shù)量為Nu(一般定義Ne=Nu),個(gè)體向量維度為D,S=RD為個(gè)體搜索空間,SNe為采蜜蜂種群空間。若Xi∈S(i≤ Ne)是 Ne個(gè)個(gè)體,X=(X1,X2,…,XNe)代表一個(gè)采蜜蜂種群,用X(0)表示初始采蜜蜂種群,X(n)表示第n代采蜜蜂種群,則轉(zhuǎn)換規(guī)則挖掘過程可做如下描述。
步驟1 初始時(shí)刻(n=0),所有蜜蜂都是偵察蜂,全局隨機(jī)搜索蜜源即是按式(1)格式隨機(jī)構(gòu)造Ns條轉(zhuǎn)換規(guī)則X=(X1,X2,…,XNe),根據(jù)蜜源情況得出的所有適應(yīng)度值fitNs(即轉(zhuǎn)換規(guī)則的質(zhì)量),將排名前一半的蜜源作為采蜜蜂種群X(0),并記錄采蜜蜂在同一蜜源位置停留的循環(huán)次數(shù)。隨機(jī)產(chǎn)生的轉(zhuǎn)換規(guī)則為
步驟2 第n只采蜜蜂X(n)在原來的蜜源位置附近上隨機(jī)尋找新蜜源(即尋找新的轉(zhuǎn)換規(guī)則),搜索公式可以表示為
步驟3 計(jì)算每只采蜜蜂找到新蜜源。Xnew,i的適應(yīng)度值 f(Xnew,i)和原來蜜源Xi的適應(yīng)度值f(Xi)(即新舊規(guī)則的質(zhì)量比較),若優(yōu)于原來的蜜源,用新的蜜源代替原來的蜜源,否則保留原來的蜜源,并更新采蜜蜂在原位置的連續(xù)停留次數(shù),采蜜蜂尋找的新蜜源Xnew,i代替原蜜源Xi的概率分布可表示為
式中,Ts為隨機(jī)映射,Ts:S2→S。
步驟4 每只觀察蜂根據(jù)概率Pi選擇要跟隨的采蜜蜂,并在其領(lǐng)域內(nèi)同采蜜蜂一樣尋找新的蜜源,計(jì)算其適應(yīng)度值,判斷是否保留蜜源,并更新蜜蜂連續(xù)停留次數(shù)。選擇概率可表示為
式中:fiti為第i個(gè)蜜源對(duì)應(yīng)的適應(yīng)度值;N為蜜源的總數(shù),n=1,2,…,N。
步驟5 同步驟2和步驟3,保存目前最好的蜜源,并記下其適應(yīng)度值以及相應(yīng)的參數(shù)。
步驟6 當(dāng)某只采蜜蜂在當(dāng)前蜜源的位置附近搜索次數(shù)Nbas超過一定閾值Nlimit時(shí)仍然沒有找到更好的位置,放棄當(dāng)前蜜源,轉(zhuǎn)換為偵察蜂,重新開始初始化該蜜源的位置,可表示為
式中:Xi(n)為偵察蜂尋找新的蜜源;Xmin、Xmax分別為在某維中的下界和上界;Nbasi為采蜜蜂在第i個(gè)蜜源的位置附近搜索的次數(shù)。
步驟7 若滿足停止準(zhǔn)則,則循環(huán)結(jié)束并保存目前最優(yōu)適應(yīng)度值及相應(yīng)的參數(shù),否則轉(zhuǎn)向步驟2。
1.2.4 規(guī)則修剪及樣本更新
根據(jù)搜索到的最優(yōu)適應(yīng)度值和對(duì)應(yīng)的蜜源位置得出一條轉(zhuǎn)換規(guī)則。為了避免規(guī)則對(duì)樣本數(shù)據(jù)的過度擬合,移除規(guī)則中一些對(duì)規(guī)則預(yù)測(cè)類型影響小的屬性,以便提高規(guī)則的質(zhì)量。因此對(duì)規(guī)則進(jìn)行修剪,基本思路為依次刪掉轉(zhuǎn)換規(guī)則的某種條件項(xiàng),若規(guī)則質(zhì)量提高,則刪除該條件項(xiàng),繼續(xù)刪除下一條件項(xiàng),否則將該條件項(xiàng)放回到規(guī)則中,直到任何一個(gè)條件項(xiàng)的刪掉都會(huì)降低規(guī)則的質(zhì)量為止。
轉(zhuǎn)換規(guī)則經(jīng)過修剪之后被保存到用地類型的轉(zhuǎn)換規(guī)則中,并移除在樣本數(shù)據(jù)中被當(dāng)前規(guī)則覆蓋的樣例,即刪除符合此規(guī)則的樣本例子,之后在被規(guī)則覆蓋后的樣本數(shù)據(jù)中搜索下一條轉(zhuǎn)換規(guī)則,直到所有的規(guī)則挖掘完畢。
空間負(fù)荷預(yù)測(cè)流程如圖3所示。按照SLF的要求,將要進(jìn)行負(fù)荷預(yù)測(cè)的區(qū)域劃分為各個(gè)小區(qū),每個(gè)小區(qū)有不同的用地類型,按照電力負(fù)荷分類可以劃分為工業(yè)、商業(yè)、居民和行政4類,每個(gè)用地類型有不同的負(fù)荷密度曲線,各類用地的未來負(fù)荷總量可由灰色理論、組合預(yù)測(cè)方法等常用方法進(jìn)行負(fù)荷預(yù)測(cè)[10-12]。
圖3 空間負(fù)荷預(yù)測(cè)流程Fig.3 Flow chart of spatial load forecasting
從空間數(shù)據(jù)庫中提取空間數(shù)據(jù),首先將規(guī)劃區(qū)域數(shù)字化后的地圖分為若干圖層,例如交通層、居民層、工業(yè)層、商業(yè)層、學(xué)校層等,從空間數(shù)據(jù)庫中選取空間信息包括:C1為與最近主干道的距離;C2為與市中心的距離;C3為與最近工業(yè)區(qū)的距離;C4為與最近商業(yè)區(qū)的距離;C5為與最近居民區(qū)的距離;C6為與最近學(xué)校的距離;C7為當(dāng)前的小區(qū)鄰居中與該小區(qū)用地類型相同的小區(qū)數(shù);D為小區(qū)的土地利用類型。
在空間數(shù)據(jù)庫中提取相關(guān)的數(shù)據(jù)之后,利用上述數(shù)據(jù)可生成一個(gè)用于訓(xùn)練的樣本數(shù)據(jù)表。不同的城市規(guī)模大小不同,發(fā)展程度不同,空間屬性數(shù)據(jù)也不相同,所取的離散區(qū)間往往不同。故在進(jìn)行數(shù)據(jù)挖掘前需要將條件屬性進(jìn)行離散化。
將在樣本數(shù)據(jù)中連續(xù)的距離屬性模糊離散化為定性的屬性值,按當(dāng)?shù)厝嗽谌粘I钪袑?duì)距離遠(yuǎn)近的理解方式將屬性值離散化為“近”、“中”和“遠(yuǎn)”,分別用1、2、3代表;土地分類屬性D按用地類型分為工業(yè)、商業(yè)、居民和行政,分別用1、2、3、4代表。通過數(shù)據(jù)離散化,最終建立一個(gè)適合于蜂群算法挖掘規(guī)則的樣本數(shù)據(jù)表。
轉(zhuǎn)換規(guī)則將從兩期土地利用變化情況中用ABC算法挖掘出來,具體挖掘過程在第2.2節(jié)詳細(xì)敘述過。利用Matlab R2012a按照ABC算法挖掘用地類型轉(zhuǎn)換規(guī)則進(jìn)行編程序。該算法的程序流程如圖4所示。其中,Niter為搜索到最好蜜源的迭代次數(shù),NC_max為最大迭代次數(shù)。
圖4 ABC算法挖掘轉(zhuǎn)換規(guī)則的流程Fig.4 Flow chart of transition rules mined by ABC algorithm
規(guī)劃區(qū)域某一小區(qū)的負(fù)荷預(yù)測(cè)值是通過該小區(qū)土地使用面積的預(yù)測(cè)值乘以其負(fù)荷密度得到的,由于各用地類型的負(fù)荷通常不是在同一時(shí)刻出現(xiàn),規(guī)劃區(qū)域的負(fù)荷總量總是小于各個(gè)小區(qū)的負(fù)荷之和,因此計(jì)算規(guī)劃區(qū)域負(fù)荷總量時(shí)需考慮同時(shí)率。
本文將2010年某市規(guī)劃區(qū)作為研究對(duì)象,預(yù)測(cè)區(qū)域面積為8 km2。采用正方形網(wǎng)絡(luò)劃分方法,劃分為300個(gè)200 m×200 m的小區(qū)。通過空間數(shù)據(jù)庫對(duì)其提取相關(guān)的空間信息,并對(duì)其條件屬性進(jìn)行離散化,建立規(guī)劃區(qū)域的樣本數(shù)據(jù)表,如表1所示,其中S為小區(qū)的總數(shù)。
表1 規(guī)劃區(qū)域的樣本數(shù)據(jù)表Tab.1 Sample data sheet for planning area
以2010年為基期年,以2015年為預(yù)測(cè)目標(biāo)年,用ABC算法從2010年、2012年兩期土地利用變化數(shù)據(jù)中將轉(zhuǎn)換規(guī)則挖掘出來。在Matlab R2012a環(huán)境下實(shí)現(xiàn)ABC算法對(duì)土地利用變化情況作為訓(xùn)練樣本數(shù)據(jù)進(jìn)行轉(zhuǎn)換規(guī)則挖掘。經(jīng)過多次試驗(yàn),設(shè)定蜂群參數(shù):蜂群總數(shù)為20,采蜜蜂規(guī)模為10,最大迭代次數(shù)100次;局部搜索優(yōu)化值不變次數(shù)限制為10次,所得到部分轉(zhuǎn)換規(guī)則如下。
規(guī)則1:
IfC1=1 andC2=3 andC4=3
Then D=1,F(xiàn)itness=0.75
規(guī)則2:
IfC1=2 andC2=1 andC5=1
Then D=2,F(xiàn)itness=0.67
規(guī)則3:
IfC1=2 andC3=3 andC7≥2
Then D=3,F(xiàn)itness=0.44
規(guī)則4:
IfC1=1 andC3=3 andC6=3
Then D=4,F(xiàn)itness=0.56
…
將獲得的轉(zhuǎn)換規(guī)則對(duì)規(guī)劃區(qū)域的樣本數(shù)據(jù)進(jìn)行用地分類,即可得到未來年各用地類型的面積總量。按照文獻(xiàn)[9-10]所說的方法對(duì)各類用地類型的未來負(fù)荷增長總量進(jìn)行預(yù)測(cè),得到了各類負(fù)荷的負(fù)荷密度曲線。2015年預(yù)測(cè)結(jié)果見表2。
表2 2015年預(yù)測(cè)結(jié)果Tab.2 Forecasting result for 2015
為了驗(yàn)證基于蜂群算法的SLF的有效性,本文將該模型得到預(yù)測(cè)結(jié)果與實(shí)際結(jié)果進(jìn)行對(duì)比,得到了2015年的分類負(fù)荷密度相對(duì)誤差[1],工業(yè)、商業(yè)、居民和行政的預(yù)測(cè)誤差分別是2.33%、3.10%、2.02%和0.15%,且更接近實(shí)際的負(fù)荷空間分布情況,說明該方法是有效的。
將本文提出的方法所得到分類負(fù)荷預(yù)測(cè)與文獻(xiàn)[13]提出的方法進(jìn)行對(duì)比,2015年負(fù)荷預(yù)測(cè)結(jié)果對(duì)比見表3。證明本文所提方法比粗糙集和元胞自動(dòng)機(jī)的方法所得分類負(fù)荷預(yù)測(cè)精確度更高。
由于城市的發(fā)展,轉(zhuǎn)換規(guī)則只適合規(guī)劃區(qū)域幾年的發(fā)展,幾年以后,轉(zhuǎn)換規(guī)則可能不再適用。因此,轉(zhuǎn)換規(guī)則需要不斷地調(diào)整,為了預(yù)測(cè)2020年規(guī)劃區(qū)域的小區(qū)未來利用類型,可以把2010年作為基期年,2020作為目標(biāo)年,而轉(zhuǎn)換規(guī)則從2010年、2015年兩期土地利用變化情況中挖掘出來。表4為2020年預(yù)測(cè)結(jié)果,圖5為2015年與2020年各類用地類型的負(fù)荷預(yù)測(cè)結(jié)果。通過對(duì)比,該規(guī)劃區(qū)域居民用地類型的發(fā)展可能性最大,周圍可能出現(xiàn)部分商業(yè),相反,工業(yè)用地類型的發(fā)展可能性最小。
表3 2015年負(fù)荷預(yù)測(cè)結(jié)果對(duì)比Tab.3 Comparison of load forecasting results for 2015
表4 2020年預(yù)測(cè)結(jié)果Tab.4 Forecasting results for 2020
圖5 各用地類型的負(fù)荷預(yù)測(cè)值Fig.5 Load forecast result of each land-usage type
基于ABC算法的SLF方法,結(jié)合了用地仿真法和蜂群算法的優(yōu)點(diǎn),有效地解決了以往預(yù)測(cè)過程中應(yīng)用于規(guī)劃區(qū)域發(fā)展的靜態(tài)規(guī)則帶來的問題,提高了空間負(fù)荷預(yù)測(cè)精度。本文根據(jù)規(guī)劃區(qū)域用地類型的發(fā)展情況,在ABC算法原理的基礎(chǔ)上,構(gòu)造了用地類型轉(zhuǎn)換規(guī)則的挖掘算法,確定蜂群參數(shù),從而進(jìn)一步提高用地類型的分類精度。