?

基于5CV-Optuna-LightGBM回歸模型的數據預測方法

2024-01-29 00:31顧靚談子楠榮靜
軟件工程 2024年1期

顧靚 談子楠 榮靜

關鍵詞:Pearson;五折交叉驗證;Optuna;LightGBM;正則化

0 引言(Introduction)

機器學習模型相對于傳統模型來說,其學習能力和泛化能力更強,占用的內存更低,訓練速度更快而且效率也更高。隨著機器學習的興起,大量學者嘗試建立相關的機器學習模型預測各種類型的數據,達到節約時間和經費的目的。與依賴于已知模式推導的線性回歸等傳統模型不同,機器學習模型不需要推導參數化詳細的模型方程[1]。

本文以五折交叉驗證、Optuna超參數優化和LightGBM回歸預測模型為基礎,建立LightGBM 混合模型,命名為5CVOptuna-LightGBM 回歸預測模型。為探討5CV-Optuna-LightGBM回歸預測模型的適用性,本文采用影響二手車價格的因素數據集對二手車價格進行預測。對比常用的5CVLightGBM回歸預測模型和最優尺度回歸模型,本文采用的5CV-Optuna-LightGBM回歸預測模型占用的內存更低、預測值更加準確、建模效率更高及擬合度更高。

1 預備知識(Preliminary knowledge)

LightGBM 是一種機器學習算法,自2017年被首次提出以來,得到了廣泛的研究和應用。KE等[2]提出了一種高效的基于決策樹的梯度提升算法,采用多種優化技術提高了算法效率和泛化性能;SHEHADEH 等[3]建議使用修正決策樹(MDT)、LightGBM 和XGBoost回歸模型預測建筑設備的殘值,提高了準確性并激發機器學習的潛力。除此之外,SRINIVAS等[4]利用優化的XGBoost分類器,使用超參數優化技術(OPTUNA)對超參數進行適當的調整,并使用五種指標評估系統的效率,證明該模型的預測結果更好。

1.1LightGBM 回歸預測模型

1.1.1LightGBM 算法

LightGBM是一個實現梯度提升決策樹(Gradient BoostingDecision Tree, GBDT)算法的框架[5],基于直方圖的決策樹算法,通過基于梯度的單邊采樣算法GOSS(Gradient-based One-Side Sampling)和互斥特征捆綁算法EFB(Exclusive FeatureBundling)改進,支持高效率并行訓練,具有速度快、節省內存、泛化能力較好等優點[6]。直方圖算法把連續的浮點特征值離散化成k 個整數,由此尋找最優切分點并取得最大增益,k 越小,其擬合準確度越低。利用直方圖可以進行差分加速提高運算速度。在此基礎上,LightGBM 使用按葉生長(Leaf-Wise)的算法[7]降低了模型損失。此外,LightGBM 需要設置一個決策樹的最大深度用于分裂增益最大的結點,避免分裂的次數增加而發生過擬合的情況。在優化改進中,LightGBM 采用GOSS算法保留大梯度樣本,對小梯度樣本隨機采樣,減少訓練誤差;采用EFB算法將互斥特征進行合并,降低特征維度。

LightGBM中最重要的是模型訓練。模型訓練主要通過以下幾個步驟進行參數設置[8]。(1)數據收集:收集影響二手車價格的因素數據;(2)特征工程:尋找能最大限度地反映因變量本質的自變量分類原始數據;(3)模型訓練:不斷訓練數據,只有達到規定的迭代次數或者迭代過程,收斂才能停止;(4)交叉驗證和模型評估:待LightGBM 模型達到最優后,通過模型評測對樣本集和測試集進行模型檢驗,觀察預測結果是否符合真實值。若數據不符合,則重新分類原始數據,重復上述步驟直到得出預期結果。

1.1.2L1正則化

LightGBM 在每次迭代時,會根據結果對樣本進行權重調整,隨著迭代次數的增加,模型偏差不斷降低,導致模型對噪聲越來越敏感。L1正則項將回歸模型(regression_L1)作為目標函數(objective),通過參數稀疏化進行特征選擇、降低噪聲。隨著正則項不斷增大,相應變量系數不斷縮減,直至為0。剔除零值特征,減少LightGBM 預測誤差,損失函數達到全局最小值。損失函數L 的計算公式如下:

其中,L1正則項為μ‖w‖1,即權重向量中各元素的絕對值之和。在L1正則項回歸模型中,μ 直接決定進入模型的變量個數,影響模型回歸的準確性。

1.2 五折交叉驗證

