999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop的GA-BP算法在降水預測中的應用①

2019-09-24 06:21:10勾志竟任建玲
計算機系統應用 2019年9期
關鍵詞:實驗

勾志竟,任建玲,徐 梅,王 敏

(天津市氣象局 天津市氣象信息中心,天津 300074)

隨著科技的進步,極大的推動了氣象行業的信息化建設,氣象數據的獲取途徑越來越多,數據量急劇增長,且其具有的空間復雜性、高維性、不穩定性,使得傳統的基于數值計算和統計分析的方法不能有效的處理,在挖掘數據各要素之間的內部聯系時更為乏力,已經無法滿足人類對高效準確氣象服務的需求.而數據挖掘算法和Hadoop 等技術的出現,為從海量氣象數據中挖掘出潛在的規律和模式提供了新途徑,也為提高天氣預報準確率,做好災害的提前預警提供了新思路[1].

目前,已經有大量學者將數據挖掘算法應用到氣象領域.文獻[2]將SVM 方法應用于降水異常的分類預測中,并利用四川盆地降水數據進行了實驗,結果表明所建立的模型在短期氣候預測業務中有較好性能.文獻[3]采用Na?ve Bayes 算法對介休、運城、豐寧3 個站進行了降水概率分級預報,結果表明該方法可以通過降低數值模式空報率提高單站晴雨、小雨預報效果.文獻[4]選取濕度、溫度、大氣壓、風速等要素為降水因子,并采用決策樹算法對降水進行預報,實驗結果表明改進后的模型有較好的適應性.文獻[5]采用改進的Adaboost 算法集成反向傳播(BP)神經網絡組合分類模型,通過構造多個神經網絡分類器對江蘇境內6 個站點降水等級進行了預測,結果表明所提出的模型有較好的預測精度.但是這些模型所采用的都是較小的數據集,不適用于較大規模的數據集.隨著氣象預報精度、準度要求的提高,傳統的方法已經無法及時準確的處理海量數據.

本文針對以上不足,采用Hadoop 分布式系統處理海量數據,同時考慮BP 神經網絡收斂速度慢,容易陷入局部最小值的問題,結合遺傳算法全局搜索的優勢對BP 神經網絡進行改進,提出了在Hadoop 平臺上構建基于遺傳神經網絡算法的天氣預報方法,為海量氣象數據挖掘提供了一個可行的方案.

1 遺傳神經網絡算法設計

BP 神經網絡算法是大氣科學領域的氣候分析和氣候預測中應用比較廣泛的算法,能夠提供更好的預報能力[6-8].但BP 神經網絡算法收斂速度慢,容易陷入局部最小值,而遺傳算法(Genetic Algorithm,GA)是一種全局優化的搜索迭代算法,將其與BP 神經網絡結合,可以克服BP 神經網絡的缺點,加速網絡的訓練[9-10].本文首先利用GA 算法優化BP 神經網絡的連接權和網絡結構,并得到一群全局性較好的個體,在進一步利用BP 神經網絡得到最優解,然后解碼得到對應的BP 神經網絡連接權和網絡結構,最后輸入檢測樣本進行降水等級的預測.

1.1 編碼方式

編碼方式對算法的實現尤為重要,不同編碼方式決定了計算的復雜程度和網絡學習的精度,并且也影響到解空間的大小.本文采用了實數編碼,另外對隱含層節點增加了一個二進制碼用作控制基因,以確定隱含層節點對輸出層的影響關系,具體編碼方法舉例如圖1所示.

如圖1,隱含層第三個神經元沒有連接,即控制基因為:1 1 0 1,當為0 時,表示無連接,1 表示有連接.神經元輸入層到隱含層的權重系數矩陣,按照一定順序展開:0.3,0.2,0.7,0.6,0.4,0.3,0.1,0.9,0.6.隱含層神經元的閥值為:0.6,-0.3,0.5.隱含層到輸出層的權重系數為:0.5,0.3,0.7.輸出層神經元的閥值為:0.8.整個神經網絡的編碼為:1 1 0 1 0.3 0.2 0.7 0.6 0.4 0.3 0.1 0.9 0.6 0.6 -0.3 0.5 0.5 0.3 0.7 0.8.

圖1 編碼示意圖

染色體編碼基因由控制基因、輸入層到隱含層的權重系數、隱含層神經元的閥值、隱含層到輸出層的權重系數以及輸出層神經元的閥值依次組成,共h+m*h1+h1+h1+n位(其中h為隱含層節點數,m為輸入層節點數,h1為有效隱含層節點數,n為輸出層節點數目).

1.2 初始種群的生成

