馬亮亮
(攀枝花學院 數學與計算機學院,四川 攀枝花617000)
氣象因素是影響甘肅省天水市膽囊炎發病率的一種非線性、多變量時間序列。對于非線性系統,一般采用基于非線性自回歸移動平均模型進行預測,但很難為這種模型找到恰當的參數估計方法,因此傳統的非線性系統的識別,在理論研究和實際應用方面均存在極大的困難[1-8]。為了有效利用各種時間序列預測模型的優點,克服單一模型的缺陷,一些學者基于著名的M-競爭理論提出了時間序列組合預測模型,而且實證結果表明,相對于單一模型,組合預測模型能夠較大程度地利用預測樣本的各種信息,大幅度地提高時間序列的預測精度,比單一模型考慮的問題更系統、更全面[9-10]。
為了提高時間序列的預測精度,文中考慮了時間序列的環境影響因子,將主成分分析(Principal Components Analysis,PCA)和最小二乘支持向量機(LSSVM)相融合,給出了一種新的時間序列組合預測模型(PCA-LSSVM),并通過甘肅省天水市膽囊炎發病率對此模型預測性能進行驗證。
主成分分析是考察多個變量間相關性的一種多元統計方法。它的基本思想是通過降維過程,將多個相互關聯的數值指標轉化為少數幾個互不相關的綜合指標,即用較少的指標來代替和綜合反映原來較多的信息,這些綜合后的指標就是原來多指標的主要成分[11-12]。
假設有n個樣本,每個樣本測得p項指標(p<n)。當p個指標之間存在相關關系時,可以通過線性變換方法找到一組新指標z1,z2,…,zm,且它們滿足下列條件:
(1)各zi是原指標的線性函數,且它們相互垂直;
(2)各zi之間相互獨立;
(3)這些zi提供原指標所含有的全部信息,且z1提供的信息量最多,z2次之,…,zm最少;
其中zi為原指標x1,x2,…,xp的第i主成分(i=1,2,…,p)。
設x=(x1,x2,…,xp)是一個p維隨機向量,且E(x)=μ,協方差D(x)=V??紤]它的線性變換:

則有:

如果z1=r1′x 滿足:(1)r1′r1=1;(2)Var(z1)=Mar
r′r=1Var(r′x),則稱z1是在x的所有線性組合中最能綜合p個變量信息的一個特殊的線性組合。如果一個主成分不足以代表p個變量所包含的信息,就考慮z2。為了能有效地代表原變量的信息,z1已有的信息在z2中不再出現,即滿足Cov(z1,z2)=0,類似可求z2以及其它的主成分。
主成分分析的目的是為了減少變量的個數,故一般不用p個主成分,而用m<p個主成分。m的選取則要看累計貢獻率[13-14]。
SVM是對一個凸二次規劃進行求解,所得的解唯一且最優,不存在像神經網絡的局部最優問題,但當訓練樣本較大時,所需計算資源很大。最小二乘支持向量機(Least Squares Support Vector Machine,LSSVM)是SVM的一種變體,它將問題轉化成對一個線性方程求解,所需計算資源少,具有較高的準確率[15-19]。由于本文主要進行回歸預測,因此只介紹LSSVM的回歸算法。
給定樣本數據為(x1,y1),…,(xm,ym),xi∈Rk表示輸入向量,yi∈Rk表示輸出向量,f(x)為待估計的未知函數,進行非線性映射:

式中H為特征空間。那么被估計函數f(x)可以表示為

因此,LSSVM回歸問題可以表示為

式中ei∈Rk為誤差變量,i=1,2,…,m。
PCA-LSSVM模型的預測原理為:首先利用PCA對時間序列的影響因子進行篩選降維,只保留對系統影響較大的變量,然后采用LSSVM模型對保留變量進行建模和預測。PCA-LSSVM具體的預測流程如圖1所示。

圖1 PCA-LSSVM模型的預測流程
為了評價PCA-LSSVM模型性能的優劣,選擇PCAMLR,ARIMA,LSSVM 作為參比模型,其中PCA-MLR表示先采用PCA進行影響因子篩選,然后再采用多元線性回歸(Multiple Linear Regression,MLR)進行建模和預測;ARIMA表示直接采用ARIMA模型進行建模和預測;LSSVM表示直接采用LSSVM模型進行建模和預測,并使用均方誤差(Mean Square Error,MSE)和平均相對誤差(Mean Absolute Percentage Error,MAPE)作為模型的評價指標。MSE和MAPE分別定義為

