楊 進,李 慧,張雨晗
(貴州財經大學 大數據統計學院,貴州 貴陽 550025)
隨著社會經濟發展步伐的加快和民眾消費偏好的逐漸轉變,汽車已經成為人們出行的主要工具,但是汽車尾氣的排放和能源的消耗給人們的生活帶來了一系列負面影響。例如,臭氧層的破壞、溫室效應和酸雨的形成等環境問題,這不僅會對人類造成巨大的影響,而且給動植物也帶來了較大的危害。隨著生活質量的提高,人們對自己生存環境的要求越來越高,降低汽車尾氣排放量的呼聲也與日俱增。新能源的出現使得汽車行業穩步前進,汽車行業的良性發展改善著消費經濟結構,其中電動汽車消費市場潛力巨大。面對資源緊缺與環境保護問題,電動汽車的發展成為汽車行業的主流趨勢。
近幾年,電動汽車領域發展迅速,發展電動汽車能帶動產業轉型升級、促進節能減排。然而,根據中國汽車工業協會的調查顯示,我國電動汽車售價普遍偏高,2019年上半年燃油車的平均售價比電動汽車的平均售價要低81%,造成消費者對電動汽車售價的接受程度較低。蔡秋茹(2020)運用XGBoost分類和預測模型對測試集數據進行價格預測,并且與支持向量機和神經網絡等算法做了對比實驗,最終得出XGBoost分類算法的預測準確率效果最佳,因此用XGBoost算法預測的結果作為最終的預測結果[1]。林倩云、邱國玉、曾惠等(2019)運用“學習曲線”方法對“特斯拉”和“比亞迪”的電動汽車未來價格進行了預測,并將其與傳統燃油汽車的價格進行對比,為純電動汽車價格在未來的動態走勢提供了一種基于經驗的估計[2]。李寶勝和秦傳東(2020)先對數據進行獲取和相關處理,接著對電動汽車的20個特征進行主成分分析,將得到的數據在支持向量機的基礎之上,用粒子群算法對支持向量機模型的參數進行優化選擇,從而實現對電動汽車的價格預測[3]。張曉宇、趙海斌、周小柯等(2010)對我國新能源汽車在發展過程中存在的一系列問題進行了研究并提出了相應的建議措施[4]。
黃瑩和任偉(2020)對允讓構式用多分類邏輯斯蒂回歸方法來進行分析,發現允讓構式具有統計性先占特征[5]。閆兆煒(2012)分別從技術因素、市場因素、產業化發展因素等方面對中國新能源汽車產業發展進行了研究[6]。
本文通過挖掘特征與價格之間的關系,利用所給出的20個特征對價格進行預測,但通過這樣的預測得到的準確率并不是很高。于是,在20個特征進行處理和篩選后,選出較重要的10個特征,使用多種機器學習方法在測試集上建立模型,并比較各種方法在測試集上的精確度[7],選擇準確率最高的模型對電動汽車價格進行預測。將電動汽車的20個特征進行預測的準確率與將20個特征進行處理之后預測的準確率進行對比,發現對特征進行處理和篩選之后可以得出更高的準確率。其中,在特征重要性的選取上采用了決策樹、隨機森林、Adaboost等多種機器學習方法,最終選出10個重要的特征對價格進行預測,同時采用多種機器學習方法在測試集上進行建模,通過模型層層篩選,最終達到提高價格預測準確率的目的,最后利用測試集上的數據進行檢驗。傳統的統計學預測方法對預測者個人經驗的依賴度高,帶有一定的個人主觀因素。在大數據背景下,一系列機器學習具有準確率高、魯棒性好的特點,因此機器學習也逐漸成為解決預測分類問題的最佳選擇。
本文采用的數據是源于上海財經大學首屆研究生工業與金融大數據建模與計算邀請賽的比賽數據,數據給出了某品牌電動汽車不同規格的電動汽車特征與價格數據作為訓練集,以另一批未知價格的電動汽車特征數據作為測試集。兩組數據集均有20個特征,其中有14個定量指標,包括feat1[電池可以一次性存儲的總能量(mAh)]、feat3(微處理器執行速度)、feat5(前置攝像頭百萬像素)、feat7[內存(以GB為單位)]、feat8[移動深度(cm)]、feat9(重量)、feat10(處理器核心數)、feat11(主要相機百萬像素)、feat12(像素分辨率高度)、feat13(像素分辨率寬度)、feat14(以兆字節為單位的隨機存取存儲器)、feat15[屏幕高度(以cm為單位)]、feat16[屏幕寬度(以cm為單位)]、feat17(單個電池充電時間最長的時間);6個定性指標,包括feat2(是否有藍牙)、feat4(是否支持雙SIM卡)、feat6(是否支持4G)、feat18(是否有3G)、feat19(是否有觸摸屏)、feat20(是否有wifi);電動汽車價格(price)分為0、1、2、3這4個檔次。用于訓練模型中的訓練集共有15 000組數據和用于測試模型中的測試集共有5 000組數據。
數據的質量分析主要用于檢查數據中是否存在缺失值和異常值等骯臟數據。通過運用檢測代碼檢查電動汽車價格的訓練集數據并沒有發現缺失數據。異常值是指樣本中的一些數據明顯偏離其他數值的樣本點。首先,對整個樣本數據進行描述性統計,找出數據的最大值、最小值、四分位值等,判斷各樣本點的取值是否超出合理的范圍。其次,箱線圖很適合鑒別異常值,判斷標準是計算出數據中的最小估計值和最大估計值。如果數據超過這一范圍,說明該值可能為異常值。箱線圖會自動標出此范圍,異常值則用圓圈表示。在這里對定量指標的數據繪制箱線圖。由于各個屬性的單位量綱不一致,因此先對數據進行歸一化處理,再繪出定量指標的箱線圖(如圖1所示)。
由圖1可看出,feat5(前置攝像頭百萬像素)有3個離群點,feat12(像素分辨率高度)有2個離群點。由于這幾個異常值高于正常值的范圍,因此采用正常范圍內的最大值替代。對feat5=19、18、17的點,均使用feat5=16進行替代,對feat12=1 949,1 920的點,均用feat12=1 901替代。
觀測數據的分布特點及分布類型可以進行探索性數據分析。對于定量變量進行相關處理之后得出20個特征的分布直方圖(略)。
對于各個特征的相關性分析,本文運用Pearson(皮爾遜)相關進行分析,如果相關性值大于0.5,說明兩個特征之間的相關性很強,其實際意義相似,可以只保留其中一個特征或者將兩個特征進行合并,這樣可以避免出現多重共性。電動汽車的20個特征的相關熱力圖如圖2所示。

