聊聊基于 LSTM 的多特征序列預(yù)測-SHAP可視化!
前言
本文基于前期介紹的電力變壓器,介紹一種基于 LSTM 預(yù)測模型的 SHAP 可視化分析教程。
數(shù)據(jù)集是使用.csv形式進(jìn)行存儲的,包括了除時間列外 “HUFL”, “HULL”, “MUFL”, “MULL”, “LUFL”, “LULL” 和 “OT”7個特征。
1 多特征變量數(shù)據(jù)集制作與預(yù)處理
1.1 導(dǎo)入數(shù)據(jù)集
取油溫數(shù)據(jù) OT 為目標(biāo)預(yù)測值!
1.2 數(shù)據(jù)集制作
按照 8:2 劃分訓(xùn)練集,測試集,滑動窗口設(shè)置為12
2 基于Pytorch的 LSTM 預(yù)測模型
2.1 定義 LSTM 預(yù)測模型
2.2 設(shè)置參數(shù),訓(xùn)練模型
注意調(diào)整參數(shù):
- 可以修改LSTM層數(shù)和每層神經(jīng)元個數(shù);
- 增加更多的 epoch (注意防止過擬合)
- 可以改變滑動窗口長度(設(shè)置合適的窗口長度)
3 模型評估與可視化
3.1 結(jié)果可視化
3.2 模型評估
4 SHAP 可視化分析
SHAP 特征重要性-Summary Plot
將 SHAP 值矩陣傳遞給條形圖函數(shù)會創(chuàng)建一個全局特征重要性圖,其中每個特征的全局重要性被視為該特征在所有給定樣本中的平均絕對值。
上面使用Summary Plot方法并設(shè)置參數(shù)plot_type="bar"繪制典型的特征重要性條形圖,而他默認(rèn)繪制Summary_plot圖,他是結(jié)合了特征重要性和特征效果,取代了條形圖。
Summary_plot 為每一個樣本繪制其每個特征的Shapley value,它說明哪些特征最重要,以及它們對數(shù)據(jù)集的影響范圍。
y 軸上的位置由特征確定,x 軸上的位置由每 Shapley value 確定。顏色表示特征值(紅色高,藍(lán)色低),顏色使我們能夠匹配特征值的變化如何影響風(fēng)險的變化。重疊點(diǎn)在 y 軸方向抖動,因此我們可以了解每個特征的 Shapley value分布,并且這些特征是根據(jù)它們的重要性排序的。
