技術筆記 / 機器學習與資料科學

這是一篇為您量身打造的二部曲部落格文章,完美銜接上一篇的邏輯。您可以將其發佈在您的技術 Blog 或是作為團隊的特徵工程教材。


機器學習煉金術二部曲:解密 Correlation Heatmap —— 揪出量化模型中的「冗餘內鬼」

在上一篇文章中,我們學會了使用「目標相關性長條圖 (Target Correlation Bars)」來海選特徵,挑出了那些真正能與「獲利」掛鉤的黃金指標。

如果你以為把這些黃金特徵全部塞進隨機森林(Random Forest),就能打造出印鈔機,那你可能會大失所望。為什麼?因為你可能不小心在公司裡聘請了 10 個「每天都看同一份報紙、給出相同結論」的分析師。他們不僅沒有增加新的資訊量,還浪費了你的運算薪水,甚至讓決策變得極度混亂。

在機器學習中,這個現象被稱為「共線性 (Multicollinearity)」。而要揪出這些互相抄襲的「冗餘內鬼」,我們就需要動用 EDA 的第二把交椅:特徵熱力圖 (Correlation Heatmap)。


什麼是特徵熱力圖 (Correlation Heatmap)?

newplot.png

showCorrelationHeatmap 是一張巨大的矩陣圖(Matrix)。

與上一張圖只看「特徵 vs 目標」不同,熱力圖看的是「特徵 vs 特徵」之間的愛恨情仇。

它的 X 軸與 Y 軸列出了所有篩選過後的特徵(例如 macroVolatility, minSlope, deviationAbsoluteRatio 等)。圖上的每一個「格子」,代表了對應的兩個特徵之間的 皮爾森相關係數 (Pearson $r$)。

為了讓人眼能瞬間捕捉資訊,矩陣被塗上了直觀的「溫度色碼」:

(註:您會發現圖表從左下到右上有一條完美的「深紅色對角線」,那是特徵「自己對自己」的相關性,永遠是 1.0,看圖時請直接忽略它。)


為什麼「高度相關」的特徵會毀了隨機森林?

假設您有兩個特徵:macroVolatility(通道絕對寬度)與 absMean(絕對偏差平均)。在您的 T3 演算法中,這兩者可能高度連動,熱力圖上顯示為深紅色($r = 0.95$)。

如果同時把它們餵給隨機森林,會發生什麼事?

  1. 特徵重要性 (Feature Importance) 被稀釋:

    決策樹在尋找最佳分裂節點時,看到這兩個長得一模一樣的特徵會產生「選擇困難症」。原本應該分配給「波動率」的 100% 權重,會被隨機拆成 50% / 50%。這會讓您在事後解讀模型時,誤以為這兩個特徵都不太重要。

  2. 維度災難與運算浪費:

    每多一個無用的維度,模型需要學習的數據量就會呈指數級上升。留下冗餘特徵,只是在白白燃燒您的 CPU/GPU。

  3. 過度擬合 (Overfitting):

    這兩個特徵那 $5\%$ 的微小差異,通常只是極端插針造成的「雜訊」。如果模型硬要去學習這 $5\%$ 的差異,就會導致對歷史數據死記硬背,一上線實盤就崩潰。


實戰教戰守則:如何用 Heatmap 進行特徵大掃除?

在實務的量化 Feature Engineering Pipeline 中,請嚴格執行以下三個步驟:

步驟一:尋找「極端色塊」

打開您的 Heatmap,忽略對角線,去尋找那些「極度深紅 ($r > 0.85$)」 或 「極度深藍 ($r < -0.85$)」 的格子。

例如,您發現 s1_macroVolatility 和 s1_microVolatility 之間出現了一個深紅色的方塊。這代表在您的微觀結構定義中,這兩個指標產生了嚴重的資訊重疊。

步驟二:召喚「長條圖」來仲裁

發現這對雙胞胎(冗餘特徵)後,誰該走,誰該留?

這時候請拿出您在上一篇文章學到的 目標相關性長條圖 (Target Correlation Bars)。

去查閱這兩個特徵與 target_is_profit 的相關性:

步驟三:去蕪存菁 (Drop the Loser)

答案顯而易見:s1_macroVolatility 對於預測獲利的能力更強,且它已經涵蓋了 microVolatility 95% 的資訊。

因此,我們必須在 Java 的 DataFrame 處理階段,直接將 s1_microVolatility 整個欄位 Drop 掉 (刪除)!


結語:打造乾淨、正交的特徵矩陣

如果把量化模型比喻為一支軍隊:

「目標相關性長條圖」幫我們淘汰了不能打仗的老弱殘兵。

「特徵熱力圖」則幫我們裁撤了功能完全重複的冗員部門。

一個完美的特徵矩陣,在 Heatmap 上看起來應該要「除了對角線是紅的之外,其他地方盡量都是淺黃色或淺藍色」。這代表您餵給模型的每一個特徵(如斜率、DAR、陰陽率),都在從完全不同的獨立維度(正交性)來描述市場。

當您經過這兩道關卡的洗禮,您留下來的特徵庫,將會是極度精煉、毫無贅肉,且具備強大實盤預測能力的超級武器!

在 GitHub 看原文