滕少華,邱小斌,張 巍,劉冬寧,梁 路
(廣東工業大學 計算機學院,廣東 廣州510060)
液化石油氣從購買、運輸到使用,有一定的時間間隔,合理的存氣量是必要的。在滿足居民用氣要求的前提下,降低各個氣站的存氣量是降低風險,減少成本,是提高企業運營效率的必然選擇[1]。
當前液化石油氣用戶中,存在大量機械表用戶,對于這些用戶需要抄表人員入戶抄表,抄表后才可以進行銀行代扣費,這就存在著入戶抄表率低、回款速度慢的問題。統計顯示,一次抄表成功率只有30%,在扣款成功率只有80%的情況下,由此原因造成的煤氣款項滯納累計達到每月600萬左右 (以某市為例)。因而,開展液化氣庫存預測對經營企業有重要意義。
考慮到居民用戶液化氣的使用受季節、氣候影響,隨時間、季節而變化,具有周期波動異常等特性,單純的某種分析方法 (如回歸分析)難以模擬并解決這類復雜問題,尤其是難以對一些潛在風險進行評估。
當前,許多液化氣相關企業對下一階段液化氣儲氣量的預測仍依賴于管理人員的經驗,少部分企業采用了一些統計分析方法,但都難以準確刻畫居民用戶液化氣使用的上述特性。
時間序列是根據時間順序得到的一系列觀測值,在一個時間序列中,觀測值之間有很大的相互依賴型,居民用戶的使用情況符合這一特征,它的預測則是利用時態數據庫[2]中歷史數據來訓練模型,預測事物將來的數據值以及發展趨勢,常用的預測模型有:指數平滑法 (ES)[3]、求和自回歸移動平均法 (ARIMA)[4]、季節性的指數平滑法(SES)[3]和 季 節 性 求 和 自 回 歸 移 動 平 均 法 (SARIMA)[4]模型。
迄今,時間序列的預測研究已被運用到檢測網絡入侵[5]、伊朗地區水資源的需求量預測[6]等諸多領域。除了單獨用ANN 來對時間序列進行預測外[7],部分學者也將ARIMA 與ANN 結合起來使用[8],Riquelme等也提出利用PSF模式對西班、美國、澳大利亞三地的電力市場價格和需求量進行預測,并取得了實際效果[9]。
上述研究從應用出發,各種方法對實際問題的緩解、解決起到了較好的效果,但研究也表明,尚未有一種模型對所有應用都適用。對不同數據集,由于數據的特性差異,各種模型有不同的表現。其中,指數平滑法及其季節模型要求數據集具備更好的完整性,ARIMA 及其季節模型對波動大的數據集具有更好的短期預測效果,但二者沒有特別明顯的界限;人工神經網絡從生物仿生學中發展而來,具有較強的魯棒性、記憶能力、非線性映射能力以及自學習能力[10],且在該問題域的應用上,神經網絡對提高部分精度也有不俗的表現,但過于復雜,計算時間過大,存在過學習等問題。
由于當前數據集中部分用戶用氣歷史不夠長,存在數據不完備的情況,因此,本文從片區出發,采用對波動大的數據集有較好效果的SARIMA 模型對片區液化氣使用情況進行建模,預測片區儲氣量,并用液化氣使用數據進行了檢驗,驗證了SARIMA 模型對局部區域儲氣量的預測具有96%的準確率。最后將SARIMA 模型與指數平滑法、BP神經網絡[11]和小波神經網絡[12]進行了比較實驗,實驗結果表明,在片區液化氣儲量預測上,SARIMA 模型具有更好的預測效果。
ARIMA 模型也稱為Box-Jenkins方法,它包含3 個子模型:自回歸模型 (AR),移動平均模型 (MA),自回歸移動平均模型 (ARMA)[4]。ARIMA 模型未考慮數據的季節性變化規律,對數據從整體上建模,在ARIMA 模型基礎上加上對季節因素考慮的模型稱為SARIMA。
季節性求和自回歸移動平均模型 (SARIMA)的形式化 表 示 為[4]