模型應用于驗證數據中的評估常用的是交叉驗證,又稱循環驗證[9]。特征交叉通過合成特征在多維特征數據集上進行非線性特征擬合,從而提高模型的準確性,防止過擬合。原始數據分成k 組不相交的子集,每個子集數據抽出m 個訓練樣例。在訓練樣例中隨機抽取1組子集作為一次驗證集,剩下的k-1組子集數據作為訓練集,每組子集都經過一次驗證,得到k 個模型。

假設數據集有特征x1 和x2,那么引入交叉特征值x3,使x3=x1x2,最終表達式如下:

1.3 Optuna超參數自動優化

Optuna是一種自動化軟件框架,能對模型超參數進行優化[10]。Optuna可以通過選擇多種優化方式確定最佳超參數,例如網格搜索、隨機搜索和貝葉斯優化等。在Optuna的優化程序中,三個核心的概念分別為目標函數(objective)、單次試驗(trial)和研究(study)。在機器學習中,為了找到最優的模型參數,研究人員需要定義一個待優化的函數objective,這個函數的輸入是模型參數(也就是參/超參數),輸出是針對這些模型參數的模型效果評估指標。對于每組參數,研究人員需要進行一次trial,通過貝葉斯優化或網格搜索等優化算法,探索參/超參數的范圍。優化算法需要study對象進行管理和控制試驗的次數、參數的探索范圍等并記錄下來,從而確定最優的模型參數組合。在優化過程中,Optuna利用修剪算法刪除對分類作用小的過程,并通過反復調用和評估不同參數值的目標函數降低過擬合概率,獲得最優解,降低誤差。

2 數據處理(Data processing)

本文實驗選取影響二手車價格的因素數據集,數據集樣本共有30 000個。為方便處理數據,需要進行如下操作:提取tradeTime、registerDate、licenseDate等日期指標的年月日數值;anonymousFeature11數據表現為1+2、2+3等六種字符串,按順序用數字1~6對這六種字符串數據進行標簽編碼。對其他數據按照本文2.1至2.4章節的步驟進行處理。

2.1 填補缺失值

條形密度圖(圖1)顯示主要特征的缺失率,圖中的空白越多,代表缺失的數據越多。部分二手車價格數據變量缺失率高于80%,直接去除會造成數據的嚴重浪費等問題。對高于80%的部分特征,如匿名特征(anonymousFeature4)等,則直接刪除;余下的缺失率低于80%的部分特征,如cityid(車輛所在城市id)等,根據樣本之間的相似性進行眾數填充[11]。

2.2 長尾特征處理

長尾是指某個或某幾個連續變量的數值分布差別很大,呈現長尾圖樣式(圖2)

對數變換的目標是幫助穩定方差,始終保持數據分布接近于正態分布,使得數據與分布的平均值無關。通過對數變換對cityid(車輛所在城市id)、oiltype(燃油類型)、newprice(新車價)等長尾特征進行處理[12]。

2.3 去除異常值

為了確保后續預測結果的準確性,訓練數據必須符合實際情況。通過matplotlib(2D繪圖庫)的箱線圖(圖3)分析指標,去除數值大于或小于其整體數值(超出箱線圖邊距)的異常變量中的數據。

2.4 相關性分析

通過Pearson相關系數對時間特征進行相關性分析。Pearson相關系數是描述兩個定距變量間聯系的緊密程度和線性相關關系的參數[13]。通過Pearson相關系數可探求影響二手車價格變量之間的相關性,其計算公式如下:

其中:N 表示變量個數,x、y 表示變量的觀測值。相關系數r的絕對值越大,其相關性越強;當r∈(0,1]時,表示x 與y 呈正相關,當r∈[-1,0)時,表示x 與y 呈負相關,當r=0時,x與y 無線性關系。

通過公式(3)對指標進行相關性計算,得到二手車價格指標熱力圖(圖4),可知carid(車輛id)和model、brand(品牌id)和anonymousFeature5(匿名特征)、modelyear(年款)和registerDate_year(注冊日期)等變量之間的相關系數均大于0.8,說明這些指標之間高度正相關,可以用其中一個指標代替其他指標[14]。

35CV-Optuna-LightGBM 回歸預測模型(5CVOptuna-LightGBM regression prediction model)

為了提升預測結果的精度,本文在原始LightGBM 回歸預測模型的基礎上引入五折交叉驗證和Optuna超參數自動優化,形成5CV-Optuna-LightGBM回歸預測模型。

3.1 模型訓練及參數優化

為提高LightGBM模型在默認參數下的診斷準確率,本文采用split方法將訓練集和測試集劃分為5份,每次迭代隨機選取4份數據作為訓練集,并對LighGBM模型中的10個特定超參數進行尋優,參數值在給定范圍內隨機生成,迭代1 000 000次。其中:參數num_leaves代表葉子節點數;參數max_depth代表樹的深度,合適的樹深度在一定程度上可以避免過擬合;參數feature_fraction代表子特征處理列采樣;參數bagging_fraction代表建樹的采樣比例,具有泛化數據的能力;參數bagging_freq代表每k 次迭代進行子采樣;參數learning_rate代表學習率,如果設定過小,會導致梯度下降很慢,而設定過大又會跨過最優值,產生振蕩;參數min_child_weight代表葉子節點中樣本數目;參數min_child_samples代表葉子節點最小記錄數;參數seed代表指定隨機種子數。Optuna高緯度參數關系圖如圖5所示。