圖2 特征之間相關熱力圖
由于20個特征進行價格預測的準確率并不是很高,因此對這20個特征進行特征的相關處理之后,再對價格進行預測。由圖2可以得出特征5和特征11、特征12和特征13、特征15和特征16及特征6和特征18這4對特征的相關性值均大于0.5,說明其實際意義相似,可以只保留一個特征或將兩個特征合并。本文在特征5和特征11中選擇了特征11,在特征6和特征18中選擇了特征6,將特征12和特征13、特征15和特征16進行合并處理。然后,用機器學習方法對17個特征進行重要性排列,最終選擇排名前10的特征進行再預測,預測效果評價見表1。由表1可知,其預測結果準確率明顯高于特征處理之前。

表1 各算法的預測效果評價
為了有效判斷預測模型效果,用一批沒有參與預測模型建立的測試數據集來評價預測模型的準確率。分別計算出它們的準確度(accuracy),計算公式如下:

公式(1)中,TP、TN、FP、FN分別為二分類中的真正例、真反例、假正例、假反例。混淆矩陣用于描繪樣本數據的真實屬性與識別結果類型之間的關系。對角線元素表示各模式能夠被分類器正確識別的百分率,非對角線元素則表示發生錯誤判斷的百分率。
邏輯回歸(Logistic Regression)是用于處理因變量為分類變量的回歸問題,常見的是二分類或二項分布問題,也可以處理多分類問題,它實際上屬于一種分類方法,用于估計某種事物的可能性;K近鄰法(K-Nearest neighbor,KNN)是一種常用的監督學習方法,其工作機制如下:給定測試樣本,基于某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然后基于這k個“鄰居”的信息來進行預測;隨機森林(Random Forest)是利用多棵樹對樣本進行訓練并預測的一種分類器;支持向量機(Support Vector Machine,SVM)是一類按監督的方式對數據進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大邊距超平面,SVM可以通過核方法進行非線性分類的核學習方法之一;XGBoost是一種集成學習算法,屬于Boosting算法的一種,其中心思想是集成許多弱分類器,以迭代的方式形成一個強分類器;隨機梯度下降(SGDC)是一種用于在線性分類器下的線性分類的判別學習方法。
基于以上幾種方法,將處理好的電動汽車價格數據導入分類模型和結果可視化代碼中,通過利用機器學習中的邏輯回歸、K近鄰法、隨機森林、支持向量機、XGBoost、隨機梯度下降6種模型算法進行訓練,最后將6種算法的預測效果進行對比。由于對20個特征進行價格預測的準確率不是很高,因此為了能夠得出更高的準確率,本文還進行了特征篩選,將篩選之后的數據再次導入6種模型算法,得到表1中的評價結果。由表1可以看出,特征處理及篩選之后用支持向量機進行預測的準確率為97%,明顯高于其他模型的準確率。所以,本文采用支持向量機模型預測電動汽車價格具有一定的優勢。
通過SVM(支持向量機)得到了高于其他模型的準確率,因此利用支持向量機對測試集的電動汽車價格進行預測。
通過支持向量機得到電動汽車的預測價格,值得注意的是,影響電動汽車價格的因素還有很多,比如電動汽車的供求關系、汽車的成本、社會的政策措施、消費者的心理因素等涉及各個領域的特征。但是,本文主要是針對電動汽車的20個物理特征,利用機器學習的各種算法對電動汽車的測試數據集進行預測,并選擇準確率較高的算法,最后得出支持向量機的準確率最高,因此選擇支持向量機的預測結果為最后的價格預測結果。