式中:at—— “白噪聲”序列,s——時間間隔,季節性差分算子 s =1-Bs,p——趨勢自回歸階數,d——趨勢消除需要差分的次數,q——趨勢移動平均的階數,P——季節性自回歸的階數,D——季節性消除需要差分的次數,Q——季節性移動平均的階數。
片區液化氣使用情況預測主要包含:數據預處理、模型識別、建模、模型參數估計、模型檢驗、評估以及預測等,其體系結構如圖1所示。

圖1 片區液化氣預測體系
圖1中,模型識別主要是識別尋找可能的時間序列模型;參數調整則是在已識別模型的基礎上調整、確定模型具體參數;模型評估,則是對當前模型進行 “過擬合”處理。若模型不符合,需對參數調整與模型識別進行反復迭代,迭代分為兩種,一種是調整模型內的參數及其迭代;另一種則是從識別模型進行迭代,多次迭代后,可得到多個可行的模型。此時可借助貝葉斯公式 (BIC)在已識別的模型中選取最優模型,由此,并將它確定為最后預測模型。
由此可知,最終模型的確定是一個不斷迭代選優的過程。
模型識別是依據序列的平穩性,季節性,建立可能的預測模型;參數調整則是根據差分次數,差分后的自相關(ACF)和偏自相關圖 (PACF)調整模型具體的參數值;模型檢驗,可通過檢查建模后模型殘差的自相關函數,判斷是否為白噪聲,其預測具體流程如圖2所示。
對應預測流程,其偽代碼如圖3所示。
本文的實驗數據來源于某市居民用戶4年中液化氣的實際用氣數據。
因為歷史原因,燃氣用戶用氣量歷史數據存在缺失數據、各種噪聲和不一致數據的情況。在數據分析前需要對數據進行預處理,本文中的數據預處理包括數據選擇、數據清理、數據集成、數據變換、數據歸約等[13]。

圖2 片區液化氣預測流程

由于用氣數據以前未統一,數據來源于不同的系統,集成時造成少量數據丟失。另外,各個小區初始通氣時間不一樣,造成用氣時間存在差異。對于用氣時間不夠長的小區,建模時可能導致訓練數據不夠,進而影響片區用氣量預測模型的準確性。因此本文選取用氣記錄至少4年以上的片區用戶數據進行建模。
具體實驗時,此處選取某市北嶺片區,對小區通氣時間在2008年之前的用戶進行建模。經統計,該片區共有4497戶液化氣用戶,從2008年前開通點火至今一直在用氣。
首先對用戶用氣數據序列進行異常檢測[14],對少數缺省值進行填充或修正,缺省值的填充根據用戶歷史數據以及發展趨勢進行估計。由于燃氣公司是每隔一個月上門抄表一次,因而抄表記錄是跨月的,需要進行相應的拆分和合并,比如:抄表時間是2012-03-01至2012-04-06的用氣記錄,拆分成兩條用氣記錄,分別是2012-03-01 至2012-03-31和2012-04-01至2012-04-06的用氣記錄,對于后一條記錄還需要和四月份其它天數的用氣記錄進行合并,以形成2012-04-01至2012-04-30的一個月用氣記錄。此處分拆記錄采用按天均分。某市北嶺片區用氣記錄數據預處理后,共有用氣記錄296660條,形成本文的實驗數據。
對于含有季節性的時間序列數據,按式 (2)形式化[4]

式中:Tt——趨勢項,St——季節性,Nt——噪聲(異常)。
圖4是按照用戶用氣量構成的時間序列構成的圖,由圖4不難發現,每一年的用氣量波形都相似,每一個波形的最大值和最小值有一個明顯的上升趨勢;每年6、7、8月份是一個低谷,每年12、1、2月份是一個用氣量高峰期;這明顯體現季節變化趨勢,并且數據是不平穩的。由此可大概確定使用的模型是SARIMA (p,d,q)× (P,D,Q),數據的非平穩性需要通過差分來達到平衡,模型具體參數值則根據差分后序列的ACF、PACF中的拖尾情況確定。

