胡 昱,胡兆勇,何漢武,張 研,林穗賢
(1.廣東工業大學機電工程學院,廣州 510006;2.廣州廣日電梯有限公司,廣州 511441)
價格預測是一種為了做出更好價格決策的輔助方案,企業通過研究歷史交易數據得出價格的變化規律和影響因素,從而實現價格的預測。在電梯行業,定制電梯的價格預測主要是通過分析用戶在驅動系統、材質、工藝、性能、部件質量、品質感等方面的需求,再結合電梯設計、制造以及安裝的成本與歷史數據進行對比和評估,進行一個粗略的價格預測;而在其他行業,傳統的價格預測也是通過市場調研、人工統計的方法實現,這種方式不僅費時費力,還可能出現人為誤差甚至錯誤。隨著數據挖掘和人工智能技術的發展,價格的預測打破了傳統預測方法的局限性,通過神經網絡學習數據中的規律完成預測,這種方法不僅能夠提高價格預測的效率,還能夠提高預測的準確性。
在基于機器學習的價格預測中,數據的預處理是最重要的一步,其中特征表示能夠決定預測結果的好與不好。數據預處理通常分為數據清洗、數據集成、特征表示和特征選擇。數據清洗就是通過一定規則與標準將原始數據中的臟數據刪除或轉化為干凈數據;數據集成將多源復雜數據按照一定的屬性規律集中起來,便于處理;特征表示就是找到特征最合適的表示方式提取數據中的特征信息;特征選擇是提取與結果具有高度相關性的特征,去除冗余無關特征,提高機器學習的效率。不少學者對預測中的數據預處理方法開展了研究,文獻[7]在數據預處理中通過特征歷史趨勢的空間變換表示特征,通過卡方分析和相關系數選擇影響價格的主要特征,通過主成分分析法去除冗余特征,通過LSTM模型實現中短期電煤的價格預測。文獻[8]在數據預處理中通過Pearson相關系數去除特征之間具有強相關性的冗余特征,通過主成分分析法對特征降維,通過基于粒子群的SVM實現電動車價格預測。文獻[9]在數據預處理中通過相關系數去除冗余特征,通過基于密度最大值聚類算法處理特征的離群值,通過最小基尼指數提取特征,通過HMM模型實現股票價格行為預測。文獻[10]介紹數據預處理的常用方法,可以通過函數變換、函數映射和歸一化實現特征變換,通過LVF、MIFS、mRMR、Relief和PCA算法實現特征降維,通過MDLP、ChiMerge、CAIM實現連續數據的離散化。
當前在數據預處理方法的研究中,數據主要聚焦在數值型、類別型和時間型數據,往往不涉及對空間型和矩陣型數據的處理,同時對于參數繁多且特征復雜的電梯設備價格預測的數據預處理方法研究甚少。所以以電梯設備作為研究對象,電梯交易數據作為數據源,對電梯價格預測的數據預處理方法進行研究。主要研究內容包括:①基于類型聚類的特征標準化表示,根據不同類型特征的特點對數據進行聚類,并根據這些特征特點采取不同的方法對特征進行有效的表示,最大程度提取數據中的信息;②基于信息增益的特征選擇,從大量特征中精確提取出關鍵特征,去除相關度較低或者無關的冗余特征,從而提高神經網絡的訓練速度和預測的準確性。
電梯合同中的參數包含地區、控制系統、梯種、額定速度、轎廂凈高、層門板厚等共515個參數,其中包含必選參數(梯種、額定速度等)和可選參數(數字視頻監控功能等),電梯參數數據表如表1所示。

表1 電梯參數數據表
由表1可知,電梯價格預測的影響因素復雜,盡管這些特征能夠為機器學習模型提供有效的信息,但對特征不合理的表示會適得其反,降低預測準確率,所以需要實現更合理的特征表示,從而使價格的預測更加準確可靠。通常在數據預處理中會采用數據輪詢的方式對特征進行表示,這樣處理的效率較低,所以可以通過聚類的方法來加速處理過程。依據不同的特征特點,采取與之相對應的表示方法。首先通過聚類的方法將特征分成五類,即數值型特征、類別型特征、時間型特征、空間型特征和矩陣型特征,再對每一種特征進行標準化表示。
數值型特征是只包含數值的特征類型,例如額定速度、梯種臺數、安全門數量等。在基于機器學習的價格預測中,數值型數據是可以被機器學習模型接受和理解的數據,所以對于數值型數據的表示,可以通過數據變換的方法,將所有數值映射在一個區間內,小數值被相對擴大,大數值被相對壓縮,使所有數值分布更加均勻,避免取值范圍過大的特征影響訓練速度和精度。
類別型特征指的是具有不同性質和特點能夠代表不同類別的特征,由字符組成,如層門材料、吊頂型號等。對于字符格式的特征,需要通過編碼的方式將字符轉化為數值。對于無序的類別型特征,采用的是獨熱編碼。通過N位狀態寄存器來對個狀態進行編碼,每個狀態都有獨立的寄存器位,在任意時候只有一位狀態寄存器有效,從而使機器學習模型在計算具體特征間的歐氏距離更加合理,獨熱編碼如表2所示。

