吳 宇,孫宏宇,孫明辰,王洪君
(吉林師范大學 計算機學院,吉林 四平 136000)
人口遷移這一社會現象目前已經引起多學科交融研究領域學者的關注,從圖1、圖2可以看出,各個省份的凈人口流動數量與自然增長率趨勢截然不同。數據表明各地區(qū)的人口數量變化情況是受條件影響的,并不完全取決于人口基數,受人口遷移的影響也十分顯著。進行人口遷徙預測可以更好的把握地區(qū)人口變化情況以及地區(qū)城市化情況,對社會經濟發(fā)展具有重要指導意義。因此,進行人口遷徙預測研究勢在必行。但目前研究上存在一些不足,一方面城市參數眾多,應用現有技術將其統(tǒng)計可以輕易實現,但其中摻伴的無效數據,不僅無形中提高了實驗的能耗,也造成了數據混淆;另一方面,傳統(tǒng)的人口流動預測方法大多是根據經濟、政策等理論來總結人口流動規(guī)律加以預測。如:流動人口的規(guī)??偭亢徒Y構形式隨經濟體發(fā)展變遷的規(guī)律、城市收入水平和公共服務能力差異,是吸引外來人口流入的首要因素等等[1]。但無論使用什么方法,其根本在于分析人口流動情況和其影響因素之間的關系,并通過該關系構建模型或形成理論預測未來人口變化情況。
數據來源:國家統(tǒng)計局發(fā)布
數據來源:國家統(tǒng)計局發(fā)布
隨著科技的發(fā)展,通過人工智能的方法進行大數據分析預測城市人口,可以節(jié)省大量的時間以及資源的消耗。數據的獲取以及預測算法的選擇在很大程度上影響著預測結果的精確性,不同模型對于人口的預測結果也不同[2]。本文旨在提出一種PDTR預測模型,通過使用人工智能算法,總結出人口流動與影響其發(fā)生變化的城市參數之間的關系并形成模型,以進行對各省份未來人口流動情況的預測。
PCA方法可以利用降維思想抓住所要研究問題的主要矛盾,簡化復雜問題,使研究效率得到提高[3]。
本文從燃氣、供水、供熱、公共交通、城市市容、綠地園林等7個方面中,選取46項城市參數指標,由于在選擇訓練樣本時,各個樣本指標之間的可能相關性較高, 所以可能導致樣本信息過度重復的情況 , 這時就需要借助 PCA 方法來概括諸多信息的主要方面 ,對樣本指標信息進行降維。通過這些綜合指標相互獨立地代表某一方面的性質 , 從而改進訓練樣本的有效性[4]。
將現有m個城市指標參數組成的原始數據集,分別用I1,I2,...,Im表示,由這m個城市參數指標組成了m維隨機向量I=(I1,I2,...,Im),設α為隨機向量I均值;隨機向量I線性變換成新的綜合變量,用D表示。新綜合變量D與原始變量I線性關系由公式(1)表示[5]:
(1)
式中:系數αij可以根據下面幾個原則來確定:
(1)α112+α122+...+α1m2=1(i=1,2,…,m);
(2)Di與Dj(i≠j;i,j=1,2,…,n)線性無關;
(3)D1為I1,I2,...,Im所有線性組合中方差最大者;D2為與D1不相關的I1,I2,...,Im的所有線性組合中方差最大者;Dn為D1,D2,...,Dn-1都不相關的線性組合中方差最大者。
這樣確定的新變量指標D1,D2,...,Dn分別稱為原變量指標I1,I2,...,Im的第1主成分,第2主成分,...,第n主成分。其中,D1,D2,...,Dn的方差依次減小。實際問題分析時,常挑選前面幾個最大的主成分,這樣既可以減少變量的數目,又抓住了問題的主要矛盾,簡化了各變量之間的關系[6]。
本文最終使用PCA的fit方法,對全部訓練數據進行訓練,得到訓練好的PCA模型。輸入格式為fit(X),其中X是預處理后的訓練集數據樣本。通過PCA的transform方法將全部訓練數據進行變換,得到經過主成分分析后的特征。輸入格式為transform(X),其中X是待轉換的數據,也是后續(xù)決策樹分析的輸入數據。
決策樹是一種樹形結構的分類與回歸方法[7],其目的是通過對訓練集進行學習,找出特征和類別之間的關系。一旦這種關系被找出,就能用其來預測未知類別數據的類別。本文使用決策樹回歸分析方法進行回歸分析,所謂“決策”就是進行一次選擇,每進行一次選擇實質上就是對特征空間進行一次劃分,每劃分出一個單元該單元就會有一種特定的輸出[8]。而劃分或做“決策”的過程就是建立決策樹的過程。本文使用標準差標準化和主成分分析(PCA)進行數據與處理,對預處理后的數據使用決策樹回歸模型(Decision Tree Regression)進行回歸分析,以得到預測模型。具體流程如圖3所示。
圖3 PDTR模型的總體設計方案流程圖
實現步驟如下:
(1)對輸入數據進行預處理,其中包括數據清洗和標準化;
(2)對處理后的數據進行主成分分析,得到降維后數據;
(3)使用降維后數據訓練決策樹模型;
(4)對測試數據進行預測得到結果,若結果達到標準則保存模型對真實數據進行預測,否則修改主成分分析和決策樹回歸模型的參數,返回步驟(3)繼續(xù)進行第三步操作。
本文實驗數據來源于2006~2017年《中國統(tǒng)計年鑒》,從各年的數據中選取供熱、供水、燃氣、城市市容、公共交通、綠地園林等6大類城市參數指標,共45小項數據類別進行分析,將各年的出生率、死亡率、年增長率和6大類城市參數指標進行了集成用于預測實驗。詳細情況見表1。
表1 城市參數數據集
數據的完整性很重要,會影響到后續(xù)的數據處理。本文對于重要的數據,使用的是相對于丟棄更常用的補全。首先利用Pandas的fillna方法,將原始數據集中的缺省值部分填充為相應特征下樣本的平均值(df.fillna(df.mean()['chas':'rm']));再利用StandardScaler對上一步處理后的數據,采用公式(2)進行數據去均值和方差,實現數據歸一化,以便更好地對數據進行特征提取。
(2)
式中:μ為所有樣本數據的均值,σ為所有樣本數據的標準差。
將歸一化后的6個指標(x=(x1,x2,...,x6))作為PDTR模型的自變量,將流動人口(10萬人)y作為因變量。
本文共采集46項城市參數指標,為了更好的保存數據信息且提高實驗效率,使用PCA時選取了前24項主成分,將數據從46維降維24維;在使用Decision Tree Regression時,本文針對2016年數據,將max_depth參數即決策回歸樹的最大深度設置為從1開始,通過不斷迭代直至達到極限,得到圖4所示結果。將min_weight_fraction_leaf參數,即最小權重系數設置為從0開始,通過不斷迭代直至達到極限,得到圖5所示結果。
圖4 2016年均方誤差變化情況
圖5 2016年均方誤差變化情況
圖4中藍色折線代表2016年份的原始數據經數據預處理后,對設置了不同max_deep值的決策樹回歸模型進行訓練,得到的均方誤差值。從圖4中可以看出,將max_deep值設置為14時,預測的絕對誤差相對較小。因此,本文在使用決策樹回歸模型時將該參數設置為14。
圖5中藍色的折線代表2016年份的原始數據經數據預處理后,使用處理后的數據對設置了不同min_weight_fraction_leaf值的決策樹回歸模型進行訓練,得到的均方誤差值。當min_weight_fraction_leaf值設置為0時,代表不使用權重。從圖5中的趨勢可以看出,當該參數值設置為0.01時,均方誤差達到最小。因此,本文將該參數的值設置為0.01。
本文從研究總體中選擇2013年的數據作為訓練集,將2014~2017年的數據作為測試集。將預測值與真實值進行比較,并計算平均絕對誤差(MAE)、均方誤差(MSE)、中值絕對誤差(MDAE)、可解釋方差值(EVS)和R方值(R2),與進行過數據標準化和PCA處理的SVR算法進行比較,實驗結果見表2。
表2 模型評價
由于本文進行對比分析的數據樣本數量相同,因此R2值可以很好地反映出本文所使用的回歸模型擬合程度效果的好壞。從表2可以看出,本文提出的算法與SVR相比,平均絕對誤差、均方誤差、中值絕對誤差的值更接近于0,可解釋方差和R方值更接近于1,證明PDTR模型性能良好。從圖6~圖9可看出,模型對2014~2017這4年預測的結果變化趨勢與真實值近乎相同。
圖6 2014年對比圖
圖7 2015年對比圖
圖8 2016年對比圖
圖9 2017年對比圖
本文探究了國內各城市人口流動情況與城市參數之間的關系,選取了6種城市參數(燃氣、供水、供熱、城市市容、公共交通、綠地園林)共45項指標。由于不是所有指標都對人口流動有影響,因此對原始數據進行特征提取,選出有效特征進而進行數據分析。本文提出的PDTR模型通過實驗分析,可以很好地解決上述問題。本文采用主成分分析方法(PCA)進行特征提取。該方法可以在很大程度不損失數據信息的條件下,對原始高維度數據進行降維,即通過變換映射到低維空間中。通過實驗驗證,PCA的n_components超參數為24,對原始數據進行去燥和降維;Decision Tree Regression的max_depth超參數為14、min_weight_fraction_leaf超參數為0.01時,可以很好的進行預測,得到的結果相對準確。