其中yi表示時間序列的實際值,yi表示模型的預測值,n表示測試樣本數。
數據資料來源于甘肅省天水市疾病預防控制中心提供的2000年1月至2005年12月膽囊炎發病率(y)。膽囊炎發病率的氣象影響因子有:月平均氣壓x1(pha),月平均氣溫x2(℃),月平均相對濕度x3(%),月平均風速x4(m/s),月降水量x5(mm)。
利用氣象影響因子月平均氣壓x1,月平均氣溫x2,月平均相對濕度x3,月平均風速x4,月降水量x5作主成分分析,得特征根和主成分貢獻率,如表1所示。

表1 主成分統計分析
從主成分分析結果可知,第一主成分的特征根為2.598,它解釋了總變異的51.969%;第二主成分的特征根為1.539,它解釋了總變異的30.771%。前兩個特征根均大于1,累計貢獻率82.740%。為了得到一個可靠的預測模型,需要從眾多影響因子中挑選出對膽囊炎發病率變化貢獻率大的影響因子。由于第3個主成分的特征根較接近于1,故宜取前3個主成分,此時累計貢獻率達94.586%,即采用前3個主成分(z1,z2,z3)代替原有的5個變量(x1,x2,x3,x4,x5)進行建模和預測。
前3個主成分與各個變量 x1,x2,x3,x4,x5的 關 系如下:

其中stdxi(i=1,2,3,4,5)表示標準指標變量:

4.3.1 MLR擬合
運用PCA篩選的對膽囊炎發病率影響顯著的前3個主成分z1,z2,z3,采用 MLR進行預測,借助于SPSS11.5實現,得到的線性回歸方程為:

將式(8)至式(10)的z1,z2,z3表達式代入式(16),得到因變量y與標準自變量stdx1,…,stdx5的線性回歸方程:

將標準自變量還原為原自變量,得到因變量y與原自變量x1至x5的線性回歸方程為:

模型主要參數為:相關系數R=0.924;F=1.579;顯著水平p=0.0421<0.05,表明建立的線性方程達到顯著性要求,該方程可以進行預測應用。
4.3.2 ARIMA擬合
利用膽囊炎發病率(y)繪制該序列的樣本自相關分析圖(圖2),可知p=1,d=1,q=2,此時 ARIMA(1,1,2)模型對應的方程為:

式中隨機項εt是相互獨立的白噪聲序列,且服從均值為0,方差為σ2的正態分布;B為后移算子。

圖2 膽囊炎發病率序列樣本自相關分析圖
4.3.3 LSSVM 擬合
一般情況下,w可能為無限維,對式(4)直接進行求解相當困難,因此通過引入拉格朗日乘子將該問題轉化為對偶問題進行求解,于是有

通過求L對w,b,ei,αi的偏導數等于0的解,可得到最優解的約束條件為

與SVM的最優條件相比,只有αi=rei不同,因此αi=rei使LSSVM不再具有SVM所具有的稀疏性。利用式(20)消去w與ei得到式(4)的解方程為

式中向量lm=(l,l,…,l)T,α=(α1,α2,…,αm),Y=(y1,y2,…,ym),Ω 為矩陣,其定義為 Ω=φ(xi)Tφ(xj),i,j=1,2,…,m。
通過式(21)轉換成為線性方程組,并求式(21)就可以求得α與b的值,于是得到被估計函數的表達式,即式(4)變為

4.3.4 PCA-LSSVM 擬合
運用經過PCA篩選的3個主成分z1,z2,z3建立LSSVM模型,再采用GA算法對模型參數進行優化。
將膽囊炎發病率數據分成兩部分:2000年1月至2004年12月的數據作為訓練集,2005年1月至12月的數據作為測試集,以便獲得實際膽囊炎發病率建模精度與擬合能力、預測能力的評定。
擬合后各模型的MSE(均方誤差)和MAPE(平均相對誤差)如表2所示。

表2 各模型的擬合性能比較
從表2的對比結果可知,在所有模型中,PCA-LSSVM模型擬合精度最高,誤差最小,表明,采用PCA對膽囊炎發病率的影響因子進行主成分分析,然后采用LSSVM進行建模,能更加準確描述膽囊炎發病率的變化規律,有效提高膽囊炎發病率的擬合精度。
由于評價一個預測模型的好壞,主要考察其預測能力而非回代擬合結果,因此,再分別采用PCA-MLR,ARIMA,LSSVM,PCA-LSSVM模型進行獨立預測,預測結果如表3所示。