圖4 北嶺片區總用氣量序列
差分的原則是進行最小差分次數且能保證平穩性,過多的差分雖然能保證序列更加平穩,但差分過多會導致樣本損失,反而使模型不能反映實際數據。一般來說,取0、1、2中的一個差分,就可以滿足問題所需。
在某市北嶺片區用氣量的時間序列中,對序列進行一階差分以消除趨勢增長,查看該序列是否達到平穩性要求。在圖5中,圖 (a)表明了d=1的時間序列情況,數據都在0周圍波動,序列基本達到平穩性;圖 (b)是自相關函數圖,自相關值大部分都在置信范圍內,說明自相關性很弱,表明一次差分趨勢不穩定性確實已經去除,另外在12的倍數節點上,數值一直很大,而且具有拖尾現象,這表明該序列確實存在季節性,而且間隔為12;圖 (c)是偏自相關函數圖,在K=12處數值很大,這符合實際情況,一年之中各個季節,氣候溫度不一樣導致用氣量呈現著季節性質。可以看到偏自相關函數圖在K>12之后都截尾,而自相關是拖尾的,所以參數p可能取值12,研究結果表明,p的值一般是不大于2 的,p的值也可能是1、2,而q的值為0。

圖5 趨勢差分 (d=1)后用氣量序列、ACF及PACF圖
在確定序列具備季節性趨勢后,按照周期s=12對原始用氣量序列進行一階季節差分,差分后序列如圖6 (a)所示,序列在一階季節差分后達到平穩狀態,進而觀察其自相關函數圖和偏自相關函數圖,此時在12 的倍數節點上,自相關函數值和偏自相關函數值在延遲s后都已經在置信區間范圍內,也就是說都是截尾的,如圖6 (b)和圖6 (c)所示,因此p,q的取值都可能是0,1。另外注意到一次季節差分后的自相關函數在一定范圍內持續為正或持續為負,說明還存在一定的相關性。
進一步對序列進行趨勢差分和季節差分,其中d、D 都為1,觀察差分后的序列,如圖7 (a)所示。注意到在進行趨勢差分和季節差分后,序列是平穩的,自相關函數圖和偏自相關函數圖也幾乎都在置信度為95%的置信區間內,與此同時,自相關函數值也是正負交替,說明序列有必要將趨勢差分和季節差分結合,如圖7 (b)和圖7 (c)所示。

圖6 季節差分 (D=1)后序列、ACF及PACF圖

圖7 趨勢差分,季節差分 (d=1,D=1)后序列、ACF及PACF圖
可用于識別的模型存在多個,我們并不知道哪一個模型是最適合的,這時可以通過查看候選模型的BIC 值,它表示序列模型之后相對 “真實模型”的信息損失,BIC 值最小的候選模型表示模型損失最小,但也不是最優模型,只是相對較優,BIC可表示為

式中:L——在該模型下的極大似然函數,n——數據的數量,k——模型參數的變量個數。
候選模型以及BIC見表1。

表1 候選模型及其BIC、白噪聲
根據建立模型后的殘差要符合白噪聲原則,可以知道在單獨的趨勢差分后的模型和季節差分后的模型中,只有ARIMA(12,1,0)模型的殘差是白噪聲的,而二者結合的模型大部分都滿足該原則,又基于BIC 最小原則,最后的模型確定為SARIMA(1,1,0)× (0,1,1),該模型的殘差如圖8所示,預測如圖9所示。
從預測圖中可以看出,序列的真實值都在置信范圍內,特別是在2012年下半年以后,用氣量相對以前有著較大的下降趨勢,而該模型也能對這種變化進行合理的預測,表明了模型對該問題域建模有較強的健壯性。
在對2012年06月至2013年05月時間段內的用氣量預測中,各模型都有不錯的準確率,但是SARIMA 模型相對其它模型,具有更高的預測準確率,達到了96%,比指數平滑法、BP神經網絡和小波神經網絡更優,具體情況參見表2。但不可否認的是,當前數據集僅能提供年月,不能提供或者未使用其它影響用氣量變化的因子,如溫度、GDP、氣價等,這對神經網絡的訓練帶來了一定的影響,間接地影響了預測的準確性,各模型的比較如圖10 所示,此時,SARIMA 模型相對于其它模型,其波動較小。

圖8 SARIMA(1,1,0)× (0,1,1)模型殘差

圖9 SARIMA(1,1,0)× (0,1,1)模型預測