初始種群的生成,本文采用隨機數發生器隨機生成初始種群.

1.3 適應度函數的建立

假設輸出層的實際輸出結果為dj,期望輸出為yj,則誤差函數如下:

神經網絡的目標是網絡的期望輸出與實際輸出結果的誤差函數值最小,因此本文構造的適應度函數為:

1.4 選擇算子(selection operator)

選擇策略是對當前群體不同適應度個體進行優勝劣汰的過程,本文采用輪盤賭和最佳保留相結合的方法選擇個體.

1.5 交叉算子(crossover operator)

交叉算子是用根據選擇操作得到的兩個染色體個體,以一定的概率Pc按照一定的方式互換一些基因,從而得到子代染色體的過程.交叉概率越大,子代染色體更新的越快,然而就更容易破壞優良個體.交叉概率越小,算法的收斂速度越慢,通常Pc=0.5~1.0.為了盡量不破壞適應度值高的染色體個體,同時保證群體的多樣性,本文采用自適應的交叉率[11]公式如下:

其中,favg為平均適應度,fmax為群體中個體最大的適應度,f′為交換的兩個個體中適應度值大的個體.

本文在進行交叉操作時,把父代染色體對應基因位的染色體互換,即控制基因位與對應的控制基因位互換,權重系數基因位與對應的權重系數基因位互換,閥值基因位與閥值基因位互換.

1.6 變異算子(mutation operator)

變異操作是通過將染色體個體的編碼基因中某些位用其它等位基因代替,從而產生新的個體,通常Pm=0.001~0.05.本文采用自適應的變異率,公式如下:

其中,favg、fmax、f′見上文.

以Pm的概率對交叉操作以后的染色體進行變異,變異算子如下:

其中,Xtj是變異操作前的個體,Xtj+1是變異操作后的個體,cj是隨機數.

1.7 終止條件

本文設計的算法終止條件如下:

當算法運行到預先設定的最大的進化代數K0時,就終止算法,把得到的結果輸出.

1.8 算法框架

遺傳神經網絡算法具體步驟如下:

(1)確定解空間[12],對解空間進行編碼,每串編碼代表解空間的一個解.

(2) 在編碼的解空間中,隨機生成一個初始群體(不要求一定是可行解).

(3)對群體中的每一個個體進行適應度評價.

(4) 根據個體的適應度,對群體中的個體進行選擇、交叉、變異遺傳操作.

(5)生成新一代群體.

(6)反復進行(3)、(4)、(5),每進行一次,群體進化一代,直至進化了K0代(K0為預置的進化代數).

(7)從第K0代群體中選擇S可能具有全局性的進化解,選擇時要注意避免相似個體.

(8)分別以這些進化解為初始解,用神經網絡求解.

(9)比較S個由神經網絡求得的解,從而獲得問題的最優解,然后輸入檢測樣本進行預測.

遺傳神經網絡算法流程圖如圖2所示.

圖2 遺傳神經網絡算法流程圖

2 GA-BP 算法的并行化

Hadoop 下的MapReduce 是Google 公司提出的用于處理海量數據的分布式計算模型,其主要由兩個階段組成:Map和Reduce.Map 階段主要負責將輸入數據分為多個分片(split),并將每個split 交給一個Map Task,最終轉化為key/value 數據結構.Reduce 階段將Map 階段的結果進行歸約處理,輸出最終結果.降水數據規模較大,利用MapReuce 分布式計算的優勢,可以快速的完成對海量氣象數據的處理.

2.1 遺傳算法的并行化

GA 算法的并行思想:首先將整個群體分為m個種群,然后每一個種群在對應的Map Task 上獨立完成種群的初始化、選擇、交叉、變異等操作,達到收斂條件后,將Map 得到的最后個體傳遞給相對應的Reduce Task,然后將不同Reduce Task 得到的個體適應度進行比較,輸出適應度值最大的個體.

Map 函數偽代碼如下:

遺傳算法迭代完成后,得到的結果就是BP 神經網絡的初始的權值和閥值.

2.2 BP 神經網絡的并行化

神經網絡算法的并行思想:在Map 階段,根據遺傳算法輸出的最優解得到神經網絡的初始權值和閥值,然后把訓練樣本轉化為鍵值對作為輸入,對每個樣本進行迭代運算,計算誤差,并反向傳播誤差,輸出權值的改變量.在Reduce 階段,對Map 輸出的各個權值的改變量進行累加并求平均值,對權值進行更新.重復Map和Reduce 階段,直到算法收斂.

Map 函數偽代碼如下:

3 實驗結果及分析

3.1 實驗環境

