Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 19 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

遺漏值與資料品質

遺漏值處理:MCAR/MAR/MNAR 與多重插補

當問卷未答、研究退出造成資料缺漏,刪掉與亂補都會出錯——從三種遺漏機制到多重插補與敏感度分析的完整指南

三千份問卷裡,缺的那一格藏著什麼祕密?

期末,你回收了三千份學習動機問卷。匯入試算表後才發現:有人跳過了「家庭月收入」,有人在第二週退出研究、整段生理數據空白,還有人填到一半關掉瀏覽器。你打開統計軟體,按下分析,它默默地把所有「不完整」的列刪掉——剩下一千八百份。那一千兩百份消失的資料,真的只是「少了一點點」嗎?

這個問題比想像中嚴重。被刪掉的列若不是隨機消失,而是「成績差的人比較不想填動機問卷」「壓力大的人比較容易退出」,那麼你留下的一千八百份就是一個被悄悄篩選過的偏誤樣本。你以為自己在分析「全班」,其實只在分析「願意留下的那群人」。本篇要回答的,正是統計學裡最容易被忽略、卻最致命的一環:當資料有缺,我們該怎麼正確地處理,而不是讓軟體幫我們做了錯誤的決定。

遺漏值與資料品質概念示意圖

遺漏不是一種,而是三種:MCAR、MAR、MNAR

統計學家 Donald Rubin 在 1976 年提出一個關鍵洞見:遺漏值要怎麼處理,取決於「資料為什麼會缺」。同樣是一格空白,背後的機制不同,後果天差地遠。我們用 $Y$ 代表完整資料,$R$ 代表「遺漏指示變數」($R=1$ 表示觀測到、$R=0$ 表示遺漏),把 $Y$ 拆成觀測到的部分 $Y_{obs}$ 與遺漏的部分 $Y_{mis}$。三種機制定義如下。

MCAR(Missing Completely At Random,完全隨機遺漏):遺漏與任何變數都無關,無論是觀測到的或沒觀測到的。

$$P(R \mid Y_{obs}, Y_{mis}) = P(R)$$

例如問卷因印表機卡紙導致某幾份缺第三頁、伺服器隨機掉封包。這是最理想的情況:留下的樣本是母體的一個隨機子樣本,刪掉缺漏列「只損失效率(樣本變小),不造成偏誤」。但 MCAR 在真實教育資料中極為罕見。

MAR(Missing At Random,隨機遺漏):遺漏與「觀測到的變數」有關,但在控制這些觀測變數後,與「遺漏值本身」無關。

$$P(R \mid Y_{obs}, Y_{mis}) = P(R \mid Y_{obs})$$

例如:低年級學生比較不願意填家庭收入欄,但只要我們有記錄「年級」這個觀測變數,那麼在同一年級內部,填或不填收入與收入高低無關。MAR 是多數現代方法(多重插補、FIML)的工作假設——它允許遺漏有系統性,但要求這套系統性「可被觀測變數解釋」。

MNAR(Missing Not At Random,非隨機遺漏):在控制所有觀測變數後,遺漏仍然與遺漏值本身有關。

$$P(R \mid Y_{obs}, Y_{mis}) \text{ 仍依賴 } Y_{mis}$$

例如:高收入者基於隱私顧慮特別不願揭露收入——缺漏直接由「收入多少」決定。又例如憂鬱程度高的學生更容易退出心理量表,使得「憂鬱分數」的缺漏本身就由憂鬱分數驅動。這是最棘手的情況,後面會說明為何它「無法僅靠手上的資料判定」。

為什麼「直接刪掉」會出事:刪除法的偏誤

最常見的預設做法是 listwise deletion(完整個案分析):只要一列有任何缺漏,整列丟棄。它的問題有兩層。

第一,效率損失。即使在 MCAR 下沒有偏誤,但若每個變數各缺 5%、共 20 個變數,一列「全部都有」的機率可能只剩 $0.95^{20} \approx 0.36$——你可能丟掉超過六成的列,標準誤大幅膨脹。

第二,也更嚴重的是偏誤。在 MAR 或 MNAR 下,被刪掉的列不是隨機的。前面的例子裡,若「成績差的學生較少填動機問卷」,listwise deletion 留下的是成績偏高的子樣本,於是你估出來的「平均動機」「動機與成績的相關」全都被扭曲。

另一種 pairwise deletion(成對刪除) 試圖搶救:計算每一對變數的相關時,只用「這兩個變數都有值」的列。它保留了更多資訊,但帶來新麻煩——不同的相關係數是用不同的子樣本算出來的,拼出來的共變異數矩陣可能在數學上不一致(非正定),導致迴歸係數或因素分析估計出錯,樣本數 $N$ 也變得難以定義。兩種刪除法都不該作為預設。