表2 獨熱編碼
對于有序的類別數量較大的特征列使用獨熱編碼會增加特征的總維度,并使特征變得稀疏,從而降低機器學習訓練的效率和預測準確度,所以需要引入不同的編碼方法-標簽編碼,即通過將不同類別映射為不同的自然數,以停站層數為例,其標簽編碼如表3所示。

表3 標簽編碼
時間型特征指的是按其發生的時間先后順序排列而成的具有時間序列特點的特征,由字符組成,可以是年份、季度、月份或者其他任何時間形式,例如簽訂日期。對于該類特征,采用切分提取時間的方法對時間進行切分,轉化為年、月和日,從而將字符轉化為數值類型,時間型特征的表示如表4所示。

表4 時間序列特征表示
空間型特征指的是對具有定位意義的事物的定量描述,由字符組成,例如地區。空間型特征不能直接通過獨熱編碼和標簽編碼處理,因為這不僅會極大地增加特征維度,還會出現表示不準確的問題,所以對于該類特征,采用映射再編碼的方式。對于廣東省內的地區,映射為類“省內”;對于廣東省外以及中國內的地區,映射為類“省外”;對于國外的地區,映射為類“國外”,然后再通過獨熱編碼進行表示,空間型特征表示如表5所示。

表5 空間特征表示
矩陣型特征指的是按照矩陣形式存儲的特征,由字符組成,矩陣內的元素是數值型特征或類別型特征,例如“int,int...”或“category,category...”。對于矩陣型特征,假設每一個單元格內的一維矩陣中有個元素,可以將一維矩陣特征按行合并為多維矩陣,同一索引位置的元素屬于同一個子特征列,采用降維的方法將個子特征列變為(<)個子特征列表示原特征。矩陣型特征表示的步驟如下:
(1)若矩陣特征共有行,沿行方向合并矩陣特征中的所有數據,若矩陣內的元素為字符,將字符映射為數值,合并后得到一個N×M的矩陣;
(2)對矩陣的列向量去中心化;
(3)對矩陣進行轉置,得到矩陣;



(7)對特征值按從大到小的順序排序,并設定方差貢獻率,通過方差貢獻率篩選排在前的個特征向量作為線性變換矩陣;
(8)由=,線性變換矩陣右乘以矩陣,得到變換后的新矩陣,使用新矩陣替換原矩陣。矩陣型特征表示如表6所示。

表6 矩陣特征表示
特征標準化表示后,特征中仍然包含冗余非關鍵特征,為了進一步提高神經網絡訓練的速度和價格預測的準確性,需要使用特征選擇方法。特征選擇從已有的W個特征中選取S個特征,去除冗余非關鍵特征,減小特征總維度,避免相關性小和無關特征影響機器學習訓練過程,從而提高算法性能。
提出一種基于信息增益的特征選擇方法進行特征選擇,步驟如下:
(1)特征子集構建。利用Xgboost算法計算每個特征的重要程度,即每個特征的信息增益。該算法在構建樹的過程中,通過對參與構建的特征的平均信息增益值(AverageGain,AG)進行統計,得到不同特征的平均信息增益值,如式(1)所示。


將增益值從大到小進行排序,設定一個特征重要度閾值,通過該閾值劃分為高重要度和低重要度的特征子集;若在低重要度的特征子集中存在與高重要度子集中的特征互為系列的特征(獨熱算法得到的系列特征),則加入到高重要度特征子集中去,構成局部最優的特征子集。
(2)最優子集選擇。通過更新重要度閾值,可以得到不同的特征子集,再根據不同特征子集得到不同的預測結果,比較和選取最優的特征子集。
基于信息增益的特征選擇流程圖如圖1所示。

圖1 基于信息增益的特征選擇流程圖
3.1.1 數據集選用
數據集采用企業的電梯交易數據,為客觀驗證算法的整體性能,選取兩份較完整的數據集進行實驗。數據集的描述如表7所示。

表7 矩陣特征表示
3.1.2 預測模型
在價格預測中常用的算法有:LSTM、Ada?boost、DNN、KNN等。通過大量實驗發現深度神經網絡在上述數據集上有較好的表現,所以選用深度神經網絡作為實驗的機器學習模型。對上述數據集進行預處理后再訓練深度神經網絡,進而完成價格的預測。
3.1.3 評價指標
數據質量的高低直接影響預測結果的準確性。對于數據預處理方法有效性的判斷,可以轉化為對模型性能的評價。通常模型表現較好,即預測結果較準確,可以反映出輸入的數據質量較好。對于回歸預測模型,使用決定系數(Rsquare)、解釋方差分數(Explained Variance Score)、平均絕對誤差(Mean Absolute Error)、均方根誤差(Root Mean Square Error)等指標對模型性能進行評價。
(1)決定系數(R-square,)表示在回歸關系中,因變量的變異中可由自變量解釋部分所占的比例。從機器學習的角度來說,就是因變量與自變量間的線性相關程度,即模型對預測值的擬合程度,定義為:


