摘 ?要: 時序模型作為一種預測方法,在貨運量預測、機場客流量預測、疾病發(fā)病率預測、空氣質量預測等許多重要的領域具有廣泛的應用。本文利用大同市2016年1月到2019年8月共44個月的空氣質量綜合指數(shù)數(shù)據(jù)樣本,使用牛頓插值進行了缺失值插補,根據(jù)給定的數(shù)據(jù)序列進行了時序圖、自相關圖和偏自相關圖的構建。然后,進行單位根檢驗,判斷出序列為平穩(wěn)非白噪聲序列。本文使用相對最優(yōu)模型識別方法確立模型的p、q值,最終建立ARIMA(2,0,1)模型,對2019年9-12月的空氣質量綜合指數(shù)進行預測。通過對模型的分析,判斷預測值比較準確。
關鍵詞: ARIMA;時序分析;非白噪聲序列;平穩(wěn)序列
中圖分類號: TP391 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.12.020
本文著錄格式:張葉娥,高云. 基于ARIMA模型的大同市空氣質量預測研究[J]. 軟件,2019,40(12):8589
Research on Air Quality Prediction in DaTong Based on ARIMA Model
ZHANG Ye-e, GAO Yun
(School of Computer and Network Engineering, Shanxi Datong University, Datong,Shanxi 037009, China)
【Abstract】: As a forecasting method, time series model has been widely used in many important fields,such as cargo volume prediction, airport passenger flow prediction, disease incidence prediction, and air quality prediction. In this paper, 44 months of air quality composite index data samples from January 2016 to August 2019 in datong city were used to carry out missing value interpolation with Newton interpolation, and time sequence, autocorrelation and partial autocorrelation were constructed according to the given data sequence. Then, the unit root test is carried out and the sequence is determined to be a stationary non-white noise sequence. In this paper,The relative optimal model identification method was used to establish the p and q values of the model, and finally the ARIMA(2,0,1) model was established to predict the air quality index from September to December 2019. Through the analysis of the model, the prediction value is more accurate.
【Key words】: ARIMA; Time series analysis; Non-White noise sequence; Stationary series
0 ?引言
城市的空氣質量問題與居民的健康、生活、交通等問題息息相關,因此城市空氣質量成為城市居民關注的焦點問題。隨著大同市經(jīng)濟的高速發(fā)展,城市人口、交通工具、石化能源消費劇增,由此帶來的污染問題對城市環(huán)境的影響倍受關注。完善大同市城市空氣質量檢測體系,對城市空氣質量檢測歷史數(shù)據(jù)的變化進行分析,預測未來的空氣質量,對即將可能出現(xiàn)的空氣質量問題進行預防和治理,對城市環(huán)境建設具有非常重要的意義。
1 ?預測方法
目前,常用的預測方法有BP神經(jīng)網(wǎng)絡和時間序列分析法,邱晨等人研究了基于BP神經(jīng)網(wǎng)絡的空氣質量模型分類預測,建立了三層神經(jīng)網(wǎng)絡數(shù)學模型,對空氣質量等級進行分類預測,預測準確率達到90%[1]?;贐P神經(jīng)網(wǎng)絡的預測模型雖然收斂效果好,精度高,但易于陷入局部最優(yōu)、過擬合。孟慶云等人應用時間序列分析法對天津市空氣質量各項指標進行了預測分析,預測結果較理想[2]。
由于大同市的空氣質量具有周期性和季節(jié)性,空氣質量的預測問題包含了時間的分量,所以采用時間序列分析法易于進行預測。但由于數(shù)據(jù)具有缺失值,本文進行了數(shù)據(jù)插補。對大同市空氣質量時序數(shù)據(jù),首先需要時序分析的預處理,然后在此基礎上建立時序分析模型,進行空氣質量預測。
1.1 ?時序分析
時序分析方法是以概率統(tǒng)計學為基礎,利用時序監(jiān)測數(shù)據(jù),建立相應的數(shù)學模型,描述時序狀態(tài),以便預測未來的方法。本文應用時間序列進行分析,使用一個給定的已被觀測了的時間序列,即大同市2016年1月到2019年8月共44個月的空氣質量綜合指數(shù)數(shù)據(jù)樣本,來預測該序列的未來值。
1.2 ?時序分析的預處理
獲得大同市2016年1月到2019年8月共44個月的空氣質量綜合指數(shù)數(shù)據(jù)樣本后,首先要進行時序分析的預處理,檢查序列的平穩(wěn)性和純隨機性。
1.2.1 ?平穩(wěn)性檢驗
(1)時序圖檢驗
檢驗大同市2016年1月到2019年8月共44個月的空氣質量綜合指數(shù)數(shù)據(jù)樣本的時序圖,判斷該序列值是否始終在一個常數(shù)附近波動,并且波動的范圍有界,確定數(shù)據(jù)序列是否為平穩(wěn)序列。如果不是,那么數(shù)據(jù)序列為非平穩(wěn)序列,需要通過差分運算,使得序列成為平穩(wěn)序列。
(2)自相關圖、偏自相關圖檢驗
利用自相關圖對大同市2019年8月共44個月的空氣質量綜合指數(shù)數(shù)據(jù)樣本進行平穩(wěn)性檢驗,自相關系數(shù)如果隨著延遲期數(shù)的增加,以較快的速度趨向于零,并在零附近隨機波動,則序列為平穩(wěn)序列,否則為非平穩(wěn)序列。利用偏自相關圖對數(shù)據(jù)樣本進行平穩(wěn)性檢驗,看偏自相關系數(shù)是否隨著延遲期數(shù)的增加超出置信度的上下限,如果沒超出則為平穩(wěn)序列,否則,序列為非平穩(wěn)序列。
(3)單位根檢驗
檢驗大同市2019年8月共44個月的空氣質量綜合指數(shù)序列中是否存在單位根,不存在單位根的序列為平穩(wěn)序列,否則為非平穩(wěn)序列。
1.2.2 ?純隨機性檢驗
純隨機檢驗也稱白噪聲檢驗,通過大同市2019年8月共44個月的空氣質量綜合指數(shù)數(shù)據(jù)樣本各延遲期數(shù)的自相關系數(shù),計算得到檢驗統(tǒng)計量,判斷是否為白噪聲序列,若是,則停止對該序列的分析。
1.3 ?ARIMA模型
ARIMA模型,又稱自回歸移動平均模型,是20世紀70年代初由博克思(Box)和詹金斯(Jenkins)提出的時間序列預測方法。其中ARIMA (p,d,q)模型是由差分運算與ARIMA (p,q)模型組合而成,其中,p是自回歸模型的階數(shù),d是差分的階數(shù),q是移動平均的階數(shù)[5]。
實際應用中的絕大部分序列都是非平穩(wěn)的,將非平穩(wěn)序列采用差分運算轉換成差分平穩(wěn)序列,這樣就可以使用ARIMA模型進行建模分析。
差分平穩(wěn)時間序列建模步驟如圖1所示。
圖1 ?差分平穩(wěn)時間序列建模步驟圖
Fig.1 ?Differential stationary time series
modeling step diagram
2 ?使用ARIMA模型實現(xiàn)大同市空氣質量的預測分析
本文在Python中實現(xiàn)ARIMA模型建模過程,使用了StatsModels庫,對于通常的數(shù)據(jù)探索任務來說,Numpy和Pandas的結合是夠用的,但是對于較為深入的統(tǒng)計模型時,就會使用StatsModels。
本文選用的數(shù)據(jù)為2016年1月至2019年8月的大同市共44個月的空氣質量綜合指數(shù),通過對這44個月的空氣質量綜合指標建立模型,預測2019年9月到12月的空氣質量綜合指數(shù)。本文選用的數(shù)據(jù)視為無異常值數(shù)據(jù),但是有缺失值。
其基本步驟是:(1)以已有數(shù)據(jù)為基礎,進行數(shù)據(jù)插補補足缺失值。(2)以原有數(shù)據(jù)和補足的缺失值數(shù)據(jù)為依據(jù),區(qū)別不規(guī)則變動、循環(huán)變動、季節(jié)變動等不同時間的動勢,特別是連續(xù)的長期動勢。(3)運用ARIMA求出時間序列以及將來時態(tài)的各項預測值。
2.1 ?缺失值補足
本文獲取的數(shù)據(jù)中,存在著4個月數(shù)據(jù)缺失,原始數(shù)據(jù)如圖2所示。
圖2 ?大同市空氣質量月報數(shù)據(jù)圖
Fig.2 ?Datong city air quality monthly data map
處理缺失值可以采用數(shù)據(jù)插補的方法,在眾多插補方法中,牛頓插值法使用較為普遍,所以本文采用了牛頓插值法來進行缺失值補足。
2.1.1 ?牛頓插值法
對于平面上已知的n個點(無兩點在一條直線上)可以找到n-1次多項式y(tǒng)=a0+a1x+a2x2+…+ an-1xn-1,使此多項式曲線過這n個點[6]。
(1)求已知的n個點對(x1,y1),(x2,y2)…(xn,yn)的所有階差商公式
(2)聯(lián)立以上商差公式建立如下插值多項式
其中,
.
P(x)為牛頓插值逼近函數(shù),R(x)為誤差函數(shù)。
2.1.2 ?使用牛頓插值法進行插補
Python中使用的Scipy庫是建立在Numpy的基礎之上,基于Python生態(tài)的一款開源數(shù)值計算,是用于科學與工程應用的開源軟件。本文應用牛頓插值法對缺失值進行插補,使用缺失值前后各5個未缺失的數(shù)據(jù)參與建模,在插值之前會對數(shù)據(jù)進行異常值檢測,異常值大于50也定義為空缺值(本文不存在異常值),進行補數(shù)。
缺失值插補后的數(shù)據(jù)如圖3所示。
圖3 ?缺失值插補后的數(shù)據(jù)圖
Fig.3 ?Data diagram after missing value interpolation
分析插補值可知,缺失的月份分別為6、9和12月,6月大同市天氣比較舒適,不需要使用空調(diào),不影響空氣質量;12月大同市已經(jīng)進入了供暖期,供暖對空氣造成一定程度污染,這兩個月的插補值比較準確。9月空氣質量應該與6月比較接近,這里的插補值略微偏大,一定程度上會對預測結果造成影響,但是綜合幾個月來看,影響在可接受范圍內(nèi)。
2.2 ?ARIMA模型的建立
使用ARIMA建模,步驟如下:
(1)檢驗序列的平穩(wěn)性
2016年1月至2019年8月的大同市共44個月的空氣質量綜合指數(shù)的數(shù)據(jù)序列時序圖如圖4所示。
檢驗數(shù)據(jù)序列的平穩(wěn)性,對應的自相關圖和偏自相關圖,如圖5、圖6所示。
圖4 ?數(shù)據(jù)序列的時序圖
Fig.4 ?Time series of data series
圖5 ?數(shù)據(jù)序列的自相關圖
Fig.5 ?Autocorrelation diagram of data series
圖6 ?數(shù)據(jù)序列的偏自相關圖
Fig.6 ?Partial autocorrelation diagram of data series
數(shù)據(jù)序列的ADF(單位根)檢驗結果為: (–4.360335390121504, 0.0003486671586324529, 6, 37, {'1%': –3.6209175221605827, '5%': –2.9435394610388332, '10%': –2.6104002410518627}, 82.97142692734585)
表1 ?數(shù)據(jù)序列的單位根檢驗
Tab.1 ?Unit root test for data series
adf cValue p值
1% 5% 10%
–4.36 –3.6209 –2.9436 –2.6104 0.0003
結果顯示,數(shù)據(jù)序列的時序圖在其均值附近進行比較平穩(wěn)的波動、自相關圖具有很強的短期相關性、單位根檢驗p值遠小于0.05,adf值小于三個水平值,所以數(shù)據(jù)序列是平穩(wěn)序列,不需要再進行差分運算。
(2)數(shù)據(jù)序列的白噪聲檢驗
數(shù)據(jù)序列的白噪聲檢驗結果為:(array ([17.38442578]), array([3.05317522e-05]))。
表2 ?數(shù)據(jù)序列的白噪聲檢驗
Tab.2 ?White noise test of data series
stat p值
17.3844 3.05317522e-05
輸出的p值遠遠小于0.05,所以數(shù)據(jù)序列是平穩(wěn)非白噪聲序列。
(3)對數(shù)據(jù)的平穩(wěn)非白噪聲序列擬合ARMA ? 模型。
對模型的擬合可以通過人為識別的方法,此時序列的自相關圖和偏自相關圖均顯示出拖尾性,所以可以考慮使用ARMA(2,1)模型擬合該序列。
但是人為識別的方法會帶有很大的主觀性并受到歷史經(jīng)驗的限制,所以實際應用中通常會采用相對最優(yōu)模型識別的方法來擬合模型,即計算ARMA(p,q)。本文采用了44條數(shù)據(jù)量,計算時p和q的值即一般階數(shù)不超過44/10。計算當p和q均小于等于4時的所有組合的BIC信息量,這里取其中BIC信息量達到最小的模型階數(shù)。計算出當p和q均小于等于4時的BIC矩陣如圖7所示。
圖7 ?BIC矩陣圖
Fig.7 ?BIC matrix diagram
p值為2、q值為1時最小BIC值為122.637017,p、q定階完成,原始序列不需要差分運算,序列建立模型為ARIMA(2,0,1)。
2.3 ?ARIMA模型分析
(1)模型檢驗
殘差為白噪聲序列。
(2)參數(shù)檢驗和參數(shù)估計
使用了ARMA模型進行建模,BIC、AIC和HQIC值見表3所示。
表3 ?BIC、AIC和HQIC值
Tab.3 ?BIC, AIC and HQIC values
BIC AIC HQIC
122.6370 113.7161 117.024
模型參數(shù)見表4所示。
表4 ?模型參數(shù)表
Tab.4 ?Model parameter table
Coef Std.Err t
const 5.1266 0.0338 151.5411
ar.L1.空氣綜合指數(shù) 1.4780 0.0980 15.0815
ar.L2.空氣綜合指數(shù) –0.7389 0.0969 –7.6242
ma.L1.空氣綜合指數(shù) –1.0000 0.0695 –14.3854
(3)ARIMA模型預測
應用ARIMA(2,0,1)對給空氣質量數(shù)據(jù)做為期4個月的預測,結果如表5所示。
表5 ?2019年9-12月空氣質量數(shù)據(jù)預測表
Tab.5 ?Forecast Table of Air Quality Data for
September-December 2019
2019-9 2019-10 2019-11 2019-12
4.50285477 5.48054205 6.11064921 6.31951199
3 ?結論
本文采用了ARIMA(2,0,1)模型,利用歷史44個月的大同市空氣質量指標數(shù)據(jù)進行了4個月的數(shù)據(jù)預測,從預測結果來看,所得空氣質量指標數(shù)據(jù)與往年同期相比,符合相關規(guī)律,與2019年1-8月相比,符合本年天氣變化規(guī)律。即預測數(shù)據(jù)符合短期相關性。但時間預測的典型特點是利用模型向前預測的時期越長,預測的誤差將會越大。
參考文獻
[1]邱晨, 羅璟, 趙朝文, 等. 基于BP神經(jīng)網(wǎng)絡的空氣質量模型分類預測研究[J]. 軟件, 2019, 40(2): 129-132.
[2]孟慶云, 張若晴, 袁朱紅, 等. 基于ARIMA模型的天津市空氣質量各項指標的預測分析[J]. 農(nóng)業(yè)災害研究, 2018, 8(5): 44-45.
[3]Mehdi Khashei, Zahra Hajirahimi. A comparative study of series arima/mlp hybrid models for stock price forecasting[J]. Communications in Statistics - Simulation and Computation, 2019, 48(9).
[4]敖建松, 尚文利, 趙劍明, 等. 基于ARIMA預測修正的工控系統(tǒng)態(tài)勢理解算法[J/OL]. 計算機應用研究: 1-5 [2019-09-25]. https://doi.org/10.19734/j.issn.1001-3695.2019.05. 0148.
[5]李苑輝, 劉夏, 歐志鵬. 基于ARIMA 模型的三亞機場客流量預測[J]. 軟件, 2018, 39(7): 42-47.
[6]高萌. 抵御黑洞攻擊的牛頓插值備份路由協(xié)議研究[D]. 中國礦業(yè)大學, 2017.
[7]趙朝文, 羅璟, 邱晨. 基于ARIMA模型與Winter模型的水運貨運量預測比較[J]. 軟件, 2019, 40(1): 172-178.
[8]張良均, 王璐等. Python數(shù)據(jù)分析與挖掘實戰(zhàn)[M]. 北京: 機械工業(yè)出版社, 2016.