陳謙



摘 ?要:2020年初,中國面臨新型冠狀病毒(COVID-19)的威脅,為了對抗突然爆發的疫情,中國大陸地區采取了積極的應對措施,其中包括持續數十日的個人隔離與城市隔離【1】,隔離期間,工業、交通等設施停止或以低功率運行,企業暫緩復工,大范圍的交通出行降低,對于大氣質量有一定的影響,本文以鹽城市近年的前三月的相關空氣質量評價指標的數據為基礎,運用R語言進行處理,從而獲得疫情對于大氣污染的直觀影響。
關鍵詞:大氣污染;R語言
1:介紹
對于大氣質量的評價常常有PM2.5、PM10、SO2等指標,其數據量較大處理過程較為繁瑣,并且AQI指數只適合用來表征短期內的空氣質量【2】,且考慮到AQI指數在處理顆粒物時所暴露的問題,所以對于分析擁有較大的時間跨度的大氣質量變化,R語言是一個很好的工具。R語言【3】(The R Programming)誕生與1980年左右,其前身為貝爾實驗室開發的S語言,目前R語言(以下簡稱R)廣泛的用于統計計算、統計畫圖等領域,由于R開源且具有豐富的程序包,在處理大氣污染相關的數據時具有速度快、操作簡單、分析準確等其他軟件不及的優勢。
本文將以鹽城市近五年前三個月的PM2.5、PM10、SO2、CO、NO2以及O3的濃度作為基礎數據,并運用到R中包含的“ggplot2”、“OpenAir”、“stats”、“randomForest”程序包進行分析,同時本文將具體的探究R語言在執行環境數據時的使用,并不涉及基礎的R的使用知識。
2:方法過程
大氣污染的數據來自https://www.aqistudy.cn/,導入數據的方法有很多,可以將網頁中的表格復制到Excel中,再將其導入到R或者可以使用“rvest”包進行網絡爬蟲直接讀取數據,由于爬蟲的代碼相比于前者較為復雜所以我們采取第一種方法即讀取Excel文件,R自帶的函數只可以讀取以“.csv”為后綴的文件所以我們此時需要加載“openxlsx”包才可以讀取以“.xlsx”為后綴的文件,代碼如下圖【圖1】。
將數據導入后可以先對原始數據做初步處理,我們先以時間為依據將數據分組進行處理,得到各個污染物數值的分布,分布圖與代碼見下圖【圖2】。
根據上述圖像我們可以看出,2020年一、二、三月份的污染物濃度同前四年相比散點的位置較接近X軸,說明污染物的濃度低于前四年所測的數據,從直觀上觀測我們可以得出污染物濃度降低,大氣質量改善的結論,但是從科學的角度來說這種初步的、定性的結論是粗糙的,下面我們將進一步的從定量的角度來說明這一變化。
我們采用t-檢驗來比較2020年的數據與其他四個月份的區別 ,一般的t-檢驗需要考慮兩樣本的方差是否相等,在這里我們采用Welch兩樣本t-檢驗來檢驗不同方差的樣本來節約分析時的工作量【4】,由于t-檢驗要求只有兩類樣本所以我們依據年份將數據分為a組(年份為2020)和b組(年份為2020年以外的年份)來運行t-檢驗,得到的結果與相關的代碼如下圖所見【圖3】。
t-檢驗顯示各污染物的p值全部超過0.05,在統計學上及認為此次假設不具備顯著性【5】,表明2020年污染物數據與其他年份存在顯著性差異即2020年大氣質量的平均水平與往年同時段的平均水平存在差異,同時從t檢驗所示的各污染物平均數據可以看出2020的污染物平均水平低于其余年份,所以從我們從統計的角度可以初步確定2020年大氣質量優于往年,但是由于數據選取的不足,我們難以排除偶然因素的影響,所以對于數據我們將做進一步的處理,這里我們要介紹一種統計學和機器學習中的新的模型——隨機森林【6】(randomForest),隨機森林是指利用多棵決策樹對樣本進行訓練并預測的一種分類器,在機器學習中,隨機森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數而定。Leo Breiman和Adele Cutler發展出推論出隨機森林的算法。而 "Random Forests" 是他們的商標。這個術語是1995年由貝爾實驗室的Tin Kam Ho所提出的隨機決策森林(random decision forests)而來的。這個方法則是結合 Breimans 的 "Bootstrap aggregating" 想法和 Ho 的"random subspace method"以建造決策樹的集合。關于隨機森林的原理由于和本文無關就不做過多的說明了,我們需要了解的是隨機森林在處理大量的變數以及在內部對于一般的化后的誤差產生不偏差的估計時具有很大的優勢,所以在本文我們選取隨機森林為進一步處理的模型,首先我們根據六類污染物的濃度做加和運算,用得到的數據來表示大氣質量的優劣程度,在選擇判斷數時我們參考AQI的計算方法得到AQI為優情況下各污染物濃度并考慮到鹽城市本地全年的平均大氣質量,我們將判斷數設為217,當加和得到的數小于217時我們認為大氣質量為優(用T表示),反之則為劣(用F表示),這樣我們的原始數據就完成了二分類的改造,將其用于隨機森林的模型之中,需要注意的是由于我們改變了原始數據所以我們需要重新導入數據,同時由于隨機森林在標簽變量為numeric與factor時執行的分別為回歸與分類,所以我們還需將標簽數據轉變為factor類型,確定執行的為分類時我們還需將原始數據分為訓練數據與測試數據,我們先用訓練數據運行隨機森林接著用測試數據對模型進行預測從而判斷分類的準確性,當這些前期工作都就緒時我們就可以執行隨機森林分類了,運行后的結果與運行代碼如下圖所見【圖4】【圖5】【圖6】。
圖4表明在大氣質量為劣的分組中我們認為進行的分組與隨機森林進行的分類相比誤差在0.003349282,而在大氣質量為優的分組中錯誤率為0.03703704,我們進行的分類與機器進行的分類誤差在5%以內,這表明我們進行的分類具有較強的準確性,與測試數據的對比也證明了這一點,此時通過進一步的數據處理我們將數據誤差控制在了5%以內,基本排除了由于數據偶然性造成的誤判,剩余的工作就非常的簡單了,我們只需統計出2020年份中T的占比并將其與其他年份T的占比進行比較,這一需求在其他軟件中也可以簡單的實現,在這里我們還是使用R進行處理,結果及代碼如下圖所示【圖7】。
我們可以看出2016——2019四個年份中質量為T的天數為98約占總數的0.2715,2020年質量為T的天數為57約占總數的0.6264,后者約為前者的三倍,至此我們可以從定量的角度得到結論,疫情期間大氣質量有較好的改善。
3:解釋與思考
大氣中污染物的類型大致有兩種,即煤煙型與交通型,前者的主要污染物為二氧化硫、氮氧化物、懸浮物、PM0、一氧化碳,后者的污染物主要有氮氧化物、有機物,這兩種不同的污染類型所發生時間也不同,前者多發生在冬季,后者發生于夏季,本次分析選取的數據除臭氧外都為煤煙型污染物且因為疫情發生在冬季所以同其他年份同時段的數據相比有較為明顯的改善,而由于低空臭氧的產生往往都是由交通型污染產生的光化學煙霧二次反應生成的,所以在交通型污染不占主導的情況下,臭氧的數據與往年同時段相比,差異較之其他污染物略微不明顯。
與此同時在本實驗中沒有采用比較AQI的數值來判斷的原因有如下幾點:首先前文中已經提到在比較長時段的數據時缺少精確度,其次如上文所講因為缺少夏季的數據所以臭氧的數據缺少顯著的差異,所以在進行AQI的計算中時某些情況下AQI數值也缺少顯著的差異。
在某些方面該分析存在一定的問題,首先受限于人力與物力本次分析采用的數據雖然在時間上有一定的跨度但是在空間少缺少相應的跨度,僅僅考慮了鹽城市的大氣質量,本文的結論在全國范圍內能否成立還需要進一步的驗證。同時在做最后大氣質量的優劣時僅僅對各項數據進行加和處理,而沒有考慮到具體污染物的比重問題,這在經一步的探究時需要改進。
本次疫情對于全國乃至全球都是一個嚴峻的挑戰,我們為此次戰疫付出了許多,但是作為一名環境科學的研究者來說,我們很高興的看到大氣質量得到了改善,雖然這次改善犧牲了部分經濟水平,但是我們發現了以前困擾我們許久的大氣問題并不再是一味的變壞或者是維持原狀,而是有了提高的可能性,下一步我們要做的就是在經濟和環境之中找到一個更好的平衡點。
4:總結
在疫情期間,由于工廠的停工以及交通運輸的低功率運行,在冬季占主導作用的煤煙型污染與不占主導的交通型污染收到抑制,使大氣質量得到有效的提高,同時對于進一步探究人類活動(主要為經濟活動)與環境關系提出了思考。
參考文獻
[1] ?人民日報http://society.people.com.cn/n1/2020/0123/c1008-31561292.html
[2] ?百度百科https://baike.baidu.com/item/AQI/463245?fr=aladdin
[3] ?百度百科https://baike.baidu.com/item/R語言
[4] ?賈里德·P·蘭德.R語言實用數據分析和可視化技術[M]208-209
[5] ?浙江大學,盛驟,謝式千等.概率論與數理統計[M]178-182
[6] ?百度百科https://baike.baidu.com/item/隨機森林