白 雪,朱紅康,吳 瑞
(山西師范大學 數學與計算機科學學院,山西 臨汾 041099)
大氣環境受到多種氣象要素(風速、相對濕度、氣溫、氣壓、云量、降水量等)的綜合作用,隨著季節、時段、地理位置的改變,一個氣象要素的變化會直接或間接地影響著其他一個或多個氣象要素的變化。近來,許多學者研究發現氣象要素的變化與全球災害如干旱、山洪,人類疾病如哮喘[1]、過敏[2]、季節性流感[3]和登革熱[4]等的發作和冬季供暖[5]和PM2.5[6]等造成的大氣污染息息相關。因此研究氣象要素間的相關性是一項重要的預防措施。目前氣象要素相關性主要依靠站點檢測和分析,為氣象要素的預測提供數據支持。然而,氣象要素之間的影響過程錯綜復雜,包含多種物理或化學變化過程,目前的氣象模式也難以準確地描述大氣中各種氣象要素的相互變化關系,因此難以對其定性和定量計算進行預測。目前,用于研究氣象要素的方法分為以下幾類:數學模型和機器學習方法。錢悅等人利用基于后向軌跡HYSPLIT模型和潛在源解析PSCF對江西省(贛州市)臭氧污染特征與氣象因子的關系進行了分析[7]。尹曉梅等人利用后向軌跡及WRF-CAMx模式針對氣象要素及污染物濃度進行了特征分析,得到了供暖結束前后的污染物演變規律[8]。上述是基于現有數學模型的研究方法,在氣象要素的分析研究中,機器學習的算法應用得越來越廣泛,在預測方面表現出巨大的潛力。隨著科學技術的發展,機器學習算法之一的神經網絡已成為許多領域進行預測的強大工具。黃建風等人利用小波-NAR神經網絡技術,提出氣象要素的時間序列預測原理與方法[9],劉洋等人研究了降雨及其多種相關參數(PWV,溫度,相對濕度,露點溫度,年積日,日積時)間的時變特征,并構建了基于徑向基(radial basis function,RBF)神經網絡的短期降雨預測模型[10]。Peng Zhen等人提出一種PS-FCM模型并將其挖掘方法應用于霧霾污染因果挖掘和預測[11]。
基于氣象要素的監測數據,采用智能算法進行分析,建立預測模型,已成為新的研究方向之一。然而采用現有數學模型進行分析模擬需要考慮本地化,設置相應的參數化方案。而且WRF都是中尺度模式,對于小尺度的模擬不夠精確,所以模擬出來的分辨率還比較粗[12]。而神經網絡獨有的黑匣子特性,導致無法解釋其預測機理,隨著模型預測規模的增加,誤差也隨之增加。
由于氣象要素之間彼此制約的特點符合模糊認知圖的運行機制,故該文將FCM應用于氣象預測領域,提出一種基于FCM的氣象要素相關性模型。首先以相鄰氣象監測點的以時間為序列的數據集作為研究對象,對歷史數據通過相關分析法獲得影響權重,構建關系矩陣,進而建立氣象要素相關性模型進行研究,可對未來的氣象要素進行較為準確地推算。
模糊認知圖(fuzzy cognitive map,FCM)由節點和加權弧(連接,邊)組成,它們以圖形形式顯示為帶可選反饋環的帶符號加權圖。圖上的節點表示描述系統行為特征的概念。概念可以是系統的輸入、輸出、變量、狀態、事件、動作、目標和趨勢[13]。帶符號的加權弧表示概念之間存在的因果關系。模糊認知圖的推理使用一種源于神經網絡的方法,可以迭代計算因子對彼此的影響。網絡穩定之后,結果顯示系統內的趨勢。由于模糊認知圖允許反饋循環,新激活的概念可能會影響以前已經激活的概念,最后,激活通過非線性的方式通過模糊認知圖傳播,直到系統達到一個穩定的極限環或者不動點[14]。
圖1說明了一個簡單的FCM,由六個概念l=1,2,…,6組成。這六個要素作為概念節點集合C,C={C1,C2,C3,C4,C5,C6},同時也定義了各要素之間的關系權值矩陣W,如公式(1)所示,權重表示概念之間的因果關系。
C1C2C3C4C5C6
(1)
Kosko[15]提出了一規則,根據相互關聯的概念的影響來計算每個概念的值,其中下列函數被歸一化到區間[-1,1]:
(2)
由于氣象模式的不確定性和氣象要素之間相互影響的特點,將模糊認知圖應用到氣象背景中,研究氣象要素間的關系。
利用FCM可以動態地衡量時間序列中概念的前一時刻對后一時刻的影響程度的特性,本節將FCM引入氣象要素的相關性建模中,建立一個氣象要素相關性模型,將氣象要素作為概念,要素之間的相關系數作為加權弧,通過FCM體現要素和要素之間的相關性。
構建的模糊認知圖如圖2所示。以九個氣象要素l=1,2,…,9作為概念節點集合C,C={C1,C2,…,C9}。將節點之間的關系表示為矩陣Wl,如公式(3)所示,節點之間的關系作為有向連線,ωij表示要素和要素之間的相關性,其中ωij為正表示節點之間是正相關,為負則表示節點之間是負相關。ωij根據公式(3)其初始關系權值可以算出。
(3)

