族群穩定性指數 是什麼?

PSI:族群穩定性指數 的完整解釋

族群穩定性指數(Population Stability Index, PSI)用於量化資料分布隨時間的變化幅度,是監控機器學習模型輸入特徵或輸出預測是否發生偏移(drift)的核心指標,PSI 越大

核心概念

族群穩定性指數(Population Stability Index, PSI)最初由金融業設計,用於評估申請貸款的客群分布是否隨時間改變,進而判斷既有的信用評分模型是否仍然適用。近年來,PSI 已成為 MLOps 中監控特徵偏移(Feature Drift)和概念偏移(Concept Drift)的標準工具之一。

PSI 的直觀含義:若你用 2024 年的資料訓練了一個模型,並在 2026 年部署,輸入資料的分布是否還和當初訓練時相似?PSI 提供了一個量化答案。

運作原理

PSI 計算公式:

PSI = Σ (Actual_i − Expected_i) × ln(Actual_i / Expected_i)

其中:

  • Expected_i:基準期(如訓練集)第 i 個區間的樣本比例
  • Actual_i:監控期(如生產資料)第 i 個區間的樣本比例

計算步驟:

  1. 選定基準資料集(通常為訓練集或驗證集)
  2. 決定分箱策略:對連續特徵通常分為 10-20 個等寬或等頻區間
  3. 計算基準期與監控期各區間的樣本比例
  4. 對每個區間計算 (Actual − Expected) × ln(Actual / Expected)
  5. 加總所有區間的結果得到 PSI

注意事項:

  • 若某區間比例為 0,需進行平滑處理(如加一個極小值 ε)以避免除以零或 ln(0) 的問題
  • 分箱邊界應固定(使用訓練集的等頻分箱),不能在比較時重新計算

PSI 解讀門檻(業界通用規則):

PSI 值 解讀 建議行動
< 0.1 分布穩定 無需處置
0.1 – 0.2 輕微變化 持續監控,了解原因
> 0.2 顯著偏移 調查根因,考慮重新訓練

實際應用

MLOps 監控流水線

在生產環境中,PSI 通常作為定期批次監控任務運行,對每個輸入特徵以及模型的預測分數分別計算 PSI:

import numpy as np

def calculate_psi(expected, actual, buckets=10, eps=1e-6):
    # 使用 expected 的分位數決定分箱邊界
    breakpoints = np.quantile(expected, np.linspace(0, 1, buckets + 1))
    breakpoints[0] = -np.inf
    breakpoints[-1] = np.inf
    
    expected_counts = np.histogram(expected, breakpoints)[0]
    actual_counts = np.histogram(actual, breakpoints)[0]
    
    expected_pct = (expected_counts / len(expected)) + eps
    actual_pct = (actual_counts / len(actual)) + eps
    
    psi_values = (actual_pct - expected_pct) * np.log(actual_pct / expected_pct)
    return psi_values.sum()

信用評分模型管理

金融機構通常每月計算申請客群各特徵的 PSI,若任一關鍵特徵(如收入、年齡分布)的 PSI 超過 0.2,就啟動模型重新驗證流程。這個機制避免了在客群結構悄然轉變後,模型繼續使用舊有的評分規則造成誤判。

多特徵監控儀表板

實務中會同時監控數十甚至數百個特徵的 PSI,通常以熱力圖(Heatmap)呈現各特徵在各時間點的 PSI 值,快速識別哪些特徵的分布在何時開始偏移。

常見誤區

誤區一:PSI 能偵測所有類型的模型效能下降 PSI 只能偵測輸入特徵或預測分數的分布變化,無法直接衡量模型的預測準確率是否下降。分布穩定(低 PSI)的情況下,仍可能因為輸入特徵與目標變數之間的關係改變(概念偏移)而導致效能下滑。完整的模型監控需要同時追蹤 PSI 與預測效能指標(如 AUC、F1)。

誤區二:PSI 適用於任何類型的特徵 PSI 針對連續特徵或有序特徵設計,對名目類別特徵(如國家代碼、產品類別)需要調整計算方式,直接套用等寬分箱可能產生無意義的結果。

誤區三:分箱數越多,PSI 越精確 過多的分箱會導致某些區間樣本數極少,引入高變異數。分箱數通常在 10-20 之間取得穩定性與解析度的平衡,並且每個區間的樣本比例應不低於 5%。

與相關技術的比較

方法 量化對象 計算複雜度 解釋性 適用場景
PSI 邊際分布差異 高(有明確門檻) 生產環境定期監控
KL 散度 機率分布差異 統計研究,無標準門檻
KS 統計量 累積分布最大差異 假設檢定(有 p-value)
Wasserstein 距離 分布形狀差異 對稱分布比較

PSI 與 KL 散度在數學上高度相關(PSI 近似於 JSD,即兩個方向的 KL 散度之和),但 PSI 的業界解讀門檻(0.1 / 0.2)使其在實務監控中更易於決策。

常見問題