單一插補的陷阱:補一個數字,騙了變異數

既然刪掉不好,那把缺的格子「補起來」呢?最直覺的是 均值插補(mean imputation):用該欄的平均值填所有缺漏。這看似合理,卻犯了致命錯誤——它讓你高估了確定性。

想像某變數有 100 個值、缺了 30 個,你用觀測到的 70 個的平均值補上那 30 格。結果是:這 30 個補進來的點全部疊在平均線上,整欄的變異數被人為壓縮,相關係數被稀釋趨近 0。更糟的是,後續分析(如迴歸)會「以為」這 30 個補進來的數字和真實觀測值一樣可靠,標準誤被低估,信賴區間過窄,$p$ 值過小——你會更容易得到「假的顯著」。

迴歸插補(regression imputation) 稍好:用其他變數迴歸預測缺漏值。但它同樣把預測值放在迴歸線上,沒有保留殘差的隨機波動,仍然低估變異。所有「單一插補」共同的根本問題是:它假裝補進來的值是已知的真相,完全忽略了「我們其實不確定它是多少」這件事。 這個不確定性必須被誠實地反映到最終的標準誤裡,這正是多重插補要解決的。

多重插補:用「補很多次」量化不確定性

多重插補(Multiple Imputation, MI)由 Rubin 提出,核心思想優雅:既然我們不知道缺漏值到底是多少,那就不要假裝知道——我們從「給定觀測資料下,缺漏值的後驗分布」中抽取多組合理的補值,產生 $m$ 套各自完整的資料集(通常 $m=5$ 到 $50$)。流程分三步:

  1. 插補(Imputation):建立插補模型,從缺漏值的後驗預測分布中抽 $m$ 次,得到 $m$ 個完整資料集。每一套的補值都帶有隨機波動,彼此不同。
  2. 分析(Analysis):在每一套完整資料集上,跑你原本要做的分析(例如迴歸),得到 $m$ 組估計值 $\hat{Q}_1, \dots, \hat{Q}_m$ 與其變異 $U_1, \dots, U_m$。
  3. 合併(Pooling):用 Rubin 規則把 $m$ 組結果合成一個。

點估計就是平均:

$$\bar{Q} = \frac{1}{m}\sum_{i=1}^{m} \hat{Q}_i$$

變異則同時包含兩種來源——「每套資料內部的抽樣不確定性」與「不同套之間的差異(即補值的不確定性)」:

$$T = \bar{U} + \left(1 + \frac{1}{m}\right) B$$

其中 $\bar{U} = \frac{1}{m}\sum U_i$ 是組內變異(within-imputation variance),$B = \frac{1}{m-1}\sum (\hat{Q}_i - \bar{Q})^2$ 是組間變異(between-imputation variance)。$\left(1+\frac{1}{m}\right)$ 是對有限 $m$ 的修正。

關鍵就在這個 $B$:它把「我們對補值的不確定性」明確地加進總變異裡。這正是均值插補缺失的那一塊——多重插補不會讓你的標準誤虛假地變小。

帶數字的小範例:Rubin 規則怎麼合併

假設我們關心某個迴歸係數 $\beta$(學習動機對成績的效果)。做了 $m=5$ 套插補,每套估出的 $\hat{\beta}_i$ 與其變異 $U_i$(標準誤的平方)如下:

套 $i$ $\hat{\beta}_i$ $U_i$(SE²)
1 0.42 0.0100
2 0.38 0.0090
3 0.50 0.0110
4 0.45 0.0105
5 0.40 0.0095

點估計:$\bar{\beta} = (0.42+0.38+0.50+0.45+0.40)/5 = 0.43$。

組內變異:$\bar{U} = (0.0100+0.0090+0.0110+0.0105+0.0095)/5 = 0.0100$。

組間變異:先算各 $\hat{\beta}_i - 0.43$:$-0.01, -0.05, 0.07, 0.02, -0.03$,平方後為 $0.0001, 0.0025, 0.0049, 0.0004, 0.0009$,總和 $0.0088$。除以 $m-1=4$ 得 $B = 0.0022$。

總變異

$$T = \bar{U} + \left(1+\tfrac{1}{5}\right)B = 0.0100 + 1.2 \times 0.0022 = 0.01264$$

合併標準誤 $\sqrt{T} = \sqrt{0.01264} \approx 0.1124$。

對照一下:若我們只用「第一套」當作單一插補,標準誤會是 $\sqrt{0.0100}=0.10$。多重插補的標準誤 $0.1124$ 較大,這個增幅正是「補值不確定性」的代價。它讓信賴區間誠實地變寬——這不是壞事,而是正確地反映了「我們的資料本來就有缺」這個現實。忽略它,就是在自欺。