表3 幾種模型對2005年膽囊炎發病率的預測結果 %
從表3可知,線性MLR模型、ARIMA模型和LSSVM模型的預測效果較差,主要是因為它們均只能反映膽囊炎發病率的片段信息,不能全面捕捉到膽囊炎發病率的動態變化規律;而組合預測模型PCA-LSSVM與這些模型相比,預測精度較高。這是由于組合預測模型能夠充分利用時間序列數據中的信息,并對膽囊炎發病率變化規律進行深入挖掘,避免了單一模型的局限性,其預測結果才有了較為明顯的提高。同時,由表2可知,PCA-LSSVM的MSE和MAPE 值小于PCA-MLR,ARIMA和LSSVM的相應值。這是由于PCA-LSSVM模型的預測算法采用LSSVM,而LSSVM是一種基于結構風險最小準則的機器學習方法,對于小樣本、非線性系統其泛化能力比MLR和ARIMA更強,因此預測結果與實際情況更加吻合,從而可獲得比PCA-MLR,ARIMA更高的預測精度。對比結果表明PCA-LSSVM為膽囊炎發病率的最佳預測模型。
時間序列受到眾多因子的影響,呈現高度非線性變化規律,難以建立精確的數學模型,利用LSSVM模型本身的優點,將PCA引入到時間序列建模中,建立了一種時間序列組合模型(PCA-LSSVM模型),并應用于膽囊炎的預測中。實例結果表明,PCA-LSSVM模型簡單、容易實現,提高了膽囊炎發病率預測準確率,較好地揭示了膽囊炎發病率的變化規律。
[1] 馬亮亮,田富鵬.基于非對稱ARCH模型的海西州地區膽結石發病情況研究[J].科技導報,2009,27(24):51-55.
[2] 馬亮亮,田富鵬.ARMA模型在膽結石發病率預測中的應用[J].軍事醫學科學院院刊,2010,34(5):1-4.
[3] 馬亮亮,田富鵬.時間序列分析方法在膽囊炎發病率預測中的應用[J].中華實驗外科雜志,2010,27(6):779.
[4] 馬亮亮,田富鵬.不同時間序列分析方法在膽結石發病率預測中的應用[J].中國老年學雜志,2010,30(13):1777-1780.
[5] 向昌盛.基于支持向量機的時間序列組合預測模型[D].長沙:湖南農業大學,2011:23-32.
[6] 馬亮亮.基于非線性分類和回歸問題中的支持向量機算法[J].天水師范學院學報,2009,29(5):44-47.
[7] 黃東遠,陳曉云.一種新的支持向量回歸機的模型選擇方法[J].福州大學學報:自然科學版,2011,39(4):527-532.
[8] 鄧乃揚,田英杰.數據挖掘中的新方法——支持向量機[M].北京:科學出版社,2004.
[9] 馬亮亮,田富鵬.基于因子RBF神經網絡預測模型的腦梗塞發病率預測[J].統計與決策,2010(10):200-201.
[10] 馬亮亮,田富鵬.基于人工神經網絡的非穩態心肌病發病率預測模型研究[J].中國老年學雜志,2011,31(24):4877-4878.
[11] 羅盛?。谌斯ど窠浘W絡的剛竹毒蛾發生面積的預測模型[J].華東昆蟲學報,2006,15(1):37-39.
[12] Salgdo R M,Pereira J J F,Ohishi T,et al.A hybrid ensemble model applied to the short-term load forecasting problem[C].Vancouver:International Joint Conference on Neural Networks,2006:2627-2634.
[13] Vila J P,Wagner V,Neveu P.Bayesian nonlinear model selection and neural network:A conjugate prior approach[J].IEEE Trans on Neural Networks,2000,11(2):265-278.
[14] 向東進.實用多元統計分析[M].武漢:中國地質大學出版社,2005:120-184.
[15] 朱建平,殷瑞飛.SPSS在統計分析中的應用[M].北京:清華大學出版社,2007:171-178.
[16] 馬亮亮,田富鵬.主成分分析與因子分析在肺心病發病情況分析中的應用[J].四川文理學院學報,2010,20(2):65-69.
[17] 馬亮亮,田富鵬.基于糖尿病相關因素的主成分分析[J].長春大學學報,2009,19(4):61-63.
[18] Dong J X,Krzyzak A,Suen C Y.An improved handwritten Chinese character recognition system using support vector machine[J].Pattern Recognition Letters,2005,26(12):1849-1856.
[19] Wan V,Renals S.Speaker verification using sequence discriminate support vector machines[J].IEEE Transactions on Speech and Audio Processing,2005,13(2):203-210.