摘要:本文針對中國CPI指數(shù)的預測問題,首先用主成分分析方法對影響CPI指數(shù)的八個指標進行降維處理,然后利用支持向量機技術(shù)建立起中國CPI指數(shù)的預測模型并對我國實際的CPI指數(shù)進行了預測。實證分析結(jié)果表明,PCA-SVM模型能夠有效地對CPI指數(shù)進行短期預測。最后,與單純的支持向量機模型的預測結(jié)果做了對比,對比結(jié)果表明,支持向量機和主成分分析相結(jié)合的模型應用于CPI預測具有較高的精確度。
關(guān)鍵詞:CPI;支持向量回歸機;主成分分析
一、引言
居民消費價格指數(shù)也稱消費者價格指數(shù)(Consumer Price Index, CPI),是反映一定時期內(nèi)城鄉(xiāng)居民所購買的生活消費品和服務項目價格變動趨勢和幅度的指數(shù),是反映通貨膨脹水平的重要指標和根據(jù)。這一指數(shù)與居民的經(jīng)濟生活有著密切的關(guān)系,它衡量的是生活消費品和服務項目的價格變動對居民實際生活支出的影響程度,在各級政府研究和制定貨幣、價格、工資、消費、社會保障政策及進行國民經(jīng)濟核算等方面,發(fā)揮著很重要的作用。過高或過低的CPI指數(shù)都不利于國民經(jīng)濟的健康發(fā)展,因此對CPI的預測具有很重要的現(xiàn)實意義,它關(guān)系到國家宏觀經(jīng)濟調(diào)控的政策取向。
目前文獻在CPI指數(shù)預測方面,主要采用傳統(tǒng)統(tǒng)計方法和建模方法。傳統(tǒng)的統(tǒng)計方法包括協(xié)整回歸預測模型、ARIMA預測模型、自回歸模型等,建模方法主要有神經(jīng)網(wǎng)絡模型等。本文提出了基于支持向量機(Support Vector Machine,簡稱SVM)的中國CPI預測模型并對我國CPI指數(shù)進行預測。SVM作為一種機器學習方法,是由Vapnik最先提出。它以統(tǒng)計學習理論和結(jié)構(gòu)風險最小化原則為基礎,能夠克服神經(jīng)網(wǎng)絡局部最優(yōu)值等問題。支持向量機能夠很好地處理非線性數(shù)據(jù)問題,近幾年,在模式識別、數(shù)據(jù)挖掘和時間序列數(shù)據(jù)預測等方面得到了成功的應用,但是應用于我國CPI指數(shù)的預測并不多見。本文首先采用主成分分析法對數(shù)據(jù)進行降維處理,然后將支持向量機回歸方法應用于我國CPI的短期預測。預測結(jié)果表明利用主成分分析方法不僅能夠加快SVM的訓練速度,還能提高預測精度。
二、理論分析
(一)支持向量機回歸模型
給定訓練集(xi,yi),i=1,2...,N,其中N表示N個訓練樣本,xi表示輸入向量,yi表示相對應的輸出變量。則回歸函數(shù)可表示為y=f(x)=ωT?覬(x)+b,其中?覬(x)輸入空間到高維特征空間的非線性映射。求解系數(shù)ωT和b,根據(jù)經(jīng)驗風險最小化原則,使得函數(shù)
R(f)=C■L(f(xi)-yi)+■||ω||2
最小化,其中,L(●)表示損失函數(shù),C為懲罰因子。這里所說的損失函數(shù)是指常用的ε不敏感損失函數(shù)。問題就轉(zhuǎn)化為以下優(yōu)化問題
■■||ω||2+C■(ξi+ξ*i)
s.t.yi-(ωT?覬(xi)+b)≤ε+ξi
(ωT?覬(xi)+b)-yi≤ε+ξ*i
ξi,ξ*i≥0,i=1,2...N.
其中,ξi,ξ*i分別表示目標值上下限的松弛變量。目標函數(shù)中,既要使得■||ω||2最小化,又要使得■((ξi+ξ*i))最小化,即松弛變量最小,為了綜合考慮這兩個目標,引入了懲罰因子C>0,它反映了對■||ω||2最小化和松弛變量最小化的重視程度。引入拉格朗日函數(shù),得到其對偶優(yōu)化問題
■=-■■(ai-ai*)(aj-aj*)K(xi,xj)-ε■(ai+ai*)+■yi(ai-ai*)
s.t.■ai=■ai*,0≤ai,ai*≤C.
其中ai,ai*是拉格朗日乘子向量。解此優(yōu)化問題,若得到的ai*≠ai,則稱與其對應的訓練點(xi,yi)為支持向量,否則稱為非支持向量。得到的回歸函數(shù)為
f(x)=■(ai-ai*)(?覬(xi)·?覬(x))+b
=■(ai-ai*)K(xi,x)+b
其中,K(xi,xj)=(?覬(xi)·?覬(xj))是滿足Mercer條件的核函數(shù)。核函數(shù)有線性核函數(shù)、多項式核函數(shù)、sigmoid核函數(shù)和徑向基核函數(shù),通常使用的核函數(shù)是徑向基核函數(shù)。由于在以往的研究中,應用徑向基核函數(shù)能取得很好的效果,因此本文使用徑向基核函數(shù)
K(x,x′)=exp(-||x-x′||2/2σ2),σ>0
在支持向量機模型的應用過程中,需要確定的參數(shù)包括懲罰因子C、核函數(shù)、核參數(shù)、損失函數(shù)的參數(shù)。參數(shù)的選擇對于支持向量機模型的預測精度有很大的影響。參數(shù)的選擇主要有遺傳算法、粒子群優(yōu)化算法、網(wǎng)絡遍歷法。在確定最優(yōu)參數(shù)時,需要評價參數(shù)的優(yōu)劣,通常使用的方法是k-折交叉確認法。
(二)主成分分析法
主成分分析(簡稱PCA)是采取一種數(shù)學降維的方法,找出幾個綜合變量來代替原來眾多的變量,使這些綜合變量能盡可能地代表原來變量的信息量,而且彼此之間互不相關(guān)。
設X1,X2,...,Xp為研究對象所涉及的p個屬性,Y1,Y2,...,Ym(m≤n)表示由x1,x2,...,xp線性組合得到的新的綜合變量,則有
Y■=l■x■+l■■x■+...+l■x■Y■=l■x■■+l■x■+...+l■x■…Y■=l■x■+l■x■+...+l■x■
其中,系數(shù)的選擇應使得以下條件成立。
1.Yi與Yj(i≠j,i,j=1,2,...,m)互不相關(guān)。
2.Y1,Y2,...,Ym的方差依次減小,即所包含的信息量依次減小。
于是,Y1,Y2,...,Ym分別為x1,x2,...,xp的第一主成分、第二主成分、......、第m主成分。在用主成分對變量做降維處理時,從m個主成分中選出前幾個包含信息量最大的,它們包含了原始變量絕大多數(shù)的信息,因此可以用這m個綜合變量代替原始變量,這樣既可以約減屬性,簡化分析,又可以在很大程度上包含原始變量的信息。
(三)PCA-SVM預測模型的設計
我國現(xiàn)行的CPI由八大類生活消費品和服務項目組成,即食品、煙酒及用品、衣著、家庭設備用品及服務、醫(yī)療保健及個人用品、交通和通信、娛樂教育文化用品及服務和居住。本文選取以上八大類指標數(shù)據(jù)作為預測模型的輸入,以下月的CPI指數(shù)作為模型的輸出。
主成分分析用來約減屬性,減少支持向量機輸入指標的個數(shù)。本文首先對八大類指標數(shù)據(jù)進行主成分分析,將約減后的指標數(shù)據(jù)作為支持向量機模型的輸入,支持向量機模型對輸入指標進行運算和處理,得出CPI的預測值。PCA-SVM預測模型的設計流程如下。
1.對數(shù)據(jù)進行預處理和主成分分析,確定主成分個數(shù)以及支持向量機的輸入指標。
2.將訓練數(shù)據(jù)輸入支持向量機模型,交叉驗證選擇最佳參數(shù)C、g和ε,得出訓練模型。
3.將測試集中的指標數(shù)據(jù)輸入訓練模型,進行擬合預測CPI指數(shù)。
三、實證分析
(一)對指標數(shù)據(jù)提取主成分
本文選取國家統(tǒng)計局網(wǎng)站公布的2006年1月至2013年5月的居民消費價格指數(shù)CPI及八個指標即居民消費價格分類指數(shù),利用建模對CPI指數(shù)進行預測。
利用Matlab對指標數(shù)據(jù)進行主成分分析,分析結(jié)果如表1所示。
從表1可以看出,前4個主成分的累積貢獻率為91.405%,因此提取前4個主成分作為輸入變量。輸入維數(shù)降低一半,可提高SVM的訓練速度。
(二) SVM模型的訓練及預測
主成分分析方法的作用是降低支持向量機輸入向量的維數(shù),支持向量機對輸入向量進行運算處理,得出CPI預測值。在本文中,我們將本月的前4個主成分值作為支持向量機模型的輸入變量,下月CPI指數(shù)作為輸出變量。本文選取2006年1月到2012年9月共81組數(shù)據(jù)作為訓練集,2012年10月到2013年5月共8組數(shù)據(jù)作為測試集。
在建立支持向量機模型之前,首先需要尋求最優(yōu)參數(shù)。本文選用的核函數(shù)為常用的徑向基核函數(shù),利用LIBSVM,通過網(wǎng)絡遍歷法反復實驗,搜索懲罰因子C、核參數(shù)g、損失函數(shù)的參數(shù)ε的最優(yōu)值。C的搜索范圍為[2-10,210],g的搜索范圍為[2-10,210],ε的搜索范圍為[0,100],對于每一組參數(shù),利用5折交叉驗證法驗證其精度,選擇精度最高的一組參數(shù)。最終確定C的值為13225.5068,g的值為1.235,ε的值為0.0642。
在確定參數(shù)以后,在dos環(huán)境中利用LIBSVM中的訓練命令svmstrain對81組數(shù)據(jù)集訓練,得到預測模型,然后利用預測模型和svmpredict預測出我國2012年10月到2013年5月的CPI指數(shù)。預測結(jié)果如表2所示。
從結(jié)果看,各個月份CPI指數(shù)預測值的最大誤差為0.7,最小誤差為0.1,相對誤差基本保持在0.7%以下,均方誤差MSE為0.3674,平均絕對誤差MAE為0.325,說明PCA-SVM模型較穩(wěn)定,可以較為準確地預測CPI指數(shù)。
為了評價此模型的預測精度,通過對比實驗,將其與未經(jīng)過主成分分析的支持向量機模(SVM)的預測結(jié)果進行對比,預測效果評價結(jié)果見表3。
從表3可以看出,PCA-SVM模型比SVM模型的預測效果好,說明主成分分析法不僅可以降低支持向量機的輸入維數(shù),更能很好地提高支持向量機模型預測的精度。
四、結(jié)語
通過以上的分析可以看出,PCA-SVM模型在CPI的預測中具有比較高的精度,在上月八大類消費和服務項目指數(shù)已知的條件下,應用該模型能夠比較準確地預測出下月的CPI指數(shù),這說明該模型能夠較好地應用于我國CPI指數(shù)的短期預測領域。這可以給制定國家宏觀經(jīng)濟政策的有關(guān)部門及企業(yè)提供一定的信息和幫助。由于指標體系中單純包含了經(jīng)濟指標,沒有考慮到國家政策制定等其他因素對CPI的影響,因此PCA-SVM模型在預測的過程中會出現(xiàn)一定誤差,但從總體上看,本文取得了較好的預期效果。在今后的CPI預測研究中,可以更進一步深入,尋求更高效精確的參數(shù)優(yōu)化方法,將非經(jīng)濟的因素納入模型的建立中。
參考文獻:
[1]付紅研.國民經(jīng)濟統(tǒng)計學[M]. 首都經(jīng)濟貿(mào)易大學出版社,2008.
[2]鄧乃揚,田英杰.支持向量機—理論、算法與拓展[M].科學出版社,2009.
[3]何曉群.多元統(tǒng)計分析[M]. 中國人民大學出版社,2008.
[4]李伯年,吳禮斌. Matlab數(shù)據(jù)分析方法[M].機械工業(yè)出版社,2012.
[5]石城宇.基于支持向量機的匯率預測研究[D].哈爾濱工業(yè)大學,2011.
(工作單位:上海理工大學管理學院)