我們還能算出一個有用的診斷量——遺漏資訊比例(fraction of missing information, FMI),約略為 $\lambda = \frac{(1+1/m)B}{T} = \frac{0.00264}{0.01264} \approx 0.21$,意思是這個估計約有 21% 的資訊因遺漏而損失。FMI 也能幫我們判斷 $m$ 是否足夠:FMI 越高,需要的 $m$ 越大才能讓結果穩定。

另一條路:最大概似 FIML

多重插補不是唯一的現代解法。FIML(Full Information Maximum Likelihood,完全訊息最大概似) 是另一主流,常見於結構方程模型(SEM)。它的做法不是「補出完整資料」,而是直接修改概似函數——對每一個觀測單位,只用它「實際觀測到的變數」來計算其對總概似的貢獻:

$$\ell(\theta) = \sum_{i=1}^{n} \ell_i(\theta \mid Y_{obs,i})$$

不同個案因為觀測到的變數不同,貢獻的維度也不同,但都被納入同一個概似函數一起估計參數 $\theta$。FIML 同樣在 MAR 假設下提供一致且有效的估計,且不需要產生 $m$ 套資料集、沒有 MI 的蒙地卡羅隨機性(同樣的資料與模型每次跑結果相同)。

MI 與 FIML 在 MAR 下是漸近等價的,實務選擇取決於情境:FIML 在 SEM 中內建、一步到位;MI 則更彈性,能容納類別變數、複雜插補模型,且插補與分析模型可以不同(例如插補時納入分析不會用到的「輔助變數」來支撐 MAR 假設)。

插補模型怎麼設定,決定成敗

多重插補的品質完全取決於插補模型設不設得對。幾個關鍵原則:

插補模型必須「相容」於分析模型。如果你的分析要看「動機 $\times$ 性別」的交互作用,插補模型卻沒納入這個交互項,補出來的值會把交互效果系統性地抹平。一般原則:分析模型裡會用到的所有變數、交互項、非線性項,插補模型都要包含。

盡量納入輔助變數(auxiliary variables)。MAR 假設「遺漏可被觀測變數解釋」,而納入越多與遺漏機制或缺漏變數相關的輔助變數,就越能讓 MAR 假設成立。即使某變數不在你最終的分析模型裡,只要它有助於預測缺漏值,就值得放進插補模型。

連續、類別、計數變數要用對的插補分布。連續變數可用常態線性模型,二元變數用 logistic,類別變數用多項式。實務上常用 MICE(Multivariate Imputation by Chained Equations,鏈式方程多變量插補):對每個有缺的變數,輪流以其餘變數為預測子建立條件模型,迭代抽樣,能彈性混合不同變數型態。

留意完美預測與崩潰。當缺漏比例極高,或某變數幾乎被其他變數完美決定時,插補可能不穩定,需要檢查補值的合理性(例如補出負的年齡、超過量表上限的分數就是警訊)。

MNAR 的根本困境:資料本身無法告訴你

最後回到那個最棘手的問題。能不能直接看資料、判斷遺漏是 MAR 還是 MNAR?答案是:不能,原則上就不行。

原因在於,MAR 與 MNAR 的差別在於「遺漏是否依賴 $Y_{mis}$——那些我們根本沒觀測到的值」。我們手上只有 $Y_{obs}$ 和 $R$,永遠看不到 $Y_{mis}$。任何只用觀測資料做的檢定(例如比較「有填收入的人」與「沒填收入的人」在其他變數上的差異),最多只能否定 MCAR,卻無法區辨 MAR 與 MNAR——因為同一組觀測資料,可以同時與「MAR」和「某個 MNAR 模型」完美相容。MAR 是一個不可由資料檢驗的假設,只能靠領域知識與理論來論證它合不合理。

既然無法檢定,正確的態度是做 敏感度分析(sensitivity analysis):先在 MAR 假設下做主要分析,再刻意設定若干「偏離 MAR」的情境,看結論是否被推翻。常見手法包括 pattern-mixture 模型——明確假設「缺漏者的分布與觀測者相差一個偏移量 $\delta$」,例如假設沒填憂鬱量表的人其實平均高 $\delta$ 分,讓 $\delta$ 從 0 變到一個合理的最壞值,觀察結論的穩健性。選擇模型(selection model) 則直接把遺漏機制 $P(R\mid Y)$ 寫進概似一起估計(如 Heckman 模型),但高度依賴難以驗證的分布假設。

敏感度分析的精神不是「找出正確答案」,而是誠實地告訴讀者:在我合理範圍內的各種假設下,結論是穩固的,還是脆弱的。 這正是進階資料分析該有的科學態度。

