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