郭艷萍 高云 劉寰
(1.山西大同大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)工程學(xué)院 山西省大同市 037009 2.大同市職業(yè)教育中心 山西省大同市 037000)
目前,用于預(yù)測(cè)場(chǎng)景的應(yīng)用軟件只有少數(shù)幾種,而大多數(shù)的預(yù)測(cè)需求都基于特定的某種單一模型。選擇單一模型的弊端是顯而易見(jiàn)的,即預(yù)測(cè)結(jié)果只對(duì)具有某種單一的發(fā)展規(guī)律的數(shù)據(jù)有效,當(dāng)發(fā)展規(guī)律受復(fù)合因素影響或發(fā)生改變時(shí),預(yù)測(cè)結(jié)果可能會(huì)出現(xiàn)較大,嚴(yán)重偏離實(shí)際情況。
我國(guó)各地的財(cái)政收入由于地區(qū)發(fā)展水平不同,財(cái)政組成結(jié)構(gòu)不同,各組成要素比重差異很大,特定的某種預(yù)測(cè)方法很難在各地都發(fā)揮出良好的效果。對(duì)財(cái)政收入使用更加有效的方法進(jìn)行預(yù)測(cè),對(duì)于科學(xué)的根據(jù)地方預(yù)算收支規(guī)模合理地發(fā)展地方經(jīng)濟(jì)具有十分重要的意義。
本文通過(guò)Lasso方法篩選財(cái)政收入的影響因素,充分考慮歷史復(fù)合因素,建立灰色+神經(jīng)網(wǎng)絡(luò)模型分析預(yù)測(cè)財(cái)政收入。
Lasso估計(jì)在條件確定的情況下是一致的,并且已經(jīng)被大量應(yīng)用于變量選擇領(lǐng)域。Lasso估計(jì)采用正則化方法,在變量選擇的同時(shí)進(jìn)行參數(shù)估計(jì)。其參數(shù)估計(jì)定義為:
其中,
λ:非負(fù)正則參數(shù);
求解方程,得到預(yù)測(cè)模型如下。
灰度預(yù)測(cè)結(jié)果可采用P值和C值進(jìn)行衡量,檢驗(yàn)參照表見(jiàn)表1所示。
表1:P值和C值檢驗(yàn)參照表
使用Lasso進(jìn)行變量選擇之后,對(duì)選定的變量進(jìn)行灰色預(yù)測(cè),得到2020年及2021年的預(yù)測(cè)值。使用神經(jīng)網(wǎng)絡(luò)建立模型訓(xùn)練歷史數(shù)據(jù),把2020年及2021年的灰色預(yù)測(cè)值代入BP模型中,得到受歷史復(fù)合發(fā)展規(guī)律影響的2020年及2021年財(cái)政收入預(yù)測(cè)結(jié)果。
圖1:所示分析預(yù)測(cè)流程主要包括以下步驟:
圖1:分析預(yù)測(cè)流程圖
(1)搜集某市財(cái)政收入相關(guān)數(shù)據(jù);
(2) 對(duì)(1)得到的數(shù)據(jù)進(jìn)行數(shù)據(jù)抽取和數(shù)據(jù)探索等數(shù)據(jù)預(yù)處理,形成建模數(shù)據(jù),使用Lasso方法進(jìn)行變量選擇;
(3)對(duì)(2)中選定的變量進(jìn)行灰色預(yù)測(cè);
(4)建立神經(jīng)網(wǎng)絡(luò),使用1998年-2019年的數(shù)據(jù)訓(xùn)練該預(yù)測(cè)模型;
(5)利用(3)得到的預(yù)測(cè)值代入(4)中訓(xùn)練好的模型中,得到2020和2021年財(cái)政收入的預(yù)測(cè)值。
實(shí)驗(yàn)數(shù)據(jù)為某市1998-2019年財(cái)政收入及其影響因素,實(shí)驗(yàn)部分?jǐn)?shù)據(jù)如表2所示。
表2:部分實(shí)驗(yàn)數(shù)據(jù)
影響財(cái)政收入(f)的因素有很多,通過(guò)查閱經(jīng)濟(jì)理論和實(shí)踐觀察,初步選取表3中13個(gè)因素為自變量(e1-e13),分析它們與財(cái)政收入之間的關(guān)系。
表3:各變量含義及關(guān)系表
采用數(shù)據(jù)描述性分析和相關(guān)分析對(duì)原始數(shù)據(jù)進(jìn)行探索分析。
3.2.1 描述性分析
首先獲取數(shù)據(jù)的count、mean、std,min、mae、25%、50%和75%值,結(jié)果如表4所示。由表4可見(jiàn),數(shù)據(jù)描述分析結(jié)果為 ;自變量e1-e13值mae與min之間差距很大,且變量之間數(shù)值范圍的差距也很大,所以在進(jìn)行分析建模時(shí)應(yīng)進(jìn)行標(biāo)準(zhǔn)化處理。因變量財(cái)政收入(f)的mean值和std值分別為1566.69和1539.54。由此可得出兩點(diǎn)結(jié)論:第一,該市各年份財(cái)政收入差異較大。第二,2012年后,該市年財(cái)政收入逐年大幅遞增。
表4:主要變量的描述性統(tǒng)計(jì)
分析可得,將數(shù)據(jù)按照
表5:數(shù)據(jù)整體信息描述
從表5可以看出,在22×14的數(shù)據(jù)中,表中數(shù)據(jù)類型一致,均為float64,不需進(jìn)行類型轉(zhuǎn)換處理;無(wú)空值且無(wú)異常值,不需要對(duì)數(shù)據(jù)進(jìn)行插補(bǔ)值處理。
去除量綱和數(shù)據(jù)范圍波動(dòng)太大帶來(lái)的預(yù)測(cè)不準(zhǔn)確的影響,將數(shù)據(jù)進(jìn)行最大最小規(guī)范化處理。使用sklearn庫(kù)的MinMaeScaler 類對(duì)數(shù)據(jù)進(jìn)行歸一化后描述如表6所示。
由表6可以看出,各變量值整體隨著年份增加整體呈上升趨勢(shì)。
表6:數(shù)據(jù)歸一化描述
繪制自變量與解釋變量峰巒圖和折線圖如圖2和圖3所示,可看出變量的分布情況為,除e11(消費(fèi)價(jià)格)有明顯波動(dòng)外,其余變量變化趨勢(shì)穩(wěn)定,呈正增長(zhǎng)趨勢(shì)。
圖2:因變量與解釋變量峰巒圖
圖3:因變量與解釋變量折線圖
3.2.2 相關(guān)分析
相關(guān)分析可以初步判斷自變量與因變量之間是否線性相關(guān)。使用pandas中DataFrame.corr()函數(shù)進(jìn)行數(shù)據(jù)相關(guān)性分析,data.corr(method='pearson')求得data中的兩個(gè)變量之間Pearson相關(guān)系數(shù)。原始數(shù)據(jù)求解Pearson相關(guān)系數(shù)結(jié)果如表7所示。
由表7可知,自變量e11(消費(fèi)價(jià)格)與因變量f(財(cái)政收入)的Pearson相關(guān)系數(shù)為0.14,雖然呈現(xiàn)正相關(guān),但二者的線性關(guān)系較弱。其余變量與財(cái)政收入的Pearson相關(guān)系數(shù)值均>0.9,呈現(xiàn)正相關(guān),且線性關(guān)系顯著。
表7:變量Pearson相關(guān)系數(shù)矩陣
數(shù)據(jù)較多時(shí),熱力圖表格的形式看起來(lái)不太直觀。對(duì)最大最小規(guī)范化數(shù)據(jù)進(jìn)行0-1標(biāo)準(zhǔn)值化處理,再將其使用折線圖查看線性關(guān)系,可視化結(jié)果如圖4所示。
圖4:因變量與解釋變量關(guān)系圖
從圖4中可以清楚的看出,除e11外,其余各因變量與解釋變量f均呈復(fù)雜的相關(guān)關(guān)系,因而需要對(duì)因變量進(jìn)行進(jìn)一步篩選。
以往在對(duì)回歸模型的系數(shù)進(jìn)行估計(jì)時(shí),多數(shù)情況下會(huì)使用多元線性回歸模型或者最小二乘估計(jì)。這種方法很大程度上依賴于數(shù)據(jù)本身的特性,而且結(jié)果往往也只能得到局部最優(yōu)解,使得后續(xù)的檢驗(yàn)失去意義。因此本實(shí)驗(yàn)運(yùn)用Lasso變量選擇方法來(lái)進(jìn)行因變量的篩選。
運(yùn)用LARS算法來(lái)解決Lasso估計(jì),每給定一個(gè)γ,算法就會(huì)嘗試獲得一個(gè)最優(yōu)的λ。此處取γ=1,用Pfthon編寫程序運(yùn)行,調(diào)用sklearn.linear_model庫(kù)中的Lasso類進(jìn)行Lasso估計(jì),mae_iter和alpha默認(rèn)時(shí)得到如表8所示結(jié)果。
表8:默認(rèn)參數(shù)得到系數(shù)矩陣
從表8可得,目標(biāo)收斂不足。調(diào)整參數(shù),alpha值越大,特征系數(shù)0越多。參數(shù)mae_iter=10000,alpha=100時(shí),得到如表9所示結(jié)果。
表9:參數(shù)mae_iter=10000,alpha=100時(shí)系數(shù)矩陣
從表9可以看出,e9(第一生產(chǎn)值)、e11(消費(fèi)價(jià)格)和e12(第三產(chǎn)業(yè)/第二產(chǎn)業(yè))的系數(shù)為0,即在模型建立過(guò)程中,這幾個(gè)變量被剔除了。
參數(shù)增大后,目標(biāo)明顯收斂。表9與表8相比,e10(稅收)和e13(消費(fèi)水平)相關(guān)性明顯減小,這是因?yàn)閑13與e5(居民支出)有著顯著的共線性,在模型建立的過(guò)程中,Lasso方法剔除了該變量。使用Lasso方法建立模型時(shí),剔除了共線性變量,對(duì)多指標(biāo)具有優(yōu)勢(shì)。
綜上所述,預(yù)測(cè)財(cái)政收入時(shí),利用Lasso方法篩選出的關(guān)鍵因素是就業(yè)人數(shù)(e1)、工資總額(e2)、消費(fèi)品總額(e3)、居民收入(e4)、居民支出(e5)、總?cè)丝冢╡6)、社會(huì)投資額(e7)以及生產(chǎn)總值(e8)。
3.4.1 對(duì)e1(就業(yè)人數(shù))進(jìn)行灰度預(yù)測(cè)
建立原始數(shù)據(jù)序列 (4453911,4548852,...,9863280.32)。
(1)求級(jí)比。
(2)判斷級(jí)比。
可以看到所有數(shù)據(jù)均符合,故可以進(jìn)行建模
(3)建模。
②構(gòu)造數(shù)據(jù)矩陣B及數(shù)據(jù)向量F
于是得到:
于是得到:
解得時(shí)間相應(yīng)序列為:
得:
(4)模型評(píng)價(jià)。
對(duì)當(dāng)前模型的評(píng)價(jià):
C=0.00379649,好;
p=0.989,好。
(5)預(yù)測(cè)。
預(yù)測(cè)未來(lái)2年,即2020年和2021年的e1值為:
x(2020)=10199152.84,x(2021)=10593436.27。
模型擬合效果較好,P值為0.989,精度較高。
3.4.2 對(duì)e1-e8進(jìn)行灰度預(yù)測(cè)
對(duì)Lasso變量選擇方法篩選的變量e1-e8建立灰色預(yù)測(cè)模型,使用Python進(jìn)行灰色預(yù)測(cè),得出就業(yè)人數(shù)(e1)、工資總額(e2)、消費(fèi)品總額(e3)、居民收入(e4)、居民支出(e5)、總?cè)丝冢╡6)、社會(huì)投資額(e7)以及生產(chǎn)總值(e8)8個(gè)參數(shù)的2020年和2021年預(yù)測(cè)值。預(yù)測(cè)結(jié)果及其精度見(jiàn)表10所示。
表10:8個(gè)參數(shù)2020年和2021年的灰色預(yù)測(cè)值及精度表
誤差精度=10,學(xué)習(xí)次數(shù)=10次,神經(jīng)元個(gè)數(shù)=8。將e1-e8列數(shù)據(jù)零均值標(biāo)準(zhǔn)化作為特征數(shù)據(jù),將f列數(shù)據(jù)零均值標(biāo)準(zhǔn)化作為標(biāo)簽數(shù)據(jù),使用keras.models庫(kù)中的Sequential序列模型進(jìn)行建模。定義3層神經(jīng)網(wǎng)絡(luò),單層人工神經(jīng)元(隱藏層節(jié)點(diǎn))=12,輸入變量(特征值)=8,輸出層節(jié)點(diǎn)=1,每個(gè)神經(jīng)元用具體的權(quán)重初始化,使用relu函數(shù)作為激活函數(shù)。得出2020年和2021年財(cái)政收入的預(yù)測(cè)值分別為5870.859億元和6654.844億元,部分?jǐn)?shù)據(jù)見(jiàn)表11,其中f_pred列的數(shù)據(jù)為預(yù)測(cè)數(shù)據(jù)。
表11:部分歷史數(shù)據(jù)及財(cái)政收入預(yù)測(cè)表
圖5為真實(shí)值與神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值對(duì)比圖,從結(jié)果中,比較預(yù)測(cè)值與真實(shí)值實(shí)現(xiàn)高度吻合。
圖5:真實(shí)值與神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值對(duì)比圖
本文通過(guò)對(duì)某市1998年-2019年地方財(cái)政收入數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘分析,識(shí)別出影響因變量的關(guān)鍵特征,使用lasso方法篩選出這些關(guān)鍵特征。使用灰色預(yù)測(cè)得到這些關(guān)鍵特征的2020年、2021年的預(yù)測(cè)值。建立神經(jīng)網(wǎng)絡(luò)模型,使用歷史數(shù)據(jù)進(jìn)行訓(xùn)練,最后得出財(cái)政收入2020年、2021年的預(yù)測(cè)值。變量選擇方法和神經(jīng)網(wǎng)絡(luò)都有多種不同的選擇,可將其進(jìn)行比較和組合作為未來(lái)的研究進(jìn)一步的探索的方向。