殘差分析 Residual Analysis

基礎殘差分析 (Residual Analysis)

這是評估模型好壞的核心步驟。

import numpy as np

def calculate_residuals(y_true, y_pred):
    # 直接計算兩者之差
    # y_true 與 y_pred 通常為長度為 m 的 NumPy 陣列
    res = y_true - y_pred
    return res

詳細解析:

  1. 元素級運算 (Element-wise)
    • 在術科環境中,y_truey_pred 會是 NumPy 陣列。
    • 使用 y_true - y_pred 時,NumPy 會自動對應每個位置進行相減,這稱為「向量化運算」,比迴圈快且簡潔。
  2. 殘差的物理意義
    • 正值:代表真實值大於預測值(模型低估了)。
    • 負值:代表真實值小於預測值(模型高估了)。
  3. 評分關鍵:維度匹配
    • 考試時需確保 y_truey_pred形狀 (Shape) 一致。如果一個是向量而另一個是矩陣,減法會產生錯誤或非預期的結果。

所謂的殘差(Residual),定義非常簡單:

殘差=真實值(y)預測值(y^)

如果模型是完美的,殘差應該看起來像「隨機雜訊」;如果殘差中隱藏了某種模式(Pattern),就代表模型遺漏了重要的資訊。

平均絕對誤差 (MAE)

計算預測值與真實值之間差距的絕對值總和,取其平均。

import numpy as np

def calculate_mae(y_true, y_pred):
    # np.abs() 取絕對值,np.mean() 計算平均
    return np.mean(np.abs(y_true - y_pred))

均方誤差 (MSE)

將差距先平方再平均。這會讓較大的誤差對結果產生更大的影響。

def calculate_mse(y_true, y_pred):
    # **2 代表平方運算
    return np.mean((y_true - y_pred)**2)

學習重點

Powered by Forestry.md