實驗采用Hadoop 分布式集群[13],選取1 臺虛擬機作為NameNode 節點和JobTracker 服務節點,負責管理分布式數據和分解任務的執行,其它7 臺虛擬機作為DataNode和TaskTracker 服務節點,負責分布式存儲和任務執行.虛擬機各項配置及集群的配置信息分別如表1、表2所示.

表2 集群信息配置

由表2我們可以看出Hadoop 分布式集群在運行時需要一系列的后臺程序,主要有:

NameNode-負責管理文件系統的Namespace.

DataNode-負責管理各個存儲節點.

SecondaryNameNode-NameNode 的熱備,負責周期性的合并Namespace image和Edit log.

ResourceManager-負責調度資源.

NodeManager-負責管理slave 節點的資源.

3.2 實驗數據及預處理

實驗采用的數據來自于天津市地面氣候資料日值數據集,該數據集以天津市13 個站1951年~2006年各月的A0、D、A 文件為數據源,通過統計軟件處理轉換成日平均氣壓、日最高氣壓、日最低氣壓等氣象要素日值資料,如表3所示.

表3 天津市地面氣候資料日值數據集表

按照中國氣象局的劃分,將20-20 時降水量劃分為7 類,如表4所示,實驗中不考慮31XXX 降雪以及32XXX 霧露霜天氣.為使網絡有良好的收斂性和映射能力,消除原始數據形式不同所帶來的不利,通常的做法是歸一化處理,將原始目標、輸入數據轉換到區間內將數據歸一化到[0,1]之間.歸一化公式如下:

其中,xi為輸入數據,i為數據序號,xmax、xmin為x中的最大值和最小值.

表4 降水量等級分類標準

在實驗中,1951年~2005年的數據作為訓練數據,2006年的數據作為檢測數據.經過數據預處理后13 個臺站共計214 706 個樣,如表5所示.

表5 站點數據表

總體樣本降水等級分布如圖3所示,從圖3中不難看出13 個臺站無雨的樣本數最多,達到了80.32%,特大暴雨的樣本數最少,約1.85%.

3.3 降水因子選擇

天津市地面氣候資料日值數據集共包含了27 個要素,去除降水量還有24 個要素,而預測因子的選擇很大程度上影響了預測的結果,本文利用Pearson[14]相關系數法來考察各要素對降雨量的影響力,公式如下:

其中,x與y分別為2 個變量的觀測值.

圖3 總體樣本降水等級分布圖

若r>0,表示2 個變量是正相關的;若r<0,則表示2 個變量是負相關,n為樣本數量(本文選100 個樣本計算相關系數).其它要素與降雨量之間的相關性初步由Pearson 求出之后,還要經過顯著性檢驗再最后判斷.顯著性檢驗公式為:

分別計算平均氣溫、日最低氣溫、平均水汽壓等要素與降雨量的相關系數,如表6所示.

表6 各要素與降雨量之間的相關系數

表6中平均相對濕度、小型蒸發量及大型蒸發量與降雨量的相關性已通過0.01 顯著性檢驗,平均水氣壓、最小相對濕度、平均本站氣壓、日最高本站氣壓、日最低本站氣壓與降雨量的相關性已通過0.05 顯著性檢驗,最后結合氣象專家的意見,選取了平均氣溫、日最低氣溫、平均水汽壓、平均相對濕度、最小相對濕度、平均風速、最大風速、最大風速的風向、極大風速、極大風速的風向、日照時數這11 個要素作為預測因子.網絡結構為11-h-7 三層網絡,其中11 為輸入層的節點數目,即11 個預測因子作為網絡的輸入向量,h為隱含層的數目,h=3+a(a 為1~10之間的調節常數),7 為輸出層節點數目,即7 個降水等級,具體實驗參數設置參考文獻[15].

3.4 實驗結果分析

對13 個站06年降水等級預測結果如表7所示,由表7可以看出,本文提出的算法對整體樣本降水等級的預測準確度較高,達到了82.4%.

表7 06年降水等級預測結果

與傳統的BP 算法對比實驗結果如圖4所示,從圖中可以看出本文提出的遺傳神經網絡算法對所有降水等級的預測準確率都要優于傳統的BP 神經網絡算法,對無雨的預測準確度最高,約87%,而對特大暴雨的預測準確度最低,一方面是因為實驗樣本中無雨的樣本數量占總樣本數的80.32%,遠大于其它降水等級的樣本數,所建立的模型更準確,而特大暴雨樣本數量僅占總樣本數的1.85%,對模型的訓練不充分,另一方面是因為特大暴雨的成因很復雜,我們實驗僅僅選取了眾多因子中相關性較高的11 個因子,這是遠遠不夠的,實際情況要復雜的多,需要結合各種方法綜合預測才行.