3.2 交叉驗證ROC 曲線

將訓練集中price指標中低于10萬元的標為0,高于10萬元的標為1,利用受試者工作特征曲線ROC (ReceiverOperating Characteristic)判斷交叉驗證擬合度。其中,真陽性率(所有實際為陽性的樣本被正確地判斷為陽性的個數與所有實際為陽性的樣本個數之比)為縱坐標,假陽性率(所有實際為陰性的樣本被錯誤地判斷為陽性的個數與所有實際為陰性的樣本個數之比)為橫坐標繪制的曲線,曲線越靠近左上方,則代表擬合程度越高。同時,二手車樣本的檢測數據變化較大,使用ROC 曲線可以使數據分析更加穩定,交叉驗證ROC 如圖6所示。

通過ROC 曲線分析,表明交叉驗證下ROC 均大于0.99,模型性能優良。

3.3 評價指標

本文所采用的模型評價指標有平均絕對百分誤差(MAPE)、對稱平均絕對百分誤差(SMAPE)、平均絕對值誤差(MAE)、均方誤差(MSE)、均方根誤差(RMSE)和準確率(Accuracy),代表對樣本的整體預測的準確程度,其中真實值y=(y1,y2,…,ym ),模型預測為^y=(^y1,^y2,…,^ym ),其計算公式分別如下:

Accuracy 采用相對誤差在5%以內[count(Ape≤0.05)]的樣本數量,其中Ape 為相對誤差。

3.4 模型性能對比

利用公式(4)至公式(9)分別求出5CV-Optuna-LightGBM回歸預測模型、5CV-LightGBM 回歸預測模型、Optuna-LightGBM回歸預測模型和最優尺度回歸預測模型的評價指標,并進行模型對比,模型對比結果如表1所示。

對比四個模型的準確率、平均決定值誤差等誤差指標和花費時間可以看出(表1),5CV-Optuna-LighGBM 回歸預測模型的準確率最高,達到了99.433%。在預測值和實際值之間的差距方面,5CV-Optuna-LighGBM回歸預測模型的MAE 等誤差指標最小,預測最準確。在建模效率方面,5CV-Optuna-LightGBM回歸預測模型花費的時間最少、效率最高。

4 預測結果(Predicted results

對二手車價格的預測值和真實值進行三次實驗,提高結果的可靠性和泛化性,5CV-Optuna-LightGBM 回歸預測模型預測值和真實值三次實驗對比結果如圖7所示。對比二手車價格的預測值和真實值分析得到數據基本一致,進一步驗證模型的準確性。

利用5CV-Optuna-LightGBM回歸預測模型求出二手車價格預測結果,二手車價格預測密集圖如圖8所示。

圖8中,預測價格在10萬元左右的二手車成交頻率最高,意味著大多數二手車的里程適中、座位數較少、車齡較老。通常,一些熱門品牌和車型的二手車比較保價,而其他二手車的價格可能較低。10萬元左右的二手車大多為中檔車型或一些比較受歡迎的品牌,主要分布在二線和三線城市。此外,過戶次數、車輛生產國家、排量等因素也在一定程度上影響二手車價格。

5 結論(Conclusion)

本文在影響二手車價格因素數據集上研究5CV-Optuna-LightGBM回歸預測模型對于預測類問題的優勢,并對該模型進行有效性檢驗。從實驗結果來看,基于5CV-Optuna-LightGBM回歸預測模型可將預測精度提高到99.433%,而預測時間降低到15 s,平均絕對值誤差(MAE )、均方誤差(MSE)、均方根誤差(RMSE)、平均絕對百分誤差(MAPE)、對稱平均絕對百分誤差(SMAPE)分別減少到0.005、0.000、0.011、0.003、0.003,預測結果更準確。此模型可以在其他經濟市場中為產品估價提供一定參考意見。

但是,本研究仍存在一些不足。數據處理解釋了可能的誤差來源,總體誤差是可控的,但即使對幾種方法的結果進行了比較,誤差也依然存在。每種方法都有其優缺點,因此在不同的背景下,評估哪種方法是適宜的,具有一定的挑戰性。此外,相關擬合方法仍有改進和完善的空間,可以添加擬合方法進行擬合度對比,獲取更高的擬合度。今后,值得探索的一個領域是研究多組平行對照組。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合