(4)
(5)
(6)
wij是要素i和j之間的相關系數,表示氣象要素之間的相關程度,處于[-1,1]之間。wij>0,表示要素對要素有促進作用;wij<0,表示要素對要素有減弱作用;wij的絕對值越接近于1,表示要素i和要素j之間的關系越密切,wij的絕對值越接近于0,表示兩要素無關。在該模型中,l=9,即共有9個概念節點,對于氣壓(P)和露點溫度(Td)這兩個要素來說,它們之間的相關性可以表示為:
(7)
由于模糊認知圖屬于神經網絡的一種,且之前受到專家領域的知識、經驗和個人主觀性的干擾,使得得出的結果缺乏一定的客觀性。鑒于這個缺點,該文采用基于數據驅動的實數編碼的遺傳算法通過時間序列歷史數據構成模糊認知圖。
遺傳算法包括選擇、交叉、變異三個步驟,適應度fitness低的個體會被逐步淘汰,而適應度高的個體會越來越多,經過多代的自然選擇后,保存下來的個體都是適應度很高的[13]。err表示適應度函數中預測值和真實值的均方誤差。
(8)
(9)
式中,N為模糊認知圖中概念節點的個數,即衡量個體的指標數,L為模糊認知圖中每個概念節點的原始數據的個數,即個體的個數。
利用模糊認知圖對時間序列數據進行預測,該文采用一步領先預測的方法,即根據上一時刻的數據對下一時刻的數據進行預測的方法。即根據T-1時刻的數據預測T時刻的數據。
(10)
f(·)表示激活函數,數據進行完一次迭代以后通過激活函數,其輸出值即為預測值。激活函數可以將非線性因素引入到模糊認知圖的計算當中,使得模糊認知圖可以逼近非線性函數,這樣模糊認知圖可以應用到眾多的非線性模型中。模糊認知圖的結構源于神經網絡,因此激活函數也與神經網絡的激活函數一脈同源,在此采用Tanh函數作為激活函數。
(11)
構建模糊認知圖之前,先將數據集分為兩部分。將一年中每個季節的70%數據作為訓練集,將剩下的每個季節的數據作為測試集。
關系權值的優化流程如下:
(1)編碼:將九個要素對自身的關系權值設置為1,要素的關系矩陣對應81個權值。需要將位于1和-1之間的81個權值進行實數編碼,W在遺傳算法中稱作染色體,Wj= {w11,w12,…,w99}。
(2)初始化種群:構建過程中已經通過歷史數據使用相關分析法確定了j個適應值較大的染色體Wj(j=1,2,3,4)作為初始種群。
(3)適應度計算:按照公式(8)計算種群中每條染色體的適應度。
(4)選擇:通過處理歷史數據得到了最優染色體,此步驟將精簡得出的每條染色體保留并參與交叉和變異操作,直接插入到新種群pop中。
(5)交叉:實驗中設置交叉率參數Pc。該步驟的操作對象是實數數串Wj,任選數串中的一個數據位置作為交叉點。例如染色體W1,若選中染色體中第三個元素w13作為交叉點,則這條染色體第三個元素與其之后的第九個元素相互交換,構成新的一條染色體參與下一步的變異操作。每次交叉之前,生成一個0到1的隨機數,若該隨機數大于Pc則進行本步操作,否則不進行。
(6)變異:設置變異率參數Pt,在變異之前產生一個0到1的隨機數,如果該隨機數大于Pt,則進行變異,否則不變異,變異時隨機產生染色體中的位置,其值按照公式(12)進行修改,其中r為0到1之間的任意浮點數,MaxPerturbation為最大變異步長[14]。
(7)迭代:重復執行第3到第6步,將變異后的新染色體插入到種群pop中,直到達到種群上限或者適應度基本不變為止。
w=w+(r-1.0)×MaxPerturbation
(12)
關系權值優化的偽代碼如下:
算法1:用實數編碼遺傳算法構建模糊認知圖。
輸入:訓練集,初始化的權值矩陣,交叉概率Pc,變異概率Mt,最大迭代代數T,最大變異步長MaxPerturbation
輸出:最佳權值矩陣。
1. while i 2.保存該種群中染色體的適應度 3.將此染色體插入下一代種群popj 4. while n 5.對此個體按交叉概率Pc執行交叉操作 6.對此個體按變異概率Mt執行變異操作 7.這個新染色體插入下一代種群popj 8. end while 9. i++ 10. end while 通過上述步驟構建出了基于模糊認知圖的氣象要素相關性模型,首先應用相關分析法將關系矩陣初始化,然后對初始化后的權值矩陣通過遺傳算法進行優化。 實驗選取的是某市2018年末和2019年兩個氣象監測站點共24個點位的監測數據,觀測了逐日逐時的地表溫度(Dmt)、能見度(N)、本站氣壓(P)、降水量(R)、相對濕度(RH)、溫度(T)、露點溫度(Td)、風速(V)和云量(Y)九個氣象要素數據。根據氣溫的起伏變化將實驗數據分為四季,2018年12月到來年2月為冬季,3月到5月為春季,6月到8月為夏季,9月到11月為秋季。通過相關性分析與合并處理,最終得到樂山市一年中四個季節不同氣象要素的相關系數。表1為3月份的部分數據。 表1 春季的部分氣象數據 由上述表1和圖3可知,各個要素的取值范圍存在較大差距,因此在使用數據的時候需將數據進行預處理。 數據預處理包括兩個步驟: (1)除了降水量R這一指標外,對每個因素每天的24個點位的數據取平均值,對降水量R的24個數據求和,其結果作為當日的數據結果。 (2)由于站點數據的差異較大,因此對參與模型構建的數據進行標準化處理,將上一步處理好的數據壓縮到0和1之間,這里采用公式(13)最大最小值法標準化數據結果。 (13) 以平均值為代表的春季的數據值歸一化后的部分如表2所示。 表2 春季數據的歸一化值 FCM中的權重矩陣可以用來分析因果關系和推斷預測結果。首先運用氣象學中常用的相關分析法初始化權重矩陣。圖4為春季的初始化權重矩陣。 由于利用相關分析法得到的關系矩陣的適應度還存在改進的空間,利用公式(8)~公式(12)對矩陣不斷交叉變異,在迭代10 000次優化之后,將最大適應值的權重矩陣保存下來。經過實驗發現不同的變異步長,得到的實驗結果不盡相同,下面列舉了五個不同的步長所產生的不同的適應值。圖5為適應值隨變異步長r的變化趨勢。 表3 不同步長對應春季關系矩陣的適應值 觀察圖5和表3發現,當步長r取0.01時,適應值最高,則實驗中的步長r即取0.01。在迭代10 000次優化之后,得到的關系矩陣的適應值達到0.937 4,較第一次的0.9的適應值有了較大改進,說明了遺傳算法的合理性。 根據前文所述,將優化后的關系矩陣帶入模型,對氣象要素值進行預測,并計算其預測值與實際值之間的絕對誤差和相對誤差,最后根據相對誤差來評價所構建模型的預測精度。絕對誤差e(t,i)和平均相對誤差Average(e(t,i))的計算公式如下: (14) (15) 進行了如前文所述的實驗,四個季節利用建好的模型得出的預測值與實際值之間的誤差值如表4所示。 表4 實驗得出的四個季節的適應值和誤差 通過表5可以看出,該模型得到的預測值與實際值之間的誤差均小于0.1,適應值均大于0.9,模型具有合理性。 表5 實驗結果 通過利用模糊認知圖對氣象要素相關性進行分析建模,使得數據能進入模糊認知圖中進行迭代,通過相關分析法對歷史數據進行分析得到初始權重矩陣,通過遺傳算法對初始權重矩陣數次優化,最后使模糊認知圖迭代到一個穩定不動的平衡點后對氣象要素進行預測。 實驗表明,使用基于模糊認知圖和遺傳算法的優化模型進行氣象要素相關性分析和要素預測具有可行性,將促進氣象事業的進一步發展。但是該文只考慮了2019年的數據作為訓練集和測試集,數據量不夠大,同時對比方法不足。下一步考慮使用更多的歷史數據,并使用其他方法以此構建精度更高,對比更明顯的預測模型。3 實例與實驗分析
3.1 數據的收集與處理


3.2 關系矩陣的構建

3.3 預測與誤差

3.4 實驗結果對比

4 結束語