為了檢測所提出方法的擴展性和高效性,分別在不同的節點數進行了實驗,運行時間結果如圖5所示,由圖5我們不難看出,隨著DataNode 節點數量的增加,算法的運行時間明顯縮短,說明本文提出的方法在Hadoop 平臺上有很高的運行效率和擴展性.

圖4 實驗結果對比圖

圖5 不同節點運行時間圖

4 結論與展望

本文基于Hadoop 大數據離線分析平臺構建了基于遺傳神經網絡算法的天氣預報方法,并以天津市13 個臺站1951~2006年的地面氣候資料日值數據為基礎,建立了遺傳神經網絡預測模型,最后以降雨量等級為決策屬性進行了實驗.結果表明:

1)本文提出的方法對降水等級的預測準確率優于傳統的BP 算法,整體預測準確率達到82.4%,其中對于等級R0的預測精度最高,高達87%.

2)該方法可以有效的處理海量氣象數據,同時具有很高的運行效率和良好的擴展性,為天氣預報提拱了一種全新的思路和方法.

本文的方法對降水因子僅考慮了相關性比較高的11 個因子,對特大暴雨預測準確率很低,還有一些方面需要進一步研究,比如可以結合T213 數值天氣預報,篩選出一些非常規的氣象要素來進行降水等級的預測,以及尋找更有效的算法來解決這個問題,這些方面都很有意義,值得在未來的研究中仔細鉆研.

猜你喜歡
實驗
我做了一項小實驗
記住“三個字”,寫好小實驗
我做了一項小實驗
我做了一項小實驗
記一次有趣的實驗
有趣的實驗
小主人報(2022年4期)2022-08-09 08:52:06
微型實驗里看“燃燒”
做個怪怪長實驗
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 9cao视频精品| 国产欧美日韩资源在线观看| 亚洲中文精品人人永久免费| 伊人欧美在线| 国产综合精品日本亚洲777| 自偷自拍三级全三级视频| 久久亚洲国产一区二区| 国产精品香蕉在线| 99视频在线免费| 色天天综合| 99精品一区二区免费视频| 巨熟乳波霸若妻中文观看免费| 91小视频版在线观看www| 伊人天堂网| 亚洲动漫h| 亚洲欧洲天堂色AV| 国产一在线观看| 亚洲h视频在线| 18禁黄无遮挡网站| 久久亚洲欧美综合| 国产精品不卡片视频免费观看| 国产欧美日韩精品第二区| 一本大道无码日韩精品影视| 久久毛片基地| 天堂网国产| 国产swag在线观看| 第一区免费在线观看| 久久99国产乱子伦精品免| 久久精品国产电影| 国产午夜人做人免费视频| 日韩人妻无码制服丝袜视频| 日本午夜视频在线观看| 欧美日韩国产在线播放| 国产亚洲精品97AA片在线播放| 日韩视频免费| 欧美国产精品不卡在线观看 | 欧美激情伊人| 人妻无码中文字幕一区二区三区| 91精品啪在线观看国产| igao国产精品| 在线看片中文字幕| 99精品一区二区免费视频| 99久久免费精品特色大片| 国产AV无码专区亚洲精品网站| 日韩中文字幕亚洲无线码| www.亚洲一区| 小蝌蚪亚洲精品国产| 亚洲无码久久久久| 精品无码专区亚洲| 国产成年女人特黄特色毛片免 | 四虎在线高清无码| 伊人久久大线影院首页| 欧美a网站| 伊在人亚洲香蕉精品播放 | 亚洲青涩在线| 中文字幕亚洲综久久2021| 91精品国产综合久久香蕉922| 国产va在线观看免费| 久夜色精品国产噜噜| 国产91蝌蚪窝| 久草青青在线视频| 国产激情国语对白普通话| 在线观看亚洲精品福利片| 91无码人妻精品一区二区蜜桃| 国产欧美日韩18| 国产精品亚洲一区二区三区在线观看| 欧美国产综合色视频| 91免费精品国偷自产在线在线| 亚洲精品国产成人7777| 久久精品亚洲中文字幕乱码| 老色鬼久久亚洲AV综合| 国产小视频在线高清播放| 国产精品免费久久久久影院无码| 青青青国产在线播放| 狠狠色丁香婷婷| 国产亚洲视频免费播放| 国内精品九九久久久精品 | 欧美另类视频一区二区三区| 国产高潮视频在线观看| 少妇精品网站| 国产主播在线一区| 欧美19综合中文字幕|