楊海濤,孫慶輝,呂建明,阮鎮(zhèn)江,夏蘭亭,徐 飛
1(廣東省建設(shè)信息中心,廣州 510055)
2(華南理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,廣州 510006)
省域地理范圍房產(chǎn)權(quán)利登記和交易活動(dòng)中所形成的歷年數(shù)據(jù)記錄是反映我國(guó)經(jīng)濟(jì)社會(huì)活動(dòng)的重要大數(shù)據(jù)基礎(chǔ)資源.我們?cè)诔袚?dān)廣東省應(yīng)用型科技研發(fā)專項(xiàng)資金重點(diǎn)項(xiàng)目“省域房地產(chǎn)交易數(shù)據(jù)資源云同步及大數(shù)據(jù)規(guī)模化應(yīng)用”過(guò)程中,獲得了海量的廣東省域房地產(chǎn)交易法定業(yè)務(wù)實(shí)錄大數(shù)據(jù)資源.然而,這些過(guò)往業(yè)務(wù)所產(chǎn)生的歷史和現(xiàn)狀大數(shù)據(jù)的直接使用,只能發(fā)揮其檔案查詢、數(shù)據(jù)統(tǒng)計(jì)和現(xiàn)態(tài)監(jiān)控的數(shù)據(jù)支持作用,對(duì)于省級(jí)房地產(chǎn)主管部門(mén)進(jìn)行房地產(chǎn)市場(chǎng)預(yù)警預(yù)報(bào),開(kāi)展住房和房地產(chǎn)管理政策、產(chǎn)業(yè)發(fā)展和住房建設(shè)規(guī)劃的研究和制定等并無(wú)前瞻性的幫助.就我國(guó)房地產(chǎn)大數(shù)據(jù)應(yīng)用意義而言,省域區(qū)劃是我國(guó)社會(huì)治理和政治經(jīng)濟(jì)特色的最大綜合管治(包括監(jiān)管服務(wù)與行業(yè)調(diào)控)單元.特別是,廣東省作為我國(guó)第一經(jīng)濟(jì)大省,2019年全省實(shí)現(xiàn)地區(qū)生產(chǎn)總值107 671.07 億元(僅低于世界排行第12 名的韓國(guó)),其中全年新增房地產(chǎn)開(kāi)發(fā)投資15 852.16 億元[1],加上城鎮(zhèn)與房產(chǎn)為依托的各行各業(yè)的經(jīng)濟(jì)產(chǎn)值則總量更為巨大.因此在宏觀層面研究廣東省域房產(chǎn)大數(shù)據(jù)并深化其應(yīng)用具有重要的現(xiàn)實(shí)意義.本文擬通過(guò)建立基于人工智能的系統(tǒng)平臺(tái),全程實(shí)現(xiàn)對(duì)既有積累的海量房產(chǎn)法定業(yè)務(wù)大數(shù)據(jù)資源做可視化呈現(xiàn)并面向未來(lái)進(jìn)行建模預(yù)測(cè),以探索實(shí)現(xiàn)直觀地顯示預(yù)示廣東省域城鄉(xiāng)建設(shè)、城鎮(zhèn)發(fā)展的某些重要指標(biāo)(如房產(chǎn)或房屋建筑面積和套數(shù))的時(shí)空演化過(guò)程,為研究廣東省域城鄉(xiāng)建設(shè)、區(qū)劃經(jīng)濟(jì)的布局趨勢(shì),科學(xué)有效地輔助支持各相關(guān)城市開(kāi)發(fā)建設(shè)管理決策和省域房地產(chǎn)市場(chǎng)宏觀調(diào)控等工作服務(wù).
在“十三五”期間,我們一直從事廣東省域房產(chǎn)大數(shù)據(jù)相關(guān)工作,具備了進(jìn)一步開(kāi)展房產(chǎn)大數(shù)據(jù)深度智慧應(yīng)用的基礎(chǔ).
1.2.1 房產(chǎn)大數(shù)據(jù)基礎(chǔ)平臺(tái)及數(shù)據(jù)資源開(kāi)發(fā)建設(shè)
建立“(房產(chǎn))行業(yè)數(shù)據(jù)云同步樞紐平臺(tái)系統(tǒng)”:實(shí)現(xiàn)了可覆蓋全省各市房地產(chǎn)交易登記數(shù)據(jù)的同步歸集.提供了包括同步系統(tǒng)節(jié)點(diǎn)規(guī)劃管理、安裝配置,分塊流水線處理、單和雙向同步(全量/增量,樂(lè)觀/謹(jǐn)慎校驗(yàn)策略,同步塊及分組調(diào)適)、并發(fā)控制、指標(biāo)映射、多屬性主鍵歸一、敏感字段Hash,以及同步正確性保障等較齊全的同步樞紐平臺(tái)功能.
建立“HBDP (housing big data platform)省房屋大數(shù)據(jù)計(jì)算集群及作業(yè)調(diào)度系統(tǒng)”[2]:集群采用Hadoop分布式文件存儲(chǔ)架構(gòu),選用Hive 管理元數(shù)據(jù),供用戶利用Spark SQL 進(jìn)行房屋大數(shù)據(jù)分布式交互分析,參見(jiàn)圖1.
圖1 HBDP 省房屋大數(shù)據(jù)計(jì)算集群及作業(yè)調(diào)度系統(tǒng)
歸集省域房產(chǎn)交易登記數(shù)據(jù)資源:形成全省房產(chǎn)交易與產(chǎn)權(quán)管理數(shù)據(jù)大字典1 137 頁(yè)(省和各市卷合編),入庫(kù)各市4 108 個(gè)原始表、92 871 列字段、9.07 億條記錄,約203.7 GB 數(shù)據(jù)量.析出房產(chǎn)單元約1 551.4 萬(wàn)套(其中,住宅831.8 萬(wàn)套,有房屋建成年份的約1 200 萬(wàn)套)、產(chǎn)權(quán)人827 萬(wàn).梳理8 市網(wǎng)簽和預(yù)售系統(tǒng)樓盤(pán)表共935.4 萬(wàn)戶和22 790 個(gè)房地產(chǎn)項(xiàng)目的數(shù)據(jù).
1.2.2 海量地址關(guān)聯(lián)數(shù)據(jù)的熱力圖渲染優(yōu)化研發(fā)
地址關(guān)聯(lián)數(shù)據(jù)的地理分布熱力圖呈現(xiàn)通常是依托基于位置服務(wù) (location-based service,LBS)公共平臺(tái)進(jìn)行二次開(kāi)發(fā)實(shí)現(xiàn).現(xiàn)有方案是將所有地址關(guān)聯(lián)數(shù)據(jù)在本地進(jìn)行整理后按照固定的格式全部上傳至LBS服務(wù)提供商的遠(yuǎn)程服務(wù)器,由遠(yuǎn)程服務(wù)器處理后返回本地進(jìn)行呈現(xiàn).但是,在處理海量數(shù)據(jù)時(shí),該方案由于互聯(lián)網(wǎng)帶寬和PC 瀏覽器處理能力的限制,實(shí)際響應(yīng)慢,用戶體驗(yàn)差.對(duì)此,我們通過(guò)實(shí)踐探索,創(chuàng)造性實(shí)現(xiàn)了“一種地址關(guān)聯(lián)數(shù)據(jù)處理方法、用戶終端和服務(wù)器”[3],它依據(jù)用戶選擇的需求參數(shù)和應(yīng)用的地圖屬性,將輸入的海量地址關(guān)聯(lián)數(shù)據(jù)劃分成即時(shí)渲染(第1 組)和延緩渲染(第2 組)兩組數(shù)據(jù),使得第1 組的數(shù)據(jù)能迅速在客戶端呈現(xiàn),同時(shí)第2 組數(shù)據(jù)的落圖渲染計(jì)算在本地服務(wù)器(集群)同步進(jìn)行.這種前后兩組計(jì)算結(jié)合能顯著地提高海量地址關(guān)聯(lián)數(shù)據(jù)落圖渲染呈現(xiàn)的響應(yīng)速度,改善了相關(guān)應(yīng)用的用戶體驗(yàn),解決了一般PC 端網(wǎng)頁(yè)瀏覽器在交互式播放海量地址關(guān)聯(lián)數(shù)據(jù)渲染所普遍遇到的顯示滯卡問(wèn)題.具體參見(jiàn)圖2.
圖2 海量地址關(guān)聯(lián)數(shù)據(jù)渲染優(yōu)化處理框圖
1.3.1 省域房產(chǎn)大數(shù)據(jù)熱力圖系統(tǒng)總體構(gòu)成系統(tǒng)總體由兩大部分構(gòu)成,參見(jiàn)圖3.
圖3 省域房產(chǎn)大數(shù)據(jù)熱力圖系統(tǒng)總體構(gòu)成
第一部分是基礎(chǔ)設(shè)施部分,它由負(fù)責(zé)數(shù)據(jù)歸集和專題數(shù)據(jù)生產(chǎn)的系統(tǒng)構(gòu)成:首先由“(房產(chǎn))行業(yè)數(shù)據(jù)云同步樞紐平臺(tái)系統(tǒng)”同步歸集廣東省域各地城市源數(shù)據(jù),然后,經(jīng)由“HBDP 省房屋大數(shù)據(jù)計(jì)算集群及作業(yè)調(diào)度系統(tǒng)”計(jì)算生成適用于熱力圖渲染播放的熱力值專題大數(shù)據(jù)對(duì)象.本文術(shù)語(yǔ)“房屋”與“房產(chǎn)”可相互通用,具體沿繼使用習(xí)慣.
第二部分是熱力圖播放和預(yù)報(bào)部分,它由“熱力圖播放系統(tǒng)”和“人工智能預(yù)測(cè)系統(tǒng)”構(gòu)成.其中,“人工智能預(yù)測(cè)系統(tǒng)”為本文研發(fā)的重點(diǎn),它提供人工智能建模預(yù)測(cè)功能,負(fù)責(zé)使用已有的熱力值數(shù)據(jù)訓(xùn)練模型并產(chǎn)生預(yù)測(cè)輸出.
1.3.2 關(guān)鍵研發(fā)任務(wù)—人工智能預(yù)測(cè)系統(tǒng)
在前述總體框架,待研發(fā)實(shí)現(xiàn)的是“人工智能預(yù)測(cè)系統(tǒng)”.而該系統(tǒng)的關(guān)鍵在于如何有效地實(shí)現(xiàn)“省域房產(chǎn)大數(shù)據(jù)熱力值預(yù)測(cè)計(jì)算”的核心課題任務(wù)上.基于我們所能掌握的廣東省域房產(chǎn)大數(shù)據(jù)資源限于2018年之前的原始數(shù)據(jù),我們將本文主要課題任務(wù)的實(shí)質(zhì)性研發(fā)內(nèi)容具體地明確為:如何利用人工智能算法對(duì)既獲得的已知的廣東省各市截至2017年的房產(chǎn)登記和交易業(yè)務(wù)等歷史記錄的指標(biāo)數(shù)據(jù)(房產(chǎn)套數(shù)和面積)的熱力值,建立可重復(fù)使用的時(shí)序預(yù)測(cè)模型系統(tǒng),特別是,近期實(shí)現(xiàn)預(yù)測(cè)后來(lái)2018–2023年指標(biāo)數(shù)據(jù)熱力值;據(jù)此,為將來(lái)具備條件(獲得后繼年份數(shù)據(jù)資源)時(shí),滾動(dòng)地推廣應(yīng)用至更多的未知數(shù)據(jù)年份.
針對(duì)上節(jié)提出的主要課題任務(wù),我們首先從計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)建設(shè)與應(yīng)用的角度出發(fā),細(xì)化和明確所擬要研究解決的實(shí)質(zhì)技術(shù)問(wèn)題及其技術(shù)路線.具體地,本文課題的核心研發(fā)內(nèi)容主要包括以下3 方面:1)關(guān)鍵指標(biāo)及其計(jì)算問(wèn)題的歸結(jié);2)總體計(jì)算處理框架設(shè)計(jì);3)時(shí)序預(yù)測(cè)模型設(shè)計(jì)與實(shí)現(xiàn).
(1)房產(chǎn)熱力值的定義
所謂熱力圖就是關(guān)于地理區(qū)域單元上的計(jì)算指標(biāo)的值即“熱力值”的地圖渲染.具體地,本課題所研究的房產(chǎn)熱力值是關(guān)于一個(gè)地理區(qū)域內(nèi)的房產(chǎn)指標(biāo)(套數(shù)和面積)的統(tǒng)計(jì)量的數(shù)值.
(2)時(shí)序數(shù)據(jù)計(jì)算任務(wù)定義
本文處理的房產(chǎn)指標(biāo)熱力值是具有時(shí)間屬性的,從而可構(gòu)成時(shí)序序列.相應(yīng)的時(shí)序數(shù)據(jù)計(jì)算任務(wù)包括:一是由原始房產(chǎn)業(yè)務(wù)記錄導(dǎo)出可直接計(jì)算房產(chǎn)熱力值的房產(chǎn)單元記錄;二是由已知的一系列年份的房產(chǎn)單元記錄數(shù)據(jù)集計(jì)算出對(duì)應(yīng)地理區(qū)域的房產(chǎn)指標(biāo)(套數(shù)和面積)的熱力值(可直接在百度地圖上標(biāo)識(shí)渲染成熱力圖);三對(duì)地理區(qū)域后繼年份的未知房產(chǎn)指標(biāo)熱力值進(jìn)行預(yù)測(cè)計(jì)算.為簡(jiǎn)化起見(jiàn),只對(duì)套數(shù)和面積兩個(gè)基本指標(biāo)進(jìn)行預(yù)測(cè).
鑒于房產(chǎn)數(shù)據(jù)的變化規(guī)模與頻度的實(shí)際情況,本文所考慮的時(shí)序單位明確為“年份”.
原始房產(chǎn)業(yè)務(wù)記錄化為如下房產(chǎn)單元記錄格式:
<房產(chǎn)單元>(經(jīng)度,緯度,建成年份,套數(shù)|面積,城市)
其中,經(jīng)度和緯度坐標(biāo)是用房產(chǎn)單元坐落地址調(diào)用“百度開(kāi)放平臺(tái)”Web 服務(wù)API的地理編碼服務(wù)(又名Geocoder)[4]獲得.例如,以房產(chǎn)單元坐落“廣州市越秀區(qū)豪賢路102 號(hào)”調(diào)用百度Geocoder,可獲得經(jīng)緯度坐標(biāo){113.281 270 035 554 5,23.136 617 015 096 8}.
我們所討論的房產(chǎn)熱力值是關(guān)于具體地理區(qū)域內(nèi)的所有<房產(chǎn)單元>個(gè)數(shù)(稱作“套數(shù)”)或面積的統(tǒng)計(jì)值的數(shù)量指標(biāo).欲將房產(chǎn)熱力值落在百度地圖上渲染顯示,就必須將其與地理區(qū)域的坐標(biāo)相關(guān)聯(lián).為簡(jiǎn)單起見(jiàn),我們采取地理區(qū)域中心點(diǎn)的經(jīng)度和緯度來(lái)標(biāo)識(shí)地理區(qū)域,從而有如下的房產(chǎn)指標(biāo)熱力屬性關(guān)系:
<區(qū)域房產(chǎn)熱力>(經(jīng)度,緯度,年份,熱力值,城市)
其中,“熱力值”是該(經(jīng)度,緯度)所標(biāo)識(shí)區(qū)域截止于“年份”的期末實(shí)有房產(chǎn)單元的“套數(shù)|面積”統(tǒng)計(jì)數(shù)(假設(shè)房產(chǎn)房屋建成后一直存在,則它代表歷年直至該“年份”期末的累計(jì)數(shù),以下均采用此假設(shè)).
(3)時(shí)序計(jì)算區(qū)域的網(wǎng)格化處理
為確定最基本的地理區(qū)域單元,也為了細(xì)化計(jì)算處理、減少隨機(jī)噪音影響,我們將廣東省全域(東沙群島除外)分成M×M個(gè)矩形區(qū)域(M>0),稱作“M分網(wǎng)格”.每個(gè)網(wǎng)格區(qū)域可用經(jīng)其左下角點(diǎn)的網(wǎng)格線的行號(hào)和列號(hào)來(lái)唯一標(biāo)識(shí):網(wǎng)格(x,y)代表以第x列、第y行(0≤x<M,0≤y<M)網(wǎng)格線的交點(diǎn)為其左下角的矩形網(wǎng)格區(qū)域.
網(wǎng)格 (x,y)區(qū)域的年房產(chǎn)熱力值(套數(shù)|面積)按房產(chǎn)房屋建成年份排列構(gòu)成如下時(shí)序:
1)網(wǎng)格(x,y)房產(chǎn)套數(shù)累計(jì)時(shí)序:
Tx,y={Tx,y,1,Tx,y,2,···}
其中,Tx,y,i為第i年(x,y)區(qū)域累計(jì)房產(chǎn)套數(shù).
2)網(wǎng)格(x,y)房產(chǎn)套數(shù)增量時(shí)序:
?Tx,y={?Tx,y,1,?Tx,y,2,···}
其中,?Tx,y,i為第i年(x,y)區(qū)域新增房產(chǎn)套數(shù),可由下式計(jì)算:
?Tx,y,i=Tx,y,i?Tx,y,i?1
3)網(wǎng)格(x,y)房產(chǎn)面積累計(jì)時(shí)序:
Ax,y={Ax,y,1,Ax,y,2,···}
其中,Ax,y,i表示第i年(x,y)區(qū)域累計(jì)房產(chǎn)面積.
4)網(wǎng)格(x,y)房產(chǎn)面積增量時(shí)序:
?Ax,y={?Ax,y,1,?Ax,y,2,···}
其中,?Ax,y,i表示第i年(x,y)區(qū)域新增房產(chǎn)面積,可由下式導(dǎo)出:
?Ax,y,i=Ax,y,i?Ax,y,i?1
進(jìn)一步,在更大的尺度上,對(duì)于某個(gè)城市c,我們得到市級(jí)房產(chǎn)熱力值統(tǒng)計(jì)值序列如下:
1)市級(jí)房產(chǎn)套數(shù)累計(jì)時(shí)序:
Tc={Tc1,Tc2,···}
其中,Tic表示第i年城市c累計(jì)房產(chǎn)套數(shù).
2)市級(jí)房產(chǎn)套數(shù)增量時(shí)序:
?Tc={?Tc1,?Tc2,···}
其中,?Tic表示第i年城市c新增房產(chǎn)套數(shù),可由下式導(dǎo)出:
?Tci=Tci?Tci?1
3)市級(jí)房產(chǎn)面積累計(jì)時(shí)序:
Ac={Ac1,Ac2,···}
其中,Aci表示第i年,城市c累計(jì)房產(chǎn)面積.
4)市級(jí)房產(chǎn)面積增量時(shí)序:
?Ac={?Ac1,?Ac2,···}
其中,?Aci表示第i年城市c新增房產(chǎn)面積,可由下式導(dǎo)出:
?Aci=Aci?Aci?1
本課題的基本預(yù)測(cè)計(jì)算任務(wù)可歸結(jié)為兩個(gè):
預(yù)測(cè)1:給定網(wǎng)格區(qū)域(x,y)的房產(chǎn)套數(shù)n年時(shí)序數(shù)據(jù){Tx,y,1,Tx,y,2,···,Tx,y,n},預(yù)測(cè)下一年(第n+1年)該區(qū)域累計(jì)房產(chǎn)套數(shù)Tx,y,n+1.
預(yù)測(cè)2:給定網(wǎng)格區(qū)域(x,y)的房產(chǎn)面積n年時(shí)序數(shù)據(jù){Ax,y,1,Ax,y,2,···,Ax,y,n},預(yù)測(cè)下一年(第n+1年)該區(qū)域累計(jì)房產(chǎn)面積Ax,y,n+1.
顯見(jiàn),通過(guò)逐年向前移動(dòng)時(shí)序數(shù)據(jù),就可實(shí)現(xiàn):利用過(guò)去一段時(shí)間房產(chǎn)數(shù)據(jù)的變化,對(duì)未來(lái)一段時(shí)間內(nèi)的房產(chǎn)數(shù)據(jù)進(jìn)行預(yù)測(cè).
根據(jù)上節(jié)的分析,課題的基本科學(xué)技術(shù)問(wèn)題在于建立時(shí)序預(yù)測(cè)模型:利用過(guò)去一段時(shí)間內(nèi)某事件(房屋建成事件)的時(shí)間特征來(lái)預(yù)測(cè)未來(lái)一段時(shí)間內(nèi)該事件的特征(房產(chǎn)套數(shù)或面積)—這種時(shí)間序列數(shù)據(jù)預(yù)測(cè).
鑒于房產(chǎn)套數(shù)和建筑面積的預(yù)測(cè)的建模都是類同的,本文僅需闡述房產(chǎn)套數(shù)的預(yù)測(cè)模型.
實(shí)踐上,我們先直接對(duì)廣東省域(由于東沙群島無(wú)房地產(chǎn)項(xiàng)目,本文研究的廣東省域不包括東沙群島)各網(wǎng)格單元應(yīng)用深度神經(jīng)網(wǎng)絡(luò)建立預(yù)測(cè)模型.結(jié)果所產(chǎn)生的預(yù)測(cè)誤差普遍過(guò)大,且無(wú)法調(diào)優(yōu)模型將誤差降到合理程度.這是因?yàn)?全省各市房地產(chǎn)源數(shù)據(jù)集的房產(chǎn)熱力指標(biāo)值的地理空間和時(shí)間區(qū)間的分布相當(dāng)不均勻,并且在時(shí)間和空間上存在不同程度的數(shù)據(jù)樣本不足.因此,我們提出“網(wǎng)格累計(jì)量預(yù)測(cè)+市域增量預(yù)測(cè)修正”的總體預(yù)測(cè)建模計(jì)算框架.具體工作思路如下.
1)對(duì)廣東省域地圖做M分網(wǎng)格,將其中的任意網(wǎng)格看作獨(dú)立單元,運(yùn)用基于深度神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型對(duì)其房產(chǎn)套數(shù)時(shí)序數(shù)據(jù)進(jìn)行獨(dú)立預(yù)測(cè),獲得其下一時(shí)序點(diǎn)套數(shù)的預(yù)測(cè)值.
2)考慮到實(shí)際上同一城市的不同區(qū)域間受共同的城市發(fā)展內(nèi)在關(guān)系影響,彼此間應(yīng)存在某些關(guān)聯(lián)或約束,我們?cè)谀P椭羞M(jìn)一步引入同城數(shù)據(jù)約束修正來(lái)提高預(yù)測(cè)結(jié)果的合理性和準(zhǔn)確性.
總體處理框架如圖4所示.具體過(guò)程如下.
圖4 房產(chǎn)套數(shù)預(yù)測(cè)總體處理框架
1)市域網(wǎng)格預(yù)測(cè)
將同屬一個(gè)城市的所有網(wǎng)格區(qū)域篩濾出來(lái),然后將每個(gè)網(wǎng)格區(qū)域 (x,y)的房產(chǎn)累計(jì)套數(shù)年份時(shí)序{Tx,y,1,Tx,y,2,···,Tx,y,n}輸入到基于深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)格房產(chǎn)套數(shù)累計(jì)預(yù)測(cè)模型.該預(yù)測(cè)模型輸出下一個(gè)時(shí)序年份該區(qū)域房產(chǎn)套數(shù)累計(jì)Tx,y,n+1的預(yù)測(cè)值.根據(jù),計(jì)算出對(duì)應(yīng)的房產(chǎn)套數(shù)增量的預(yù)測(cè)值:
對(duì)同屬城市c的每個(gè)區(qū)域(x,y)的房產(chǎn)套數(shù)增量預(yù)測(cè)值進(jìn)行歸一化,得到:
其中,?c表示所有屬于城市c的網(wǎng)格區(qū)域(u,v)的集合.
2)市域全局修正
由此修正后的房產(chǎn)套數(shù)增量的預(yù)測(cè)值,得到該網(wǎng)格區(qū)域的累計(jì)房產(chǎn)套數(shù)最終預(yù)測(cè)值:
實(shí)際操作上,整個(gè)工作路線包括如下基本步驟:
1)數(shù)據(jù)預(yù)處理:對(duì)原始數(shù)據(jù)進(jìn)行清洗、網(wǎng)格映射、序列提取、數(shù)據(jù)規(guī)范化,獲得網(wǎng)格區(qū)域房產(chǎn)套數(shù)累計(jì)時(shí)序、網(wǎng)格區(qū)域房產(chǎn)面積累計(jì)時(shí)序、市級(jí)房產(chǎn)套數(shù)增量時(shí)序、市級(jí)房產(chǎn)面積增量時(shí)序.
2)使用網(wǎng)格區(qū)域房產(chǎn)套數(shù)累計(jì)時(shí)序,訓(xùn)練圖4中的網(wǎng)格房產(chǎn)套數(shù)累計(jì)預(yù)測(cè)模型[5,6].
3)使用市級(jí)房產(chǎn)套數(shù)增量時(shí)序,訓(xùn)練圖4中的市級(jí)房產(chǎn)套數(shù)增量預(yù)測(cè)模型.
4)使用網(wǎng)格區(qū)域房產(chǎn)面積累計(jì)時(shí)序,訓(xùn)練網(wǎng)格房產(chǎn)面積累計(jì)預(yù)測(cè)模型(與套數(shù)預(yù)測(cè)模型類似,省略).
5)使用市級(jí)房產(chǎn)面積增量時(shí)序,訓(xùn)練市級(jí)房產(chǎn)面積增量預(yù)測(cè)模型(與套數(shù)預(yù)測(cè)模型類似,省略).
6)應(yīng)用圖4所示的預(yù)測(cè)過(guò)程對(duì)2018–2023年的房產(chǎn)套數(shù)進(jìn)行預(yù)測(cè),輸出規(guī)定格式的數(shù)據(jù).
7)對(duì)2018–2023年的房產(chǎn)面積進(jìn)行預(yù)測(cè),輸出規(guī)定格式的數(shù)據(jù)(與步驟6)類似,省略).
訓(xùn)練數(shù)據(jù)資源限于2018年之前的原始數(shù)據(jù).
前節(jié)的總體處理框架設(shè)計(jì)關(guān)鍵在于圖4中的網(wǎng)格房產(chǎn)累計(jì)套數(shù)(或面積)預(yù)測(cè)模型和市級(jí)房產(chǎn)套數(shù)(或面積)增量預(yù)測(cè)模型設(shè)計(jì)—它們都是基于深度神經(jīng)網(wǎng)絡(luò)的時(shí)序預(yù)測(cè)模型設(shè)計(jì).眾所周知,在人工智能深度學(xué)習(xí)算法中[7,8],正如卷積神經(jīng)網(wǎng)絡(luò)主要用于圖像數(shù)據(jù)建模,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)主要用于時(shí)序數(shù)據(jù)建模.但是,傳統(tǒng)的RNN 在長(zhǎng)期依賴方面存在梯度消失的問(wèn)題,也就是會(huì)遺忘時(shí)間序列距離比較遠(yuǎn)的信息.1997年,Hochreiter和Schmidhuber提出了傳統(tǒng)RNN的一種變形:長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short term memory,LSTM)[9].LSTM 通過(guò)引入3 種門(mén)限(遺忘門(mén)限、輸入門(mén)限和輸出門(mén)限)而獲得學(xué)習(xí)長(zhǎng)期依賴的能力,即具有學(xué)習(xí)時(shí)間序列距離較遠(yuǎn)信息的能力.盡管LSTM 相對(duì)于RNN 更加復(fù)雜,但因?yàn)樗梢赃m應(yīng)更長(zhǎng)的時(shí)間序列數(shù)據(jù),我們用LSTM對(duì)已知的過(guò)往年份房產(chǎn)熱力數(shù)據(jù)進(jìn)行時(shí)序特征抽取,并對(duì)這些特征進(jìn)行時(shí)序預(yù)測(cè)[10],然后用全連接層(fully connected layers,FC)[11]神經(jīng)網(wǎng)絡(luò)再將時(shí)序預(yù)測(cè)得到的特征數(shù)據(jù)回歸映射成房產(chǎn)指標(biāo)熱力數(shù)據(jù).
圖4中的網(wǎng)格房產(chǎn)累計(jì)套數(shù)(或面積)預(yù)測(cè)模型和市級(jí)房產(chǎn)套數(shù)(或面積)增量預(yù)測(cè)模型均采用如圖5所示的(LSTM→FC)房產(chǎn)數(shù)據(jù)時(shí)序預(yù)測(cè)模型設(shè)計(jì):先用LSTM 對(duì)輸入的n年份時(shí)序數(shù)據(jù){X1,X2,···,Xn}進(jìn)行特征抽取和預(yù)測(cè),輸出該時(shí)序數(shù)據(jù)隱含的時(shí)序特征的抽象表達(dá)向量的預(yù)測(cè)值(不直接是房產(chǎn)指標(biāo)熱力值本身);然后,將LSTM 模型的輸出向量作為后面FC的輸入,經(jīng)由FC 做非線性變換后,輸出下一年份(第n+1年)的房產(chǎn)熱力值Xn+1的預(yù)測(cè)值.
圖5 房產(chǎn)數(shù)據(jù)時(shí)序預(yù)測(cè)模型
(1)技術(shù)選型
我們選擇在谷歌公司的TensorFlow 開(kāi)源機(jī)器學(xué)習(xí)平臺(tái)上實(shí)現(xiàn)預(yù)測(cè)建模[12].在TensorFlow 平臺(tái)上,我們使用 Keras[13]這種直觀的高階API 來(lái)構(gòu)建和訓(xùn)練機(jī)器學(xué)習(xí)模型,這樣能夠快速迭代模型并輕松地調(diào)試模型.
鑒于為省域房產(chǎn)大數(shù)據(jù)熱力圖預(yù)測(cè)而構(gòu)建和訓(xùn)練機(jī)器學(xué)習(xí)模型需要頻繁地進(jìn)行大規(guī)模CPU-heavy的張量數(shù)值計(jì)算,一般CPU 難以承擔(dān).于是,我們配置強(qiáng)力的加速計(jì)算協(xié)處理器,即引入具有比CPU 更加強(qiáng)大密集數(shù)據(jù)計(jì)算能力的GPU 來(lái)參加計(jì)算.但是,傳統(tǒng)的訪問(wèn)GPU 模式(如依賴圖像API 接口來(lái)實(shí)現(xiàn)GPU 訪問(wèn))無(wú)法將GPU 強(qiáng)大的密集數(shù)據(jù)計(jì)算能力用于圖像處理之外的用途.NVIDIA 發(fā)明的CUDA (compute unified device architecture)編程模型采用了一種全新的計(jì)算體系結(jié)構(gòu)來(lái)使用GPU 硬件資源,可讓軟件開(kāi)發(fā)者在應(yīng)用程序中能充分地利用CPU和GPU 各自的優(yōu)點(diǎn),特別是充分利用GPU 強(qiáng)大的計(jì)算能力加速大規(guī)模密集數(shù)據(jù)計(jì)算[14].NVIDIA 已將CUDA 實(shí)現(xiàn)成一套實(shí)用編程環(huán)境,并且可通過(guò)對(duì)應(yīng)的SDK 集成到更高級(jí)別的機(jī)器學(xué)習(xí)框架中.其中,cuDNN 就是CUDA的一個(gè)專門(mén)用于TensorFlow 神經(jīng)網(wǎng)絡(luò)運(yùn)算加速的SDK[15].因此,我們采用TensorFlow+CUDA+cuDNN的開(kāi)發(fā)環(huán)境來(lái)運(yùn)行調(diào)試深度神經(jīng)網(wǎng)絡(luò).
(2)算法部署
TensorFlow 平臺(tái)選擇Python 作為表達(dá)和控制模型訓(xùn)練的語(yǔ)言.Python 是數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)專家用的最舒適的高級(jí)語(yǔ)言,籍用其NumPy[16]庫(kù)的豐富計(jì)算資源,可以很容易地在Python 中進(jìn)行各種海量數(shù)據(jù)高性能預(yù)處理計(jì)算,然后輸送給TensorFlow 進(jìn)行真正CPU-heavy 計(jì)算.所以我們采用Python 語(yǔ)言進(jìn)行編程.具體環(huán)境部署上,使用Anaconda 安裝和管理Python相關(guān)包—Anaconda 提供最便捷的方式來(lái)使用Python進(jìn)行數(shù)據(jù)科學(xué)計(jì)算和機(jī)器學(xué)習(xí)[17].算法部署主要包括模型訓(xùn)練和生成數(shù)據(jù)兩部分.
模型訓(xùn)練部分的目錄部署:data 文件夾:存放預(yù)處理后的數(shù)據(jù),model 文件夾:存放訓(xùn)練好的模型;Python可執(zhí)行代碼文件“網(wǎng)格累計(jì)(套數(shù)|面積)模型訓(xùn)練.py”用于網(wǎng)格累計(jì)(套數(shù)|面積)模型的訓(xùn)練,“登記單市模型訓(xùn)練.py”與“網(wǎng)簽單市模型訓(xùn)練.py”分別用于對(duì)單個(gè)城市的登記與網(wǎng)簽數(shù)據(jù)增量模型進(jìn)行訓(xùn)練.
生成數(shù)據(jù)部分的目錄部署:Python 可執(zhí)行代碼文件“登記面積數(shù)據(jù)生成.py”“登記套數(shù)數(shù)據(jù)生成.py”“網(wǎng)簽面積數(shù)據(jù)生成.py”和“網(wǎng)簽套數(shù)數(shù)據(jù)生成.py”分別對(duì)登記數(shù)據(jù)面積、登記數(shù)據(jù)套數(shù)、網(wǎng)簽數(shù)據(jù)面積、網(wǎng)簽數(shù)據(jù)套數(shù)進(jìn)行預(yù)測(cè),并會(huì)將結(jié)果分別保存在dj_area(登記面積)、dj_count (登記套數(shù))、wq_area (網(wǎng)簽面積)、wq_count (網(wǎng)簽套數(shù))目錄下.
(3)訓(xùn)練預(yù)測(cè)模型
訓(xùn)練好的模型存放在model 文件夾下.如果一個(gè)市的數(shù)據(jù)發(fā)生大幅變動(dòng),則需重新訓(xùn)練.訓(xùn)練命令語(yǔ)法格式為:
Python+運(yùn)行腳本名稱+argv1+argv2+argv3
其中,argv1 代表預(yù)處理后的數(shù)據(jù)集名,argv2 代表城市名稱,argv3 代表熱力指標(biāo)名稱(套數(shù)或面積).若訓(xùn)練過(guò)程誤差不下降,則需重新運(yùn)行腳本—可能是模型參數(shù)隨機(jī)初始化或者訓(xùn)練樣本過(guò)少造成的.
(4)生成預(yù)測(cè)數(shù)據(jù)
在數(shù)據(jù)生成代碼所在目錄,使用Python 命令:
Python+運(yùn)行腳本名稱+argv1
其中,argv1 代表預(yù)處理后的數(shù)據(jù)集名.運(yùn)行結(jié)果除在指定的文件夾下生成套數(shù)|面積熱力圖預(yù)測(cè)數(shù)據(jù)的JSON 格式文件外,還在當(dāng)前目錄下生成相應(yīng)的CSV格式文件.JSON 格式的輸出數(shù)據(jù)可直接用于熱力圖渲染,CSV 格式的輸出數(shù)據(jù)便于做大數(shù)據(jù)分析.
3.1.1 數(shù)據(jù)壓縮落圖
原始房產(chǎn)數(shù)據(jù)極其龐大,難以全部在百度地圖上落圖顯示,必須先進(jìn)行壓縮映射預(yù)處理并生成相應(yīng)的訓(xùn)練數(shù)據(jù)集后,才能應(yīng)用預(yù)測(cè)模型對(duì)網(wǎng)格區(qū)域累計(jì)房產(chǎn)熱力值(套數(shù)、面積)進(jìn)行預(yù)測(cè).
壓縮映射:將原始數(shù)據(jù)記錄的經(jīng)緯度坐標(biāo)精度降低(將經(jīng)緯度小數(shù)點(diǎn)后13 位有效數(shù)字四舍五入至小數(shù)點(diǎn)后僅保留5 位有效數(shù)字),然后去掉重復(fù)值.本課題所有房產(chǎn)地址的經(jīng)緯度坐標(biāo)均取自百度地圖公開(kāi)數(shù)據(jù),原始精度為小數(shù)點(diǎn)后13 位有效數(shù)字.
“房產(chǎn)登記簿數(shù)據(jù)”共有12 476 111 條房屋建成年代記錄.壓縮映射得到353 464 條不同經(jīng)緯度坐標(biāo)的記錄,每條記錄包含聚集計(jì)算出來(lái)的熱力值屬性(套數(shù)|面積).
“房產(chǎn)網(wǎng)簽數(shù)據(jù)”共有6 076 778 條新建房屋年份記錄.壓縮映射得到50 242 條不同經(jīng)緯度坐標(biāo)的記錄.
3.1.2 數(shù)據(jù)網(wǎng)格映射
基于經(jīng)緯度網(wǎng)格的房產(chǎn)指標(biāo)數(shù)據(jù)熱力圖必須先將落在同一個(gè)網(wǎng)格中的各個(gè)房產(chǎn)原始數(shù)據(jù)記錄歸化成網(wǎng)格數(shù)據(jù):用網(wǎng)格中間點(diǎn)的經(jīng)緯度坐標(biāo)作為網(wǎng)格坐標(biāo),網(wǎng)格區(qū)域中所有房產(chǎn)的指標(biāo)統(tǒng)計(jì)值(如總建筑面積或總房產(chǎn)套數(shù))作為網(wǎng)格的房產(chǎn)指標(biāo)值.
再進(jìn)一步將網(wǎng)格數(shù)據(jù)規(guī)范化,即,將所有網(wǎng)格數(shù)據(jù)映射成一個(gè)Y×M×M點(diǎn)的張量Z(Y為房屋建成年份的最大時(shí)間跨度,M為網(wǎng)格劃分?jǐn)?shù)):
對(duì)于任一條略去“城市”屬性的網(wǎng)格房產(chǎn)數(shù)據(jù)記錄(lonq,latq,yearq,countq)|1≤q≤m,m為網(wǎng)格數(shù)據(jù)記錄總數(shù),(lonq,latq)為對(duì)應(yīng)網(wǎng)格的經(jīng)緯度,countq為該網(wǎng)格區(qū)域在年份yearq的房產(chǎn)統(tǒng)計(jì)指標(biāo)增量值,則其到張量Z的映射由式(1)–式(3)計(jì)算:
張量Z的第1 維度坐標(biāo)k可通過(guò)式(1)求得:
其中,ymin代表所有記錄年份中的最小值.
張量Z的第2 維度橫坐標(biāo)i可通過(guò)式(2)求得:
其中,lonmin和lonmax分別代表廣東省經(jīng)度范圍(東沙群島除外)的最小值和最大值.
張量Z的第3 維度縱坐標(biāo)j可通過(guò)式(3)求得:
其中,latmin和latmax分別代表廣東省緯度范圍(東沙群島除外)的最小值和最大值.
最后,Z任意點(diǎn)(k,i,j)的數(shù)值Zk,i,j由下式計(jì)算:
這樣,Zk,i,j(0≤k≤Y,0≤i<M,0≤j<M)代表網(wǎng)格(i,j)里累計(jì)至第k年末的房產(chǎn)套數(shù)或面積統(tǒng)計(jì)值.
3.1.3 網(wǎng)格數(shù)目選擇
網(wǎng)格越細(xì)化(網(wǎng)格劃分M越大),網(wǎng)格化后的坐標(biāo)點(diǎn)越多,反之亦然.
首先,我們選定廣東省全域(東沙群島除外)經(jīng)、緯度范圍:
[lonmin,lonmax]=[110.177,116.885]
[latmin,latmax]=[20.334,25.313]
然后,就省域房產(chǎn)登記簿數(shù)據(jù)集,計(jì)算網(wǎng)格劃分?jǐn)?shù)M與房產(chǎn)數(shù)據(jù)集網(wǎng)格化后其坐標(biāo)點(diǎn)數(shù)目的關(guān)系,結(jié)果見(jiàn)圖6.
圖6 網(wǎng)格劃分M 與網(wǎng)格化后坐標(biāo)點(diǎn)數(shù)目的關(guān)系
由圖6可見(jiàn),網(wǎng)格化后數(shù)據(jù)集經(jīng)緯度坐標(biāo)點(diǎn)數(shù)目隨著M的增大而增加,但當(dāng)M達(dá)到7 000 后,坐標(biāo)點(diǎn)數(shù)目增長(zhǎng)逐漸減弱,說(shuō)明:此后網(wǎng)格劃分繼續(xù)細(xì)化對(duì)于網(wǎng)格化近似精度的提高其作用逐漸趨無(wú).若在獲得較高的網(wǎng)格化近似精度的同時(shí),又兼顧算法的性能(網(wǎng)格化后坐標(biāo)點(diǎn)越少就越好),推薦M=7000的網(wǎng)格化.
3.1.4 滑窗切分處理
對(duì)于長(zhǎng)的時(shí)序數(shù)據(jù)序列一般采用滑窗法進(jìn)行數(shù)據(jù)切分預(yù)測(cè),即限定一個(gè)滑動(dòng)窗口,依次將其順時(shí)序向前移動(dòng)一定步長(zhǎng)來(lái)切取數(shù)據(jù)子序列用以預(yù)測(cè)后繼若干時(shí)序值:對(duì)于已知數(shù)據(jù)序列 (X1,X2,···,XN),取滑窗跨度L(L
鑒于要預(yù)測(cè)的年末實(shí)有房產(chǎn)套數(shù)和面積是不斷增長(zhǎng)的數(shù)值,為降低解空間的取值范圍,我們將滑窗內(nèi)L個(gè)時(shí)點(diǎn)序列(X1,X2,···,XL)各項(xiàng)數(shù)據(jù)規(guī)范化為相對(duì)于其第1 時(shí)點(diǎn)的增量值:(X1?X1,X2?X1,···,XL?X1),以加快神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程收斂.
3.1.5 建模參數(shù)取值
根據(jù)以上設(shè)計(jì)建立模型后,我們針對(duì)本課題應(yīng)用實(shí)際進(jìn)行優(yōu)化.經(jīng)測(cè)試后確定:
1)“網(wǎng)格房產(chǎn)累計(jì)預(yù)測(cè)模型”(參見(jiàn)圖4中的“網(wǎng)格房產(chǎn)套數(shù)累計(jì)預(yù)測(cè)模型)的參數(shù)如表1所示.
表1 網(wǎng)格房產(chǎn)累計(jì)數(shù)據(jù)建模參數(shù)
2)“市級(jí)房產(chǎn)增量預(yù)測(cè)模型”(參見(jiàn)圖4中的“市級(jí)房產(chǎn)套數(shù)增量預(yù)測(cè)模型)的參數(shù)如表2所示—只對(duì)全市域總增量值進(jìn)行預(yù)測(cè),不用做網(wǎng)格劃分.
表2 市級(jí)房產(chǎn)增量數(shù)據(jù)建模參數(shù)
通常不是所有的原始數(shù)據(jù)都可直接用于神經(jīng)網(wǎng)絡(luò)模型.在此數(shù)據(jù)預(yù)處理是必須的.
3.2.1 數(shù)據(jù)清洗
數(shù)據(jù)清洗過(guò)程包括對(duì)缺失值、異常值進(jìn)行處理.
缺失值處理:對(duì)于缺失房屋建成年份、坐落地址或面積數(shù)值的數(shù)據(jù),直接舍棄,因?yàn)檫@些數(shù)據(jù)對(duì)于時(shí)序預(yù)測(cè)沒(méi)有意義;對(duì)于缺失城市屬性的數(shù)據(jù),可以根據(jù)房產(chǎn)坐落確定地理位置,不會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生影響.
異常值處理:主要針對(duì)面積數(shù)值為零的原始數(shù)據(jù)—對(duì)此類數(shù)據(jù)記錄直接舍棄.
3.2.2 數(shù)據(jù)集準(zhǔn)備
深度學(xué)習(xí)算法需要切取歷史時(shí)序數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試.全部房產(chǎn)數(shù)據(jù)記錄經(jīng)網(wǎng)格數(shù)據(jù)映射存儲(chǔ)在三維張量Z中.令 ?c為城市c所有網(wǎng)格的集合,則從Z中切取:1)矩陣序列(Z1,Z2,···,ZY)|Zk={Zk,i,j|(i,j)∈?c}(1≤k≤Y),2)數(shù)據(jù)序列(Z1,i,j,Z2,i,j,···,ZV,i,j)|V=max(l),?Zl,i,j≠null(1≤l≤Y),? (i,j)∈?c作為預(yù)測(cè)模型訓(xùn)練與測(cè)試的候選數(shù)據(jù)集.
對(duì)于每一份數(shù)據(jù)集來(lái)說(shuō),均需要?jiǎng)澐钟?xùn)練集與測(cè)試集.訓(xùn)練集是模型學(xué)習(xí)時(shí)用的數(shù)據(jù)集,是確定模型參數(shù)用的;測(cè)試集則是檢驗(yàn)?zāi)P托阅軙r(shí)用的數(shù)據(jù)集.在時(shí)序數(shù)據(jù)預(yù)測(cè)問(wèn)題中,訓(xùn)練集與測(cè)試集不能交叉.訓(xùn)練集就類似考生平常做的習(xí)題,測(cè)試集類似考試的題目,后者是衡量一個(gè)模型泛化能力的數(shù)據(jù)集.
若測(cè)試集序列太短,將不足以評(píng)價(jià)和調(diào)校預(yù)測(cè)模型.結(jié)合各城市房產(chǎn)單元數(shù)據(jù)集的房屋建成年份時(shí)序范圍的實(shí)際(詳見(jiàn)表3),我們?nèi)∶總€(gè)市至少最后5 個(gè)年份的數(shù)據(jù)作為其評(píng)價(jià)模型的測(cè)試集,即要具備最近5+3年(加上3年滑窗跨度)的原始數(shù)據(jù).這樣絕大多數(shù)城市數(shù)據(jù)滿足要求,只有個(gè)別城市例外—在表3中用*標(biāo)注:佛山市房產(chǎn)登記簿僅有2012–2016年的數(shù)據(jù);梅州市、惠州市和茂名市的網(wǎng)簽數(shù)據(jù)分別只有6、7和6 個(gè)年份的.
表3 各市房屋建成年份數(shù)據(jù)范圍
具體以某市為例說(shuō)明:
1)用最近1993–2017年數(shù)據(jù)進(jìn)行預(yù)測(cè)評(píng)價(jià):
輸入2012年以前數(shù)據(jù),預(yù)測(cè)2013年的環(huán)比增量.
輸入2013年以前數(shù)據(jù),預(yù)測(cè)2014年的環(huán)比增量.
輸入2014年以前數(shù)據(jù),預(yù)測(cè)2015年的環(huán)比增量.
輸入2015年以前數(shù)據(jù),預(yù)測(cè)2016年的環(huán)比增量.
輸入2016年以前數(shù)據(jù),預(yù)測(cè)2017年的環(huán)比增量.
2)然后,將預(yù)測(cè)結(jié)果與真實(shí)數(shù)據(jù)進(jìn)行比較評(píng)價(jià).
計(jì)算及評(píng)價(jià)結(jié)果見(jiàn)圖7.圖中,預(yù)測(cè)數(shù)據(jù)序列在2012年及之前的年份直接使用真實(shí)數(shù)據(jù).
圖7 某市房產(chǎn)登記預(yù)測(cè)示例
房產(chǎn)登記簿數(shù)據(jù):其落圖壓縮后得到的353 464 條不同經(jīng)緯度坐標(biāo)的數(shù)據(jù)記錄網(wǎng)格化后,落至81 240 個(gè)經(jīng)緯度網(wǎng)格上,用于生成其預(yù)測(cè)模型的訓(xùn)練數(shù)據(jù)集.
房產(chǎn)網(wǎng)簽數(shù)據(jù):其落圖壓縮后得到50 242 條不同經(jīng)緯度坐標(biāo)的數(shù)據(jù)記錄網(wǎng)格化后,落到3 514 個(gè)經(jīng)緯度網(wǎng)格上,用于生成其預(yù)測(cè)模型的訓(xùn)練數(shù)據(jù)集.
對(duì)于已知房產(chǎn)時(shí)序數(shù)據(jù)seq=(X1,X2,···,XL),將其規(guī)范為(G1,G2,···,GL)|Gk=Xk?X1(1≤k≤L)后,放入房產(chǎn)數(shù)據(jù)預(yù)測(cè)模型預(yù)測(cè)出L+1年份相對(duì)于時(shí)序首年的熱力值增量GL+1,即可預(yù)測(cè)出至L+1年份的全量值:
XL+1=X1+GL+1
將XL+1加入已知序列得seq:=seq+(XL+1).再?gòu)男碌膕eq最后面切取長(zhǎng)度為L(zhǎng)的子序列,并對(duì)此子序列重復(fù)上述過(guò)程,就可逐年推進(jìn)預(yù)測(cè)未知年份的數(shù)據(jù).我們將一個(gè)年份的預(yù)測(cè)數(shù)據(jù)存儲(chǔ)成一個(gè)文件,以(經(jīng)度,緯度,年份,預(yù)測(cè)全量值)格式輸出到JSON和CSV 文件中.其中,“預(yù)測(cè)全量值”代表直到該“年份”年末,(經(jīng)度,緯度)所標(biāo)識(shí)區(qū)域的房產(chǎn)統(tǒng)計(jì)指標(biāo)的歷史累計(jì)值.
預(yù)測(cè)模型的評(píng)價(jià)指標(biāo)采用平均絕對(duì)百分誤差(mean absolute percentage error,MAPE):
其中,n表示序列樣本的個(gè)數(shù),yi表示真實(shí)值,yi′表示預(yù)測(cè)值.平均絕對(duì)百分誤差反映了預(yù)測(cè)值對(duì)真實(shí)值的偏離程度.優(yōu)化方法采用Adam (adaptive moment estimation)算法[18].Adam 是一種自適應(yīng)調(diào)節(jié)學(xué)習(xí)率的方法.它利用梯度的一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整預(yù)測(cè)模型每個(gè)參數(shù)的學(xué)習(xí)率.Adam的優(yōu)點(diǎn)主要在于經(jīng)過(guò)偏置校正后,每一次迭代學(xué)習(xí)率都有個(gè)確定范圍,使得參數(shù)比較平穩(wěn).我們?cè)O(shè)定學(xué)習(xí)率 α=0.001,取每個(gè)市最后5年真實(shí)數(shù)據(jù)作為評(píng)價(jià)模型的測(cè)試集.
誤差評(píng)價(jià)可按以下指標(biāo)衡量:
1)預(yù)測(cè)增量相對(duì)于真實(shí)增量的誤差MAPE-I.
2)預(yù)測(cè)全量相對(duì)于真實(shí)全量的誤差MAPE-T.
對(duì)于深度學(xué)習(xí)過(guò)程校正:增量和全量預(yù)測(cè)模型分別使用MAPE-I和MAPE-T進(jìn)行偏置校正.
對(duì)于最終預(yù)測(cè)結(jié)果評(píng)價(jià):考慮到本課題是以預(yù)測(cè)各市年末實(shí)有房產(chǎn)數(shù)(累計(jì)全量數(shù))為目標(biāo),我們使用MAPE-T進(jìn)行誤差評(píng)價(jià).
測(cè)試評(píng)價(jià)表明,不同市的訓(xùn)練樣本的數(shù)量和質(zhì)量、環(huán)比變化梯度對(duì)于預(yù)測(cè)誤差的影響是不同的,詳見(jiàn)表4.表中佛山市的登記簿和梅州、惠州、茂名3 市的網(wǎng)簽數(shù)據(jù)因真實(shí)數(shù)據(jù)序列太短無(wú)法進(jìn)行深度學(xué)習(xí),不能進(jìn)行預(yù)測(cè),誤差評(píng)價(jià)不適用(標(biāo)記為NA).此外,個(gè)別市的訓(xùn)練數(shù)據(jù)樣本較小,年份實(shí)際增量波動(dòng)較大,預(yù)測(cè)效果相比其他市較差(例如,湛江、茂名兩市的登記簿數(shù)據(jù)預(yù)測(cè),以及韶關(guān)和汕尾兩市的網(wǎng)簽數(shù)據(jù)預(yù)測(cè)),甚至出現(xiàn)極端誤差情況(例如云浮市的網(wǎng)簽數(shù)據(jù)預(yù)測(cè)).但從整體結(jié)果來(lái)看,我們的模型還是能捕捉到各市的房產(chǎn)指標(biāo)數(shù)據(jù)的基本變化,平均誤差大多數(shù)在5%以下,絕大多數(shù)在10%以下.這說(shuō)明,針對(duì)性建立和訓(xùn)練的預(yù)測(cè)模型是有效的,達(dá)到預(yù)期的目的.
表4 各市房產(chǎn)套數(shù)和面積預(yù)測(cè)的平均絕對(duì)百分誤差(%)
以廣州市房屋登記簿時(shí)序數(shù)據(jù)預(yù)測(cè)為例.我們用已知的1958–2017年歷史數(shù)據(jù)記錄,對(duì)其各網(wǎng)格單元區(qū)域未知的2018–2023年各年年末房屋套數(shù)熱力值進(jìn)行預(yù)測(cè).然后將廣州市各網(wǎng)格區(qū)域所有年份的年末實(shí)有房屋套數(shù)熱力值在百度地圖落圖呈現(xiàn)—調(diào)用百度地圖LBS 服務(wù),渲染成市域房屋統(tǒng)計(jì)指標(biāo)數(shù)據(jù)地理分布熱力值圖[19],并在此基礎(chǔ)上提供正反時(shí)序的各年度熱力圖播放,供觀察比較.為簡(jiǎn)便起見(jiàn),我們僅取廣州市房屋套數(shù)分布熱力圖局部情況為例進(jìn)行前后兩兩環(huán)比,限于篇幅,僅以圖8和圖9例示.目測(cè)可見(jiàn),隨著預(yù)測(cè)年份推延,全市實(shí)有累計(jì)房屋套數(shù)的地理分布熱力值增加趨勢(shì)具有如下特征:開(kāi)始變化明顯,后來(lái)逐漸減弱.這里的一個(gè)原因是隨著預(yù)測(cè)年份的增長(zhǎng),模型的預(yù)測(cè)值準(zhǔn)確度下降,預(yù)測(cè)結(jié)果趨同;另一個(gè)原因是每當(dāng)熱力圖圖斑開(kāi)始呈現(xiàn)高亮度色時(shí),后來(lái)的熱力值增加對(duì)于圖斑的增強(qiáng)作用會(huì)顯著減弱.圖示目測(cè)效果大體與我們對(duì)廣州市近年城市建設(shè)區(qū)域發(fā)展的直觀預(yù)期相符.
圖8 2017 與2018年房屋套數(shù)熱力圖環(huán)比
圖9 2022 與2023年房屋套數(shù)熱力圖環(huán)比
(1)應(yīng)用集成方面,本文基于深度神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)的廣東省域房產(chǎn)大數(shù)據(jù)熱力圖人工智能預(yù)測(cè)系統(tǒng),與廣東省域“(房產(chǎn))行業(yè)數(shù)據(jù)云同步樞紐平臺(tái)系統(tǒng)”[20]、“HBDP 省房屋大數(shù)據(jù)計(jì)算集群及作業(yè)調(diào)度系統(tǒng)”和“熱力圖播放系統(tǒng)”配合使用,全面實(shí)現(xiàn)了可從過(guò)往已知的至后來(lái)未知的廣東省域房產(chǎn)登記和交易大數(shù)據(jù)指標(biāo)的熱力圖年時(shí)序播放展示,有助于從時(shí)空維度俯瞰城市建設(shè)演化過(guò)程,為城市資源和區(qū)劃經(jīng)濟(jì)規(guī)劃等相關(guān)的宏觀管理活動(dòng)提供歷史和前瞻性的大數(shù)據(jù)參考,也可作為滿足人們對(duì)城市具體屬性未來(lái)演變的預(yù)見(jiàn)愿望的行業(yè)大數(shù)據(jù)直觀應(yīng)用的實(shí)踐范例.
(2)技術(shù)創(chuàng)新方面,本文提出“網(wǎng)格累計(jì)量預(yù)測(cè)+市域增量預(yù)測(cè)修正”的總體預(yù)測(cè)建模計(jì)算框架,相對(duì)于常規(guī)直接應(yīng)用深度神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)模型,不但在建模前期引入了網(wǎng)格粒度調(diào)選環(huán)節(jié),為簡(jiǎn)化計(jì)算量提供選項(xiàng),更重要的是有效地將細(xì)化的局部預(yù)測(cè)與全局宏觀預(yù)測(cè)修正結(jié)合,較好地化解了因各地網(wǎng)格單元源數(shù)據(jù)樣本質(zhì)量參差不齊而引起的模型訓(xùn)練預(yù)測(cè)誤差過(guò)大問(wèn)題,創(chuàng)造條件來(lái)調(diào)優(yōu)應(yīng)用長(zhǎng)短時(shí)記憶與全連接層網(wǎng)絡(luò)AI 深度學(xué)習(xí)模型.這樣,即使在網(wǎng)格單元樣本時(shí)間和空間數(shù)據(jù)質(zhì)量不理想情況下,仍然實(shí)現(xiàn)了課題的技術(shù)目標(biāo):系統(tǒng)產(chǎn)生的預(yù)測(cè)數(shù)據(jù)可直接應(yīng)用于百度熱力圖呈現(xiàn),預(yù)測(cè)模型的可評(píng)測(cè)應(yīng)用誤差總體囿于合理范疇,相應(yīng)數(shù)據(jù)結(jié)果可視化符合人們目測(cè)預(yù)期.