遺漏值是隨機發生的嗎?

在 Python 中處理遺漏值

Suraj Donthi

Deep Learning & Computer Vision Consultant

遺漏資料的可能原因

注意 $-$(variable $\rightarrow$ DataFrame 中的資料欄位或欄)

  • 變數中在時間點或區間隨機缺漏的數值
  • 因另一個變數而缺漏的數值
  • 因自身或其他變數的缺漏而缺漏的數值
在 Python 中處理遺漏值

遺漏型態的種類

  1. Missing Completely at Random(MCAR)
  2. Missing at Random(MAR)
  3. Missing Not at Random(MNAR)
在 Python 中處理遺漏值

Missing Completely at Random(MCAR)

定義:

「遺漏性與任何值(已觀測或遺漏)皆無關」

完全隨機遺漏的例子

在 Python 中處理遺漏值

MCAR-範例

msno.matrix(diabetes)

糖尿病資料集的完全隨機遺漏

在 Python 中處理遺漏值

Missing at Random(MAR)

定義:

「遺漏性與其他已觀測資料有系統性的關係,但與遺漏的資料本身無關」

隨機遺漏的例子

在 Python 中處理遺漏值

MAR-範例

msno.matrix(diabetes)

糖尿病資料集的隨機遺漏

在 Python 中處理遺漏值

Missing Not at Random(MNAR)

定義:

「遺漏性與其自身的值(遺漏或非遺漏)有關」

非隨機遺漏的例子

在 Python 中處理遺漏值

MNAR-範例

  • diabetesSerum_Insulin 排序後的遺漏型態
sorted = diabetes.sort_values('Serum_Insulin')
msno.matrix(sorted)

糖尿病資料集的非隨機遺漏

在 Python 中處理遺漏值

重點整理

  • 遺漏的可能原因
    • Missing Completely at Random(MCAR),
    • Missing at Random(MAR),或
    • Missing Not at Random(MNAR)
  • 透過排序變數來偵測遺漏型態
  • 將遺漏型態對應到 MCAR、MAR、MNAR
在 Python 中處理遺漏值

一起來練習吧!

在 Python 中處理遺漏值

Preparing Video For Download...