科爾莫哥洛夫-斯米爾諾夫檢定 是什麼?
KS Test:科爾莫哥洛夫-斯米爾諾夫檢定 的完整解釋
比較兩個機率分佈是否相同的非參數統計檢定方法,常用於評估資料漂移與模型輸入分佈變化。
KS 檢定(Kolmogorov-Smirnov Test)是統計學中歷史悠久且廣泛使用的非參數假設檢定工具,由蘇聯數學家安德雷·科爾莫哥洛夫與尼古拉·斯米爾諾夫在二十世紀中葉各自獨立提出。其核心思想直觀:透過比較兩個樣本的累積分佈函數(Cumulative Distribution Function,CDF)之間的最大差距,來判斷兩組數據是否來自同一個分佈。
KS 檢定有兩種主要形式。第一種是單樣本 KS 檢定,用於比較一個觀測樣本與已知的理論分佈(例如常態分佈或均勻分佈)是否吻合。第二種是雙樣本 KS 檢定,用於比較兩組獨立樣本是否來自相同的母體分佈。在機器學習與 AI 系統監控中,雙樣本 KS 檢定更為常見,因為我們通常需要比較訓練集與生產資料集之間的分佈差異。
在實際計算時,KS 統計量 D 被定義為兩個 CDF 之間的最大絕對差值:D = max |F1(x) - F2(x)|。當 D 值夠大(超過根據樣本量計算出的臨界值),則拒絕虛無假設(兩分佈相同),認為兩者存在統計顯著的差異。p 值越小,代表兩分佈差異越明顯,通常以 p < 0.05 作為顯著性門檻。
在機器學習場景中,KS 檢定被廣泛應用於資料漂移偵測(Data Drift Detection)。模型上線後,生產環境中的輸入資料分佈可能隨時間改變,例如用戶行為改變、市場環境變化、或資料採集方式調整。如果訓練資料與生產資料的分佈出現顯著差異,模型的預測能力可能下降,此時模型需要重新訓練或更新。透過定期對每個特徵進行 KS 檢定,可以及時發現哪些特徵的分佈發生了漂移,從而觸發重新訓練或人工審查的流程。
在信用風險評分領域,KS 統計量(稱為 KS Score 或 Gini 相關指標)被廣泛用來衡量模型的區分能力。具體做法是比較模型對「好」客戶與「壞」客戶的預測分數分佈:KS Score 等於在所有閾值中,好客戶累積分佈函數與壞客戶累積分佈函數差值的最大值。KS Score 越高,代表模型對兩類客戶的區分效果越好,行業經驗認為 KS Score 大於 0.4 屬於良好的模型。
KS 檢定的優點在於不需要假設資料的具體分佈形式(非參數),對任何連續分佈都適用,計算速度快,且容易解釋。然而,它對分佈中段的差異比尾部更為敏感,且主要針對連續型隨機變數設計,處理離散型或類別型資料時效果有限。
實務上,除了 KS 檢定,常見的分佈比較方法還包括:卡方檢定(Chi-Square Test,適合類別型特徵)、Population Stability Index(PSI,廣泛用於金融業的特徵穩定性監控)、以及 Wasserstein 距離(Earth Mover's Distance,對整體分佈形狀差異更敏感)。KS 檢定相對簡單且計算速度快,適合作為資料監控流水線中的初步篩選工具,發現問題後再進行更深入的分析。
在 Python 生態系統中,scipy.stats.ks_2samp 函式可以便捷地執行雙樣本 KS 檢定,回傳 KS 統計量與 p 值,讓資料科學家能夠快速整合到現有的模型監控框架中。開源工具如 Evidently AI、Whylogs 也內建了 KS 檢定作為資料漂移監控的標準組件之一。
在 iPAS AI 應用規劃師中級考試中,KS 檢定通常出現在模型監控、資料品質評估、以及公平性評估等情境的題目。考生需要理解 KS 檢定的原理(比較 CDF 差異)、適用條件(連續型資料、非參數)、與卡方檢定的差異、在資料漂移偵測中的應用,以及 p 值解讀方式。 KS 檢驗(Kolmogorov-Smirnov Test)是統計學和機器學習中廣泛使用的非參數檢定方法,以數學家 Andrey Kolmogorov 和 Nikolai Smirnov 的名字命名,特別適用於不假設資料遵循特定分布的場景。
KS 檢驗的核心在於比較累積分布函數(CDF)。單樣本 KS 檢驗比較觀測資料的經驗累積分布函數(ECDF)與理論分布的 CDF,用來判斷樣本是否來自指定的理論分布(例如正態分布、均勻分布);雙樣本 KS 檢驗比較兩個樣本各自的 ECDF,判斷兩者是否來自相同的母體分布。
KS 統計量 D 定義為兩條 CDF 曲線在任意點上的最大絕對差值。D 值越大表示兩個分布差異越大。P 值由 KS 統計量的理論分布推導,當 P 值低於顯著性水準(通常為 0.05)時,拒絕「兩分布相同」的虛無假設。
在機器學習中,KS 檢驗最重要的應用是資料漂移(Data Drift)偵測。生產環境中,輸入特徵的分布可能隨時間改變(概念漂移),導致模型性能下降。通過定期對比線上資料與訓練資料的 KS 統計量,可以早期發現分布漂移,及時觸發模型重訓或警報機制。許多 MLOps 平台(如 Evidently AI、WhyLogs)內建了 KS 檢驗作為預設的分布監控指標。
在金融信用評分中,KS 值也是衡量模型區分能力(好壞客戶分離程度)的傳統指標,KS 值 > 0.4 通常被認為是模型具有良好區分力的標準。