【阿里雲-天池數據分析競賽】工業蒸汽量預測項目總結


阿里雲-天池數據分析競賽:工業蒸汽量預測官網鏈接

參賽情況
參賽時間 2020-4-1
結果提交時間 2020-4-6
最終結果(均方誤差MSE) 0.1153
競賽排名 前3%

1. 項目概述

  • 項目背景:影響火力發電的核心因素是鍋爐所產生的蒸汽量。鍋爐產生的蒸汽量受到燃料供給量、供水量、鍋爐的床溫、鍋爐的壓力等諸多因素的影響。
  • 項目要求:利用鍋爐傳感器采集到的鍋爐工況數據,對鍋爐所產生的蒸汽量進行預測。
  • 項目數據:數據為鍋爐傳感器采集的關於鍋爐工況的脫敏數據。數據分成訓練數據(train.txt)和測試數據(test.txt),其中字段”V0”-“V37”,這38個字段是特征變量,”target”字段是目標變量。
  • 評估指標:本項目結果評估指標為均方誤差(Mean Squared Error, MSE)。

2. 項目思路

該項目的基本思路如下圖所示。項目所有流程均基於Python實現。

3. 問題定義

該項目要求利用給定的數據(共包括38個特征,數值型)來對蒸汽量進行預測,因此考慮采用回歸方法進行預測。同時,為了提高預測的准確率(盡量降低MSE),考慮基於集成學習思想的多個回歸模型集成方法。

4. 數據觀察

  • 利用Python第三方庫pandas_profiling對訓練集生成描述性統計報告。發現該數據均為數值型數據,無缺失值。
  • 合並訓練集與測試集,對數據在每個特征上的分布進行可視化,觀察訓練集與測試集在每個特征上的分布情況。通過觀察發現:V5、V9、V11、V17、V22、V28特征上訓練集與測試集分布差異較大,如下圖所示。
    訓練集與測試集分布差異較大的特征
  • 通過數據分布可視化,除了發現存在訓練集與測試集分布不均的情況外,還發現數據在許多特征上存在偏態性。

5. 數據預處理

  • 異常值處理:給定數據經過脫敏,無法了解每個特征的具體含義,所以異常值的界定較為模糊,所以在項目中沒有進行異常值處理。經過多次實驗發現該項目異常值處理與否對最終結果影響不大。
  • 缺失值處理:經過數據觀察,該脫敏數據數據完整,不存在缺失值。
  • 數據偏態處理:通過觀察每個特征的數據分布,對右偏數據采用對數化處理;對左偏數據采用指數化處理。

6. 特征工程

  • 通過比較訓練集與測試集在每個特征上的分布,刪除訓練集與測試集分布差異較大的特征:V5、V9、V11、V17、V22、V28。
  • 對特征進行方差分析,判斷特征所包含的信息量。指定一個方差閾值,刪除低於該閾值的特征。
  • 單變量選擇:對於該回歸問題,基於方差分析中的f_regression,根據相關性由大到小對特征進行排序,選擇前18個特征。

7. 多模型訓練

對於該回歸問題,本項目選擇的模型有:

模型名稱
以linear為核函數的支持向量回歸機(SVR)
線性回歸(Linear Regression)模型
Lasso回歸模型
ElasticNet回歸模型
嶺回歸模型1(以polynominal為核函數)
嶺回歸模型2(以linear為核函數)
XGBregreressor模型
LGBMRegressor模型
深度學習KreasRegressor模型

通過K折交叉驗證計算上述模型的MSE的均值和標准差。

8. 集成學習

對訓練好的多模型進行簡單的集成融合,生成最終的模型Average_model

9. 預測

使用Average_model對測試集進行蒸汽量預測,得到最終結果:

最終均方誤差
0.1153


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM