鄭茂波 孟佳俊 魯越
摘? 要:基于天氣數(shù)據(jù)進行空氣質(zhì)量預測,首先收集成都市A區(qū)2018年4月1日到2018年6月3日64天24個天氣屬性,然后對天氣屬性進行篩選、數(shù)據(jù)處理;接著,建立KNN分類模型,利用k折交叉驗證和多數(shù)表決原則對64個樣本進行分類;最后在傳統(tǒng)KNN分類模型的基礎上,使用反距離加權(quán)建模,結(jié)果表明模型有較好的泛化能力和預測效果。
關(guān)鍵詞:天氣數(shù)據(jù);空氣質(zhì)量;k折交叉驗證;反距離加權(quán);KNN算法
中圖分類號:X823 文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)34-0037-03
Abstract: This paper forecasts air quality based on weather data. 24 weather attributes from April 1, 2018 to June 3, 2018 are collected from April 1, 2018 to June 3, 2018. Then, the KNN classification model is established, and 64 samples are classified by k fold cross verification and majority voting principle. Finally, on the basis of the traditional KNN classification model, the model is established by inverse distance weighting, and the results show that the model has good generalization ability and prediction effect.
Keywords: weather data; air quality; k fold cross verification; inverse distance weighting; KNN algorithm
引言
近年來,由于能源消耗的不斷增加,空氣污染日益加劇,空氣質(zhì)量問題已經(jīng)嚴重影響到人們的正常生活,各種呼吸道疾病頻發(fā)??諝馕廴静粌H對人類的身體健康造成了極大的損害,還對生態(tài)環(huán)境造成了嚴重的負面影響。2018年7月,國務院頒布了《打贏藍天保衛(wèi)戰(zhàn)三年行動計劃》,明確四個“明顯”主要任務:明顯降低細顆粒物(PM2.5)濃度、明顯減少重污染天數(shù)、明顯改善空氣質(zhì)量和明顯增強人民的藍天幸福感。因此,進行空氣質(zhì)量預測,為當?shù)卣皶r提供信息,避免嚴重空氣污染事故的發(fā)生是很有必要的[1]。
針對大氣質(zhì)量的計量分析和預測,劉杰等[2]提出應用支持向量機和模糊?;瘯r間序列相結(jié)合的方法,對PM2.5質(zhì)量濃度未來變化趨勢和范圍進行預測;楊錦偉等[3]基于馬爾科夫模型建立了空氣污染物濃度預測模型;陸志濤等[4]基于RAM擴展模型構(gòu)建了評估空氣質(zhì)量狀況的空氣質(zhì)量指數(shù)以及評估空氣質(zhì)量提升空間的空氣質(zhì)量發(fā)展指數(shù),并將其應用于我國城市空氣質(zhì)量的評價研究;賀金龍等[5]運用灰色系統(tǒng)理論建立污染物GM(1,1)預測模型,實現(xiàn)了對北京市環(huán)境污染情況的預測;姜孿娟等[6]以江蘇省為例,提出一種基于BP神經(jīng)網(wǎng)絡的空氣污染預測模型。
綜合上述文獻可以看出,學者們從不同的角度,采用不同的方法,對大氣環(huán)境進行評價。本文將傳統(tǒng)KNN分類算法進行改進,對成都市A區(qū)2018年64個樣本進行反距離加權(quán)、采用循環(huán)尋找最佳的K,并利用14個天氣屬性數(shù)據(jù)值進行空氣質(zhì)量的預測。
1 數(shù)據(jù)來源及處理
1.1 天氣數(shù)據(jù)
從中國氣象數(shù)據(jù)網(wǎng)(http://data.cma.cn/site/index.html)獲得成都市A區(qū)2018年4月1日到2018年6月3日每天的天氣數(shù)據(jù),共64組樣本數(shù)據(jù),每組樣本數(shù)據(jù)包含24個屬性。
1.2 空氣質(zhì)量數(shù)據(jù)
從成都市環(huán)境空氣質(zhì)量發(fā)布系統(tǒng)(http://182.150.31.86:9875/Default.aspx)公開獲取對應時間的空氣質(zhì)量指數(shù)(AQI),根據(jù)環(huán)境空氣質(zhì)量指數(shù)(AQI)技術(shù)規(guī)定(試行)的標準[7],對應不同的空氣質(zhì)量類別,如表1所示。
表1 空氣質(zhì)量指數(shù)
1.3 數(shù)據(jù)處理
1.3.1 數(shù)據(jù)篩選
去掉天氣數(shù)據(jù)的24個屬性中跟空氣質(zhì)量關(guān)系不大和主觀的定性的屬性數(shù)據(jù),即去掉現(xiàn)在天氣、風力、體感溫度、水平能見度、總云量、云量、低云量、2分鐘平均風向(角度)、最大風速的風向、極大風速的風向共10個屬性。
1.3.2 數(shù)據(jù)整理
獲取的天氣數(shù)據(jù)都是以小時為單位,而空氣質(zhì)量數(shù)據(jù)(AQI)是以天為單位,所以先要對天氣數(shù)據(jù)進行處理,對余下的14個不同屬性數(shù)據(jù)采用了以下方法:
(1)取累加和:降水量
(2)取最大值:最高氣溫、最高氣壓、最大風速、極大風速
(3)取最小值:最低氣溫、最低氣壓、最小相對濕度
(4)取平均值:氣壓、海平面氣壓、溫度、2分鐘平均風速、相對濕度、水汽壓
2 KNN模型
2.1 KNN模型原理
KNN算法的基本原理是通過選取K個離測試點最近的訓練樣本點,并輸出這K個樣本點中數(shù)量最多的樣本標簽即多數(shù)表決原則,從而得到測試點的類別。
假設每一個訓練樣本有n個特征值,那么每一個樣本都可以用一個n維行向量表示:X(x1,x2...xn),樣本點的每一個樣本所屬的類別均已知,同樣,每一個測試點樣本也可以表示為:Y=(y1,y2...yn),要實現(xiàn)KNN算法,需要計算出每一個樣本點到測試點的距離,然后選取距離最近的K個樣本,獲取K個樣本中每一個樣本的類別標簽,再找出K個樣本中數(shù)量最多的標簽即多數(shù)表決原則,最后返回該標簽并獲得最后測試樣本類別結(jié)果。
2.2 數(shù)據(jù)標準化
本文采用最大值最小值標準化,使所有數(shù)據(jù)均處于[0,1]區(qū)間內(nèi),新的數(shù)據(jù)值?自′等于原始值?自與最小值?自min的差除以最大值?自max與最小值?自min的差,即:
?自′=(1)
2.3 距離公式
針對天氣數(shù)據(jù)的特點,采用歐氏距離來測定樣本相似度,則距離d為:
d=?自′?自′2(2)
2.4 k-折交叉驗證
(1)首先將前50組樣本數(shù)據(jù)作為訓練集,剩下的14組樣本數(shù)據(jù)作為測試集。
(2)增強模型的泛化能力,對50組樣本數(shù)據(jù)采用k-折交叉驗證(注:與KNN算法的K不一樣),即將訓練集平均分成k等分,每次將其中的k-1組樣本數(shù)據(jù)作為訓練,剩下的1組樣本數(shù)據(jù)作為驗證集,一共進行k次,取k次的平均正確率來驗證模型??紤]到每組的樣本數(shù)據(jù)的數(shù)量,本文取k=5,即將訓練集分成5組,每組為10個樣本數(shù)據(jù)。
2.5 多數(shù)表決原則
圖1中,圓圈要被決定賦予哪個類,是三角形還是四方形?如果K=3,由于三角形所占比例為2/3,圓圈將被賦予三角形那個類,如果K=5,由于四方形比例為3/5,因此圓圈被賦予四方形類。
以2.1-2.5建立的KNN模型稱為模型一。
3 模型的改進和結(jié)果
3.1 反距離加權(quán)
如圖1所示,內(nèi)環(huán)的兩個三角形對圓圈的影響是不是一樣的?從相似的角度出發(fā),兩個樣本距離越近,說明屬性越相似,也就是類別更接近。所以,在多數(shù)表決原則的基礎上,需要對不同距離的樣本給出權(quán)重,距離越近,所占權(quán)重越大。選取反距離加權(quán),記權(quán)重系數(shù)為w,則
w=?(3)
其中?姿表示待定常數(shù),是為防止d過小導致的w趨于無窮大,以此建立模型稱為模型二。
3.2 K值的選擇
在模型訓練中,以2.4中的k-折交叉驗證的分類平均正確率為目標,采用循環(huán)搜索,尋找最佳的K和?姿。
3.3 模型結(jié)果
模型得到的訓練參數(shù)和分類結(jié)果見表2。從表2可以看到,在訓練集,模型二比模型一的分類正確率只有少許提高;但是在測試集卻有大幅度提高,這說明模型二較模型一有效。同時模型二的測試集的正確率高于訓練集,說明模型二有不錯的泛化能力。
3.4 模型結(jié)果的分析
上述模型的正確率都在70%左右,分析結(jié)果主要有以下兩個原因:
(1)樣本數(shù)據(jù)集較少:總共只有50組訓練樣本,造成訓練不足以致影響正確率。
(2)樣本不均衡:分析50組訓練樣本發(fā)現(xiàn)大多數(shù)標簽(即AQI分類)集中在第Ⅱ,III類,其它類別較少。
4 模型評價
采用傳統(tǒng)的KNN算法,效果不佳,并且泛化能力弱,采用反距離加權(quán)的KNN算法,明顯提高了模型的分類正確率。同時,使用k-折交叉驗證可以有效提高模型的泛化能力。
下一步研究考慮的方向:
(1)搜集的樣本數(shù)據(jù)集的數(shù)量足夠且保持均衡。
(2)樣本屬性數(shù)據(jù)的處理:當樣本屬性數(shù)量較多時,不同屬性的重要程度也不是一樣的,可以考慮屬性加權(quán)或者是采用主成分分析進行降維處理。
參考文獻:
[1]CHEN Y,SHI R,SHU S,et al.Ensemble and enhanced PM10 concentration forecast model based on stepwise regression and wavelet analysis[J]. Atmospheric Environment, 2013,74:346-359.
[2]劉杰,楊鵬,呂文生,等.模糊時序與支持向量機建模相結(jié)合的PM(2.5)質(zhì)量濃度預測[J].北京科技大學學報,2014,36(12):1694-1702.
[3]楊錦偉,孫寶磊.基于灰色馬爾科夫模型的平頂山市空氣污染物濃度預測[J].數(shù)學的實踐與認識,2014,44(2):64-70.
[4]陸志濤,周鵬,吳菲.基于RAM拓展模型的我國城市空氣質(zhì)量評價[J].環(huán)境經(jīng)濟研究,2017,2(2):93-107.
[5]賀金龍,吳晟,周海河,等.基于GM(1,1)-PCA的環(huán)境預測與分析研究[J].信息技術(shù),2018(1):105-109.
[6]姜孿娟.BP神經(jīng)網(wǎng)絡算法在空氣質(zhì)量預測中的應用——以江蘇為例[J].信息與電腦:理論版,2018(24):69-70,73.
[7]生態(tài)環(huán)境部.環(huán)境空氣質(zhì)量指數(shù)(AQI)技術(shù)規(guī)定(試行)[EB/OL].中華人民共和國生態(tài)環(huán)境部,2012-03-02[2019-8-24].http://www.gov.cn/zwgk/2012-03/02/content_2081374.htm