蘭瑞杰,孟維高,耿進強
(河北地質大學 城市地質與工程學院,河北 石家莊 050031)
近年來房地產價格處于居高不下的狀態(tài),房價走勢問題成為了社會各界關注的熱點話題,而基于房價收入比、房地產產值在國民經濟中所占比重等傳統(tǒng)指標由于時效性較差,使房地產價格的波動趨勢較難預測,因此尋求一種時效性強的房價預測方法顯得尤為重要。在大數(shù)據(jù)時代,互聯(lián)網的快速發(fā)展、互聯(lián)網用戶偏好、媒體信息以及媒體效應對房地產供求市場具有較大影響,網絡搜索逐漸成為民眾獲取信息的主流渠道。因此通過分析影響房地產的相關詞條搜索痕跡建立房地產價格預測模型,從而探求房地產價格的變化關系成為一種較新穎的預測方法。
關于房地產價格波動,由于購房者的視野較大程度上被互聯(lián)網的媒體信息所主導,研究人員開始研究媒體效應對房地產市場價格的影響。研究人員將媒體效應指標量化為購房者的網絡搜索行為[1-3],從數(shù)據(jù)中發(fā)現(xiàn)網絡搜索數(shù)據(jù)對房地產價格市場具有較高的相關性。將網絡搜索數(shù)據(jù)加入房地產價格的回歸預測模型中,結果表明網絡搜索數(shù)據(jù)可以提高預測模型精度。這說明了網絡搜索數(shù)據(jù)可以表征用戶的信息需求、行為偏好,也說明了網絡搜索數(shù)據(jù)具有較好的數(shù)據(jù)時效性,可以提高預測結果的準確性。
在對房地產價格進行預測時,研究人員從傳統(tǒng)計量模型到機器學習模型進行了大量研究。文獻[4]采用灰色系統(tǒng)GM(1,1)模型對包頭市房地產每年的價格數(shù)據(jù)進行房價預測,結果顯示模型精度高擬合效果較好,預測結果也表明未來幾年包頭市房地產價格趨于穩(wěn)定。傳統(tǒng)的灰色模型未考慮各影響因素對房地產價格的影響存在滯后性等缺點,文獻[5]通過構建對房地產價格的向量自回歸(Vector Auto Regression,VAR)模型,將時間序列滯后特點引入模型,擬合效果較好。但VAR模型的預測能力較差,且灰色系統(tǒng)在進行非線性數(shù)據(jù)預測時并不能表現(xiàn)出較好的適應性。機器學習例如BP神經網絡(Back Propagation Neural Network)與寬容的支持向量機(Support Vector Machine,SVM)能更好地適應線性數(shù)據(jù)與非線性數(shù)據(jù)。文獻[6]采用了GM(1,1)與BP的組合神經網絡模型,結果表明其對有波動性的數(shù)據(jù)類型有較好的預測精度,并增強了模型的自適應性。文獻[7]將VAR-GM(1,1)-SVR這3種模型相結合建立綜合預測模型,將計量經濟學的VAR模型和灰色預測模型作為模型輸入,結果表明該結合式的全新模型具有更好的預測精度。文獻[8]以百度指數(shù)為數(shù)據(jù)基礎,采用多種傳統(tǒng)算法例如線性回歸、回歸樹以及隨機森林等對房地產價格指數(shù)進行預測。該組合式的模型雖然對預測精度具有較大提升,但是這類機器學習模型在參數(shù)選取上有較大的不確定性,模型的泛化能力和穩(wěn)定性有待提升。文獻[9]和文獻[10]分別采用蝙蝠算法和粒子群算法對SVR的相關參數(shù)進行優(yōu)化,提高了房價模型的預測精度。
通過梳理文獻可知,目前關于房地產價格的傳統(tǒng)研究數(shù)據(jù)主要來源于歷年統(tǒng)計年鑒和國家統(tǒng)計局,其數(shù)據(jù)的時效性較低,影響了預測結果的準確性。運用網絡搜索數(shù)據(jù)建立與房地產價格市場的關系能夠減小數(shù)據(jù)本身對預測結果的影響,具有較好的可靠性和時效性。此外,在房價預測模型方面,研究人員大多采用計量經濟模型(二維云預測模型[11]、VAR模型[12]、灰色系統(tǒng)GM和機器學習神經網絡[13]以及SVR[14])進行房地產價格預測,但SVR模型在參數(shù)選取上仍存在一定的優(yōu)化空間。因此本文采用時效性較高的網絡搜索數(shù)據(jù)研究房地產價格,根據(jù)文獻[3、11、15]確定房地產價格網絡搜索的關鍵詞庫,采用麻雀搜索算法優(yōu)化的SVR作為房地產價格的預測模型,在選取房地產價格的解釋變量數(shù)據(jù)與算法模型選取方面均具有一定的創(chuàng)新性。
隨著深度學習、人工智能的快速發(fā)展,人工智能算法理論也在不斷更新。智能算法與神經網絡和SVR結合可以優(yōu)化模型參數(shù),從而提高模型的預測精度和收斂速度。常見的模型優(yōu)化算法有粒子群算法[16]、遺傳算法[17]、鯨魚算法[18]以及網格算法[19]等。但是這些智能算法在尋優(yōu)性、全局最優(yōu)搜索能力和收斂能力方面均有一定的優(yōu)化空間?;诖?本文采用一種啟發(fā)于麻雀覓食和反捕食的麻雀搜索算法。該算法比較新穎,具有尋優(yōu)能力強、收斂速度快以及可尋找全局最優(yōu)的特點。利用麻雀搜索算法優(yōu)化調節(jié)SVR模型的懲罰參數(shù)C和參數(shù)g,但該方法在模型應用上具有一定的創(chuàng)新性。
在覓食過程中,麻雀種群分為探索個體和跟隨個體。探索者負責尋找食物并確定食物位置和覓食方向,跟隨者通過獲取探索者共享的信息來進行覓食。麻雀的覓食行為分為探索策略和跟隨策略。麻雀種群中的每只麻雀都可以獲得其他麻雀所采取的策略和行為。種群中的個體監(jiān)控種群中其他個體的行為,種群中的攻擊者與高攝入量的同伴競爭食物資源以提高捕食率。同時,麻雀也有預警機制,當危險來臨時,麻雀會轉移到安全區(qū)域。高適應度的探索者在種群搜索食物過程中處于高優(yōu)先級地位,即優(yōu)先獲取食物。探索者為整個麻雀種群提供食物,并且決定跟隨者的覓食方向,所以探索者的位置更新范圍大于追隨者的位置搜索范圍。
探索者的覓食位置更新計算式如下所示
(1)
式中,t為種群的迭代次數(shù)t∈1,2,…,itermax;j是優(yōu)化問題的維數(shù)j∈1,2,…,d;Q和a是隨機產生的隨機數(shù)且Q服從正態(tài)分布;L是1×d的全1矩陣;R2屬于0~1表示麻雀種群位置的預警值;ST屬于0.5~1.0,表示麻雀種群位置的安全值。當預警值小于安全值時,代表種群處于安全搜索區(qū)域,捕食范圍較大;當預警值大于或等于安全值時,代表種群接近危險區(qū),整個種群需轉移到其他區(qū)域覓食。
追隨者的位置更新計算式如下所示
(2)
式中,XP表示當前探索者尋找到的最佳位置;Xworst是當前種群覓食的最差位置;A是1×d的矩陣,其值為1或-1;i>n/2表明適應度值較低的第i個跟隨者未獲得食物,處于緊急狀態(tài),此時追隨者需要去其他位置覓食。
當危險來臨時,種群的危險預警機制更新計算式如下所示
(3)
式中,fi表示當前麻雀適應度值;fg表示全局最佳適應度值;fw表示全局最差適應度值;K是麻雀的移動方向,是控制移動步長的參數(shù)。當fi=fg時表示種群發(fā)現(xiàn)了危險,需要靠近其他麻雀以減少被捕食風險。當fi>fg時,表示麻雀處于種群邊緣,容易被捕食。
支持向量機(SVM)是一種機器學習的建模方法,其理論基礎源自統(tǒng)計學,SVM通過尋找結構風險最小值來提高模型的泛化能力,使經驗風險和置信區(qū)間最小化,從而達到使用較少的統(tǒng)計樣本獲得良好的統(tǒng)計規(guī)則的目的。
SVR模型是由SVM的分類問題演化而來,分類器模型輸出離散值,而回歸模型輸出連續(xù)值。SVM分類模型在引入不敏感參數(shù)ε后,得到支持向量的回歸模型即SVR。SVR模型具有良好的非線性預測能力,適合小樣本數(shù)據(jù)學習。SVR是預測模型的研究熱點,尤其在機器學習、智能算法的推進下,SVR模型得到了不斷優(yōu)化[20]?;驹砣缦?
給定樣本容量為N的n維訓練數(shù)據(jù)集,當輸入變量與輸出變量呈非線性關系時,函數(shù)形式如下所示
f(x)=ωTφ(x)+a
(4)
式中,a是回歸函數(shù)的截距項;ω為回歸系數(shù);φ(x)是一種非線性的核函數(shù)。該函數(shù)能夠將低維非線性的數(shù)據(jù)直接映射到一個高維空間,可以將非線性運算轉換為線性運算。支持的向量回歸實質就是通過尋找回歸函數(shù)f(x),使全部的訓練數(shù)據(jù)相應函數(shù)值和目標偏差都不能超過不敏感參數(shù)ε,其目標函數(shù)和約束計算式如下所示。
(5)
(6)
(7)
(8)
將式(8)一階偏導為0求出的結果帶入式(6),并引入符合Mercer條件的有效核函數(shù)K得到目標函數(shù)的對偶問題形式,如下所示
(9)
(10)
得到回歸模型的計算式如下所示。
(11)
核函數(shù)可以通過非線性變換將原空間內積映射到高維特征空間。在本文模型中,核函數(shù)選用RBF核函數(shù)即高斯徑向核函數(shù)
(12)
其中,xi為核函數(shù)中心;σ為函數(shù)的寬度參數(shù),控制函數(shù)的徑向作用范圍。
通過麻雀搜索算法對SVR的參數(shù)C和g進行優(yōu)化,建立天津市新房價格指數(shù)預測模型。SSA-SVR天津市房價預測模型如下:
步驟1對輸入數(shù)據(jù)和輸出數(shù)據(jù)進行歸一化化處理。將房價指數(shù)關鍵詞的搜索指數(shù)作為模型的輸入變量,在篩選影響因素時與房地產價格進行簡單的皮爾遜相關系數(shù)檢驗,選取與房地產價格指數(shù)相關系數(shù)大于0.7的關鍵詞,最終確定房地產價格預測模型的輸入變量,有利于提升預測精度。歸一化計算式如下所示。
(13)
步驟2設置相關參數(shù)。初始化麻雀搜索的種群個數(shù)、進化代數(shù)、K折交叉,根據(jù)種群中探索者和跟隨者的比例數(shù)量對SVR參數(shù)C、g的范圍進行設置。
步驟3生成新的個體。按照式(2)~式(4)對探索者、跟隨者以及預警機制下麻雀進行位置更新,不斷迭代生成新的解,并記錄當前探索者位置最優(yōu)解以及全局最優(yōu)解。
步驟4評估適應度函數(shù),得到適應度最佳的個體。SSA應采取適當措施以確保最佳的參數(shù)設置,從而提高模型的預測精度。在SSA算法優(yōu)化模型參數(shù)時,采用K折交叉驗證(K-CV)方法,K折交叉驗證可有效解決模型泛化能力差過度擬合的情況,選取預測模型的均方誤差作為適應度函數(shù)。K折交叉驗證利用了無重復采樣的優(yōu)勢:每個個體在每次迭代中只有一次機會被包含在訓練或測試集中。結合本文樣本容量大小,取k= 5。模型評價指標均方誤差(Mean Square Error,MSE)如式(14)所示。
(14)
步驟5停止循環(huán)標準。有兩個停止標準,一個是迭代次數(shù)達到設定標準,另一個是模型誤差達到預期水平。當?shù)鷿M足停止條件時輸出預測結果,否則重復步驟3和步驟4,直到迭代次數(shù)達到預設值。通過循環(huán)迭代得到最佳的適應度函數(shù)值,獲取最佳的模型參數(shù)。再將麻雀搜索算法得到的最佳模型參數(shù)C和g運用到SVR模型中,將數(shù)據(jù)分為訓練集和測試集進而得到房價指數(shù)預測模型。
麻雀搜索算法優(yōu)化的SVR房價預測模型算法流程如圖1所示。
圖1 麻雀搜索算法優(yōu)化SVR流程Figure 1. Sparrow search algorithm optimization SVR flow
百度指數(shù)是以百度搜索為基礎的用戶行為為基礎的數(shù)據(jù)分析平臺,是目前的主要數(shù)據(jù)分析平臺之一。以通過分析影響房地產的相關詞條搜索痕跡為解釋變量建立房地產價格預測模型,數(shù)據(jù)來源為百度指數(shù)網上影響房地產價格的關鍵詞。采用Python工具選取與關鍵詞相關指標數(shù)據(jù)2011年1月~2021年3月近20萬條日數(shù)據(jù),并匯總為月數(shù)據(jù)作為解釋變量。
房地產價格選取天津市新房價格指數(shù)作為被解釋變量,數(shù)據(jù)來源中國指數(shù)研究院數(shù)據(jù)庫,范圍為2011年1月~2021年3月的月數(shù)據(jù),樣本來源天津市所有包括商業(yè)用房、寫字樓以及居民住宅在售商品新房項目。在進行訓練集劃分時,為了避免模型出現(xiàn)過擬合現(xiàn)象,對2011年1月~2021年3月共計123個月的樣本數(shù)據(jù)進行隨機取樣預處理,隨機選取其中36個月作為測試樣本,其余樣本作為模型的訓練樣本。
房地產價格相關網絡搜索數(shù)據(jù)可以反映購房者潛在的相關需求,但并不是所有網絡搜索數(shù)據(jù)都與房價具有顯著關系。通過文獻和百度推薦得到的與天津市房地產有關搜索關鍵詞需要進行一定的數(shù)據(jù)分析處理,才可作為天津房地產價格的被解釋變量。初始關鍵詞要盡可能覆蓋所有與房地產價格有關的關鍵詞,對關鍵詞與天津房價指數(shù)進行相關性分析,剔除無效關鍵詞,得到與房價指數(shù)相關的關鍵詞,可以提高模型的預測能力。本文對網絡搜索數(shù)據(jù)確定和選取步驟如下:
步驟1首先確定網絡搜索數(shù)據(jù)的初始關鍵詞庫。本文采取百度相關推薦與文獻查閱方式,分別從供給、需求、替代、政策、金融以及財政等方面選取與天津市房價市場有關的55個初始關鍵詞,如表1所示。
表1 初始關鍵詞庫
步驟2采用R語言作為數(shù)據(jù)分析工具,對所有解釋變量與被解釋變量進行相關性分析,選取相關性大于0.7的解釋變量,剔除不顯著相關的解釋變量,提高預測模型的準確度。剔除后解釋變量與被解釋變量的相關系數(shù)如圖2所示。
圖2 相關系數(shù)熱力矩陣Figure 2. Correlation coefficient thermal matrix
y為被解釋變量天津房地產價格指數(shù),x1~x9分別為:安居客、存款基準利率、存款利率、房地產營業(yè)稅、房天下、鏈家、人才引進、物價稅、天津房價指數(shù)滯后觀測量。
因為單一誤差指標并不能完全體現(xiàn)預測模型的可靠性,為驗證和比較SSA-SVR模型與其他基準模型的預測性能,本文采用相關系數(shù)r、均方根誤差(Root Mean Square Error, RMSE)、平均絕對誤差(Mean Absolute Error, MAE)和平均絕對百分比誤差(Mean Absolute Percentage Error, MAPE)等指標對預測模型進行評價。評價指標的計算式如下所示。
(15)
(16)
(17)
(18)
(19)
圖3展示了在麻雀搜索算法過程中所有麻雀適應度的平均值變化以及最佳適應度變化曲線,適應度曲線可以看出算法的收斂速度尋優(yōu)能力較好。且經過麻雀搜索算法尋優(yōu)得到最佳參數(shù)C為348.59,g為0.24,即麻雀搜索算法訓練所得的SVR最佳參數(shù)。
圖3 麻雀搜索算法適應度迭代Figure 3. Fitness iteration graph of SSA
為進一步研究本文模型的預測性能,將天津市新房價格指數(shù)作為被預測變量,隨機抽取36個樣本作為測試樣本,其余樣本作為測試樣本。模型所得測試樣本的預測結果如表2,測試集訓練集與測試集誤差對比如圖4和圖5所示。
表2 SSA-SVR模型測試樣本預測結果
圖4 訓練樣本真實值與預測值對比Figure 4. Comparison of actual and predicted values of training samples
圖5 測試樣本真實值與預測值對比Figure 5. Comparison between the actual value and the predicted value of the test sample
由表2可知,真實值與預測值誤差在5以內的樣本有21個,誤差在3以內的樣本有15個,誤差在1以內的樣本有8個,誤差整體偏小,表明模型具有較好的預測性能。由圖4可以看出,兩個樣本的真實值和預測值幾乎都在同一個點上,說明該預測模型預測精確度較好。同時對比訓練樣本和測試樣本兩個誤差分析,并未出現(xiàn)訓練誤差遠小于測試樣本誤差情況,說明模型的泛化能力較好,未出現(xiàn)過擬合現(xiàn)象。
圖5反映了SSA-SVR模型在基于網絡搜索數(shù)據(jù)為輸入的房價預測數(shù)據(jù)樣本區(qū)間具有較好的擬合效果,預測與實際值的誤差較小,說明麻雀搜索算法優(yōu)化SVR混合模型具有較好的預測性能。由圖5可以看出,模型在訓練樣本和測試樣本均具有較好的擬合效果,平均絕對百分比誤差(MAPE)在訓練樣本為0.25%,在測試樣本為0.33%,進一步說明該模型具有較強的泛化能力。
為進一步研究麻雀搜索算法是否優(yōu)化了模型的預測精度,將SSA-SVR與PSO-SVR、GA-SVR、WOA-SVR、GS-SVR和基準SVR進行模型對比。評價標準為相關系數(shù)r、均方根誤差(RMSE)、平均絕對誤差(MAE)、均方誤差(MSE)以及平均絕對誤差比(MAPE)。對比結果如表3所示。
表3 模型誤差分析
通過模型對比可以看出,利用智能算法對參數(shù)優(yōu)化對SVR模型的預測精度具有較大提升。通過不同智能算法之間的對比可以看出,麻雀搜索算法具有更好的全局尋優(yōu)能力,麻雀搜索優(yōu)化算法可以提高模型的預測準確度,提升模型的預測能力。
機器學習模型在進行房價預測時,若采用傳統(tǒng)經濟指標作為房價的影響因素數(shù)據(jù),數(shù)據(jù)滯后性問題會使預測精度降低。此外,模型參數(shù)的設定對預測模型的精度同樣具有較大影響。因此本文采用一種新型的智能算法麻雀搜索算法SSA優(yōu)化SVR模型相關參數(shù),并選取近20萬條網絡搜索數(shù)據(jù),將篩選得到的數(shù)據(jù)作為解釋變量進行驗證。對比基準模型與不同智能算法優(yōu)化模型的預測性能指標例如均方誤差和平均百分比誤差的結果表明麻雀搜索算法優(yōu)化的SVR模型在房價預測精度與泛化能力上均具有較好的提升。