表2 4種模型的預測準確率/%
本文的工作結果表明:一方面,用SARIMA 模型對片區居民用戶液化氣使用情況建模,預測片區儲氣量是可行的,相對其它模型也具有更高的準確率;另一方面,對企業來說,片區儲氣量的準確預測,可以指導企業減少儲氣量,節約成本,提高資金周轉率,規避由于價格變動帶來的資金風險。

圖10 各模型比較
必須注意:由于歷史用氣數據不全、存在不一致現象;并且每一個月的數據也并非完全真實,而是通過拆分和合并獲得,拆分只是簡單的按照平均分攤原則,未考慮月份之間的權值差異,盡管這是因為業務上不能滿足要求而進行的必要 “暴力”分拆,但是如果我們能夠在數據完整性和準確性上有所提高,模型可能會有更好的效果。
考慮到各個用戶之間用氣多少相互獨立,而對用戶來說,每個月用氣又是重復事件,因而,下一步我們將嘗試針對個人用戶的用氣行為進行聚類[15],形成虛擬片區,然后再對虛擬片區用氣量建模和預測,進而開展保守代扣款業務,以降低企業經營風險和資金周轉。
[1]Hamilton J D.Understanding crude oil prices [R].National Bureau of Economic Research,2008.
[2]LIU Dongning,TANG Yong,TENG Shaohua,et al.A minimal substructural logic in temporal database[J].Chinese Journal of Computers,2013,36 (8):1592-1601 (in Chinese).[劉冬寧,湯庸,滕少華,等.基于時態數據庫的極小子結構邏輯系統 [J].計算機學報,2013,36 (8):1592-1601.]
[3]Dubeau F,Mir Y.Exponential growth model:From horizontal to linear asymptote[J].Communications in Statistics-Simulation and Computation,2014,43 (10):2186-2204.
[4]Box G E P,Jenkins G M,Reinsel G C.Time series analysis:forecasting and control [M].John Wiley & Sons,2013:374-377.
[5]WANG Lingjian,TENG Shaohua.Application of clustering and time-based sequence analysis in intrusion detection [J].Journal of Computer Applications,2010,30 (3):699-701 (in Chinese).[王令劍,滕少華.聚類和時間序列分析在入侵檢測中的應用 [J].計算機應用,2010,30 (3):699-701.]
[6]Mombeni H A,Rezaei S,Nadarajah S,et al.Estimation of water demand in Iran based on SARIMA models[J].Environmental Modeling &Assessment,2013,18 (5):559-565.
[7]Paoli C,Voyant C,Muselli M,et al.Forecasting of preprocessed daily solar radiation time series using neural networks[J].Solar Energy,2010,84 (12):2146-2160.
[8]Khashei M,Bijari M.A novel hybridization of artificial neural networks and ARIMA models for time series forecasting [J].Applied Soft Computing,2011,11 (2):2664-2675.
[9]Martinez Alvarez F,Troncoso A,Riquelme J C,et al.Energy time series forecasting based on pattern sequence similarity[J].IEEE Transactions on Knowledge and Data Engineering,2011,23 (8):1230-1243.
[10]Qasim M,Kanjiya P,Khadkikar V.Artificial neural network based phase locking scheme for active power filters[J].IEEE Transactions on Industrial Electronics,2014,61 (8):3857-3866.
[11]Wang J Z,Wang J J,Zhang Z G,et al.Forecasting stock indices with back propagation neural network [J].Expert Systems with Applications,2011,38 (11):14346-14355.
[12]Cao J,Lin Z,Huang G.Composite function wavelet neural networks with extreme learning machine [J].Neurocomputing,2010,73 (7):1405-1416.
[13]Davis J J,Clark A J.Data preprocessing for anomaly based network intrusion detection:A review [J].Computers &Security,2011,30 (6):353-375.
[14]LI Aichun,TENG shaohua.Application of web mining technology to click fraud detection [J].Computer Engineering and Design,2012,33 (3):957-962 (in Chinese). [李 愛春,滕少華.Web 挖掘在網絡廣告點擊欺詐檢測中的應用[J].計算機工程與設計,2012,33 (3):957-962.]
[15]Cao H,Li X,Woon Y,et al.Integrated over sampling for imbalanced time series classification [J].IEEE Transactions on Knowledge and Data Engineering,2013,25 (12):2809-2822.