程偉 CHENG Wei;余蓓敏 YU Bei-min
(安徽電子信息職業(yè)技術學院電子工程學院,蚌埠 233040)
國內生產總值(GDP)是一個國家或地區(qū)反映國民經濟發(fā)展變化情況的核心指標,做好GDP 預測對地方國民經濟發(fā)展規(guī)劃及制定各行各業(yè)的發(fā)展計劃具有指導性作用。目前,預測GDP 變化趨勢主要有ARIMA 模型[1]、人工神經網絡[2]和粒度理論[3]等方法,但利用特征選擇預測GDP 變化的卻鮮見。
近年來,機器學習和數據所涉及的數據維度呈爆炸性增加,機器學習算法中的訓練集包含著許多冗余或無關的特征,這會導致預測模型的復雜化并增加訓練的時間。特征選擇旨在相關特點中選擇或提取一部分最重要的特征子集作為算法的實際輸入特征,以求帶來更好的學習表現,縮短訓練時間,改善模型的通用性,降低過擬合,提高預測準確度等等。因此,特征選擇及降維技術成為了機器學習和數據挖掘的一個重要分支和研究領域[4]。本文基于特征選擇的方法,利用穩(wěn)健深度自動編碼器(robust deep autoencoders)對地方國內生產總值變化趨勢進行了預測。
模型設計包含特征選擇與預測兩大模塊。
特征選擇模塊的目標是探索特征提取方法來優(yōu)化預測模型并縮短訓練時間。
預測模塊的主要目標通過結合特征選擇模塊的輸出,來提高預測算法的準確性和可靠性,以獲得最佳的預測結果。
在實驗階段對特征選擇技術及機器學習算法的交叉應用進行研究分析,從而提煉出最佳組合方法,如圖1。
圖1 核心模塊示意圖
特征選擇主要有穩(wěn)健的深度自動編碼器、灰色關聯法[5]等機器學習方法得出最優(yōu)的特征選擇方法。下面主要介紹穩(wěn)健的深度自動編碼器特征選擇方法。
1.2.1 自動編碼器
自動編碼器是一個基本的三層神經網絡。輸入數據通過一對編碼和解碼階段,自動編碼器能夠捕獲隱藏層輸入的抽象表示,并重構輸出層的輸入數據。
其中X 是輸入數據,E 是從輸入數據到隱藏層的編碼映射,D 是從隱藏層到輸出層的解碼映射,是輸入數據的恢復版本。CE 自編碼的目標是訓練E 和D,使X,之間的重建誤差最小化[6]。因此,一個自動編碼器可以看作是以下優(yōu)化問題的解決方案:
1.2.2 深度自動編碼器
自動編碼器由于其簡單的淺層架構,其表示能力是有限的。一個具有多個隱藏層的自動編碼器被稱為深度自動編碼器[7],每一個額外的隱藏層都需要一對額外的編碼器E(·)和解碼器D(·)。針對高維輸入數據,深度自動編碼器通過一對對編碼和解碼階段從輸入到自身學習映射:
其中X 為輸入數據,深度自編碼器為2n+1 層,共n個編/解碼階段,Ei(i=1,…,n)是從輸入數據到隱含層的編碼映射,Di(i=1,…,n)是從隱含層到輸出層的解碼映射,而為重新獲取的新的輸入數據。通過允許許多層的編碼器和解碼器,深度自動編碼器可以精確地表示輸入X 上的復雜分布。
1.2.3 穩(wěn)健的深度自動編碼器(robust deep autoencoders)
根據穩(wěn)健主成分分析(RPCA)的思想,在深度自動編碼器中加入異常正則懲罰項,由此構成穩(wěn)健深度自編碼器[8]。通過加入正則化,穩(wěn)健自編碼器不僅保持了深度自編碼器發(fā)現高質量、非線性特征的能力,還可以降低特征維數,只提取最有用的特征進行數據預測,因此穩(wěn)健深度編碼器的輸出比輸入能更好地理解數據特征。學習到的穩(wěn)健自編碼器的特征可以作為另一個機器模型的輸入,如支持向量機、神經網絡或隨機森林,用于數據預測。
在穩(wěn)健的深度自動編碼器中加入一個過濾層,將難以重構的數據中的異常值和噪聲值與剩下的數據分離開來,剩下的數據可以用低維隱層來表示。輸入數據可表示為:
其中LD表示自編碼器隱含層中能很好地表示輸入數據特征的部分,S 包含噪聲和難以重構的異常值。
其中Eθ(·)表示編碼器,Dθ(·)表示解碼器,λ 是一個調整S 稀疏度的一個參數。通過這樣做,穩(wěn)健深度自編碼器對訓練數據集中的異常值和噪聲是魯棒的。利用穩(wěn)健深度自編碼器的隱層進行數據特征選擇,可作為預測模塊的輸入數據,通過支持向量機(SVM)等預測方法進行數據預測。
將選擇的特征作為輸入提供給預測模塊,通過使用驗證數據集進行訓練和優(yōu)化,將得到一個含有深度分類器的預測模型。與傳統預測模型相比,深度分類器可以更快發(fā)現高級特征,縮短訓練時間,降低過擬合,改善模型的通用性,由此來提高預測算法的準確性和可靠性。
線性回歸(LR)是[9,10]預測中應用最廣泛的回歸模型之一。它將預測模型與目標變量的觀測數據集相擬合以進行預測和相應的特征。支持向量機(SVM)[11]最初用于解決一個二值分類問題,通過構造一個決策平面來分離邊界最大的二值分類。支持向量機既可以解決分類[12]問題,也可以解決原理相似的回歸[13]問題。神經網絡(NN)是由神經元組成的多層網絡,通過非線性激活函數來學習輸入和輸出之間的非線性關系。神經網絡在訓練過程中使用梯度下降法,試圖尋找更適合數據的系數,直到得到模型預測[14]的最優(yōu)權值。
隨機森林[15,16]通過在訓練時構造多個決策樹,并輸出單個決策樹的平均預測來進行回歸分析。隨機森林是一種套裝技術,在樹之間沒有相互作用,因此生成預測時無相互影響。
本案例的預測模型通過穩(wěn)健的深度自動編碼器(Robust Deep Autoencoder)來選擇最有用的特征,然后利用隨機森林(RF)算法對按收入法構成的安徽生產總值(GDP)進行預測。
數據集包括2005-2019 年安徽生產總值(GDP)及按行業(yè)、產業(yè)和收入法構成的28 個相關因素。本案例以安徽生產總值為系統屬性,將行業(yè)、產業(yè)和收入法構成的28 個相關因素作為一系列相關的特征,由此構成相關的數據集,如表1。其余年份的數據作為訓練集,經穩(wěn)健的深度自動編碼器來選擇最有用的特征,利用隨機森林(RF)算法預測2014-2016 年的安徽生產總值(GDP),其結果如表2。
表1 2005-2019 年的安徽生產總值 單位:億元
表2 用隨機森林(RF)模型預測GDP
其中yi,分別為實際數值和預測數值。
表2 將2014-2016 年安徽生產總值(GDP)預測結果與基于穩(wěn)健的深度自動編碼器的特征選擇方法的有效性進行對比。從表2 中可以看出,使用特征選擇后的隨機森林(RF)預測的安徽生產總值(GDP)與實際數值更加接近,證明了特征選擇步驟的重要性。
表3 對隨機森林(RF)預測模型誤差進行分析。其中包含均方根誤差(RMSE)絕對數值分析,希爾不等系數(Theil IC)和平均絕對百分誤差(MAPE)相對數值分析[17]。如果平均絕對百分誤差的值小于10,希爾不等系數數值小,則認為預測模型可行。而帶有特征選擇的隨機森林(RF)預測模型得到的MAPE 值為2.688162,其值較小且小于10,說明其模型預測精度較高。從表3 看,帶有特征選擇的RF 預測模型的希爾不等系數值為0.013799,比無特征選擇的RF 系數小,且遠遠小于1,說明此模型的預測準確度較高。同時帶有特征選擇的RF 預測模型的均方根誤差的值為608.875,也比無特征選擇的RF 均方根誤差小。
表3 隨機森林(RF)模型預測誤差比較
綜上所述,通過對安徽生產總值(GDP)預測模型的分析,驗證了深度自動編碼器的特征選擇方法在安徽生產總值(GDP)預測中的有效性。
提出了一種基于特征選擇算法的GDP 預測模型。該模型主要由特征選擇模塊和預測模塊組成。通過計算系統屬性與特征屬性之間的關聯,只有相關性最高的特征屬性才能被保留。然后,將選取的特征屬性作為輸入數據進入預測模塊進行預測。以安徽省的生產總值(GDP)為案例,對預測模型進行了驗證。結果表明,通過利用提出的特征選擇方法選擇有用的特征,對GDP 進行預測可顯著提高預測模型的準確性和有效性。