資料填補 是什麼?

Data Imputation — 資料填補 的完整解釋

資料填補是處理遺失值的方法,透過統計方法估算並替換遺失值,以維持資料完整性,避免分析偏差。

容易混淆

data-deletion vs 刪除遺失值:刪除遺失值像把有缺頁的書直接丟掉,雖然解決了問題,但可能丟掉很多有用的資訊;資料填補像把缺頁補上,盡量保留所有資訊,讓資料完整可用。 常見混淆:資料填補 vs data-deletion 補值是把缺的補起來,刪除是直接移除樣本。

記住這句就好

補值要合理,不是隨便填滿。

實際案例

年齡缺漏 可用中位數、鄰近樣本或模型估計去補,但要保留缺值是否存在的資訊。 感測器掉點 短時間缺值可插補,長時間缺值可能要改資料來源或丟棄。

算法與應用

  1. 常見方法有平均數、中位數、眾數、插值和模型式補值。
  2. 補值前要先看缺值是隨機缺失,還是有規律地缺。
  3. 不同欄位適合不同方法,數值欄和類別欄不能一樣補。

情境判斷

Q1:少量年齡欄缺值,你會先想到什麼? → 先用合理的統計方法補值,再觀察是否需要保留缺值旗標。 Q2:如果缺值很多而且不是隨機缺失,還能直接補嗎? → 要看情況,這時單純補值可能會引入偏差,甚至比刪掉更糟。

相關術語

常見問題

資料填補一定能改善模型效能嗎?

不一定。如果填補方法不當,例如使用均值填補處理非隨機遺失的資料,反而可能引入偏差,降低模型效能。選擇合適的填補方法,並驗證填補結果的合理性,才能確保改善模型效能。此外,如果遺失值比例非常低,不進行填補可能也是一個可行的選擇。

如何判斷遺失值的模式(MCAR, MAR, MNAR)?

判斷遺失值的模式並不容易,通常需要結合領域知識和統計方法。可以通過分析遺失值與其他變數之間的關係來推斷。例如,如果遺失值與任何其他變數都沒有關係,則可能是 MCAR。如果遺失值與某些可觀察的變數有關,則可能是 MAR。如果遺失值與自身(遺失值本身)有關,則可能是 MNAR。但需要注意的是,這些只是推斷,很難完全確定遺失值的模式。

除了上述方法,還有其他資料填補方法嗎?

是的,除了上述方法,還有一些其他的資料填補方法,例如使用深度學習模型進行填補。例如,可以使用自編碼器 (Autoencoder) 或生成對抗網路 (GAN) 來學習資料的分布,然後生成遺失值。這些方法通常需要大量的資料和計算資源,但可以更好地處理複雜的遺失值模式。此外,還有一些專門針對時間序列資料的填補方法,例如線性插值和樣條插值。