(2)解釋方差分數(Explained Variance Score,EVS)表示在給定數據中的變異能被模型解釋的部分,與決定系數相似,定義為:


(3)平均絕對誤差(Mean Absolute Error,MAE)表示觀測值與真實值的偏差與觀測次數的比值,描述預測值和真實值的差值,定義為:


(4)均方根誤差(Root Mean Square Error,RMSE)表示預測值與真實值偏差的平方與預測次數比值的平方根,用于衡量真實值與預測值的偏差,定義為:


上述評價指標中決定系數與解釋方差分數的取值范圍通常為[0,1],越接近1說明模型擬合效果越好;平均絕對誤差、均方根誤差的取值隨y值大小變化,無固定取值范圍,但是其值越小,擬合效果越好。
3.1.4 實驗內容
為了驗證特征表示和特征選擇方法的有效性,設計了如下實驗:①基于類型聚類的特征標準化表示;②基于信息增益的特征選擇的驗證。
3.2.1 基于類型聚類的特征標準化表示的驗證
通過采用類型聚類特征表示方法和文獻[15]特征表示方法分別處理數據后建立預測模型進行對比實驗,使用的數據集為“整梯1”和“整梯2”。為了避免結果的偶然性,對數據集按不同比例進行劃分后實驗,實驗結果如表8和表9所示。

表8 不同特征表示方法在整梯1上的評價指標對比

表9 不同特征表示方法在整梯2上的評價指標對比
由表8和表9可知,對于數據集整梯1和整梯2,在按不同比例劃分數據集的實驗中,類型聚類特征表示方法相較于文獻[15]特征表示方法,、、、都有不同程度的改善。經計算,對于數據集整梯1,和平均都提高了1.4%,、RMSE分別平均下降了2.3%和7.2%。對于數據集整梯2,、平均都提高了1.8%,、分別平均下降了7.7%和11.8%。
為了進行更直觀的對比,將上述實驗中得到的評價指標平均化,分別計算整梯1、整梯2中、、、的平均值,并使用柱狀圖展示對比,如圖2和圖3所示。

圖2 不同特征表示方法R 2與EVS對比

圖3 不同特征表示方法M AE與RMSE對比
由上述結果可知,類型聚類特征表示方法優于文獻[15]中通用的特征表示方法,在按不同劃分比例的不同數據集上的評價指標均有所提升,所以該實驗證明了基于類型聚類的特征標準化表示方法的有效性。
3.2.2 基于信息增益的特征選擇的驗證
分別對是否通過特征選擇處理特征表示后的數據建立模型,并進行對比實驗,使用的數據集為“整梯1”和“整梯2”。對數據集按不同比例進行劃分后實驗,實驗結果如表10~表13所示。
由表10~表13可知,對于數據集整梯1和整梯2,在按不同比例劃分數據集進行特征選擇的實驗中,不論是決定系數、解釋方差分數等評價指標,還是維度縮減和訓練時間等其他指標,都有不同程度的改善。對于數據集整梯1,、平均都提高了4.8%,、分別平均下降了6.8%和53.6%,訓練時間平均下降了47.3%,特征數也由599個縮減到129個。對于數據集整梯2,、平均都提高了3.5%,、分別平均下降了1%和45%,訓練時間平均下降了61.2%,特征數也由732個縮減到92個。

表10 整梯1特征選擇前后的評價指標對比

表11 整梯1特征選擇前后的其他指標對比

表12 整梯2特征選擇前后的評價指標對比

表13 整梯2特征選擇前后的其他指標對比
為了進行更直觀的對比,將上述實驗中得到的評價指標平均化,分別計算整梯1、整梯2中、、、的平均值,并使用柱狀圖展示對比,如圖4和圖5所示。

圖4 特征選擇前后R 2與E V S對比

圖5 特征選擇前后M A E與RM S E對比
由上述結果可知,當數據量較大時,該特征選擇方法不僅可以去除冗余和無關特征,降低了模型的計算復雜度,減少了訓練耗時,還提高了模型預測的準確率,所以該實驗證明了基于信息增益的特征選擇方法的有效性。
通過改善數據預處理中的特征表示和特征選擇方法提高價格預測的準確率,提出了一種基于類型聚類的特征標準化表示和基于信息增益的特征選擇的數據預處理方法。該方法通過對不同類型的特征進行聚類,根據不同特征的特點采用不同且合適的方法進行特征表示,其中利用方差貢獻度和降維的思想提取矩陣特征的信息;之后通過特征的信息增益選擇關鍵非冗余特征,最后在兩份數據集中進行對比實驗。實驗結果表明,提出的基于類型聚類的特征標準化表示方法和基于信息增益的特征選擇方法能夠使價格預測準備率提升。由于文中涉及的數據集不包括信號波形與圖像等非結構化數據,所以提出的數據預處理方法不適用于非結構化數據的預處理,這是該數據預處理方法的不足之處,今后還需要針對非結構化數據的預處理問題進行研究。