重點回顧

  • 遺漏機制分三種:MCAR(與一切無關,刪掉只損效率不偏誤)、MAR(與觀測變數有關,現代方法的工作假設)、MNAR(與遺漏值本身有關,最棘手)。處理方式取決於機制,不是格子本身。
  • Listwise/pairwise deletion 在非 MCAR 下會造成偏誤,且大幅損失樣本;不該作為預設。
  • 單一插補(均值、迴歸)的致命傷是低估變異——把補進來的猜測當成已知真相,導致標準誤過小、假顯著。
  • 多重插補用 $m$ 套補值與 Rubin 規則合併,總變異 $T=\bar{U}+(1+1/m)B$ 把「補值不確定性」$B$ 誠實納入;FIML 則直接以觀測資料修改概似,兩者在 MAR 下漸近等價。
  • MNAR 無法僅靠手上資料判定(看不見 $Y_{mis}$),MAR 是不可檢驗的假設,唯一負責任的做法是敏感度分析。

深入探討(研究所視角)

為何 MAR 下概似可忽略遺漏機制——「可忽略性」的數學基礎。 Rubin 框架的核心結果是:當 (1) 遺漏機制為 MAR,且 (2) 資料模型參數 $\theta$ 與遺漏機制參數 $\phi$ 的參數空間相異(distinctness,在貝氏架構下為先驗獨立),則遺漏機制是可忽略的(ignorable)。此時觀測資料的概似可寫成

$$L(\theta, \phi \mid Y_{obs}, R) \propto \underbrace{\int f(Y_{obs}, Y_{mis}\mid\theta)\, dY_{mis}}_{\text{只含 }\theta} \cdot \underbrace{P(R\mid Y_{obs}, \phi)}_{\text{只含 }\phi, \text{ 為常數}}$$

關於 $\theta$ 的推論可只用前項——這就是 FIML 與貝氏 MI 在 MAR 下成立的理論根據。MNAR 破壞了 (1),使 $P(R\mid Y_{obs}, Y_{mis}, \phi)$ 無法從 $\theta$ 的概似中分離,遺漏機制變得不可忽略,必須與資料模型聯合建模。

Rubin 變異公式的推導直覺與自由度。 $T=\bar{U}+(1+1/m)B$ 可由全變異數定律(law of total variance)理解:總不確定性 = 期望的組內變異 + 估計值跨插補的變異。$B$ 估計的是後者,$(1+1/m)$ 的因子來自於用有限 $m$ 估計無限多次插補極限的修正。對應的檢定統計量採 $t$ 分布,其自由度為

$$\nu = (m-1)\left(1 + \frac{\bar{U}}{(1+1/m)B}\right)^2 = (m-1)\lambda^{-2}$$

其中 $\lambda$ 為前述 FMI。當組間變異 $B$ 相對於組內變異很小時 $\nu$ 很大(趨近常態),$B$ 大時 $\nu$ 變小(尾部變厚、更保守)——這反映了補值不確定性高時,推論應該更謹慎。實務上常用 Barnard–Rubin 修正以納入完整資料自由度的上界。

與其他框架的連結。 (1) EM 演算法可視為 FIML 在缺漏資料下求極大概似的計算工具,E 步對 $Y_{mis}$ 取條件期望、M 步更新 $\theta$,與 MI 共享「在缺漏值的條件分布上積分」的精神,差別在 EM 給點估計、MI 透過抽樣保留不確定性。(2) 在因果推論中,反事實結果(potential outcomes)$Y(1), Y(0)$ 本質上是一個遺漏資料問題——每個個體只觀測到一種處理下的結果,另一種永遠遺漏;「無混淆假設(ignorability / unconfoundedness)」在數學形式上正對應這裡的 MAR,傾向分數加權與插補在此意義下相通。(3) MNAR 的 pattern-mixture 與 selection 兩種模型在數學上可互相轉換(同一聯合分布的兩種因式分解),但對「偏移參數」 $\delta$ 的先驗或設定不同,這也說明了為何 MNAR 分析本質上是「把無法檢驗的假設攤在陽光下、做成可調的旋鈕」,而非「估計出真相」。

對教育資料而言,這套理論有直接的實務意涵:問卷未答、研究中途退出、穿戴裝置斷訊造成的生理數據缺漏,幾乎都不是 MCAR。負責任的分析應預設以 MI 或 FIML 處理、在插補模型中盡量納入輔助變數以支撐 MAR、並對「退出是否與結果本身有關」這類 MNAR 疑慮做敏感度分析——而不是讓統計軟體默默地 listwise deletion,把退出研究的學生連同他們攜帶的訊息一起丟棄。

AI 共讀助教正在陪你讀:遺漏值處理:MCAR/MAR/MNAR 與多重插補
嗨!我是這篇文章的共讀助教,只根據〈遺漏值處理:MCAR/MAR/MNAR 與多重插補〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。