R

我可以根據響應變量替換 NA 嗎?

  • January 23, 2017

我的數據包含 1 個響應變量“年齡”和 1 個特徵(測試版)。該功能包含一些缺失值 (NA),因此我想替換它們。我一直在用特徵的中值替換它們。但是,當我繪製結果時,我感覺我過度屠殺了我的數據,因為用中值替換似乎不公平,因為我似乎創建了異常值。為了改進,我現在選擇取每 NA 年齡最接近的 10 個樣本的平均值。在這種情況下,替換似乎更加自然(也許太好了)。

紅色的替換 NA 紅色的替換 NA

做這樣的替換是否正確?是否有其他替代方法可以替代平均或中值 NA 替換?

簡而言之,您應該看看多重插補(==替換)技術,該技術由魯賓於 1987 年首次提出。

更詳細地說:用單個值替換假定這個替換值是確定性的,並且可能會忽略任何選擇性的信息丟失(因此是偏見!)。此外,您應該嘗試考慮您的數據丟失的方式。一般來說,存在三種解釋缺失的“機制”: 完全隨機缺失(MCAR):這大致意味著缺失值與應該測量的單位/個體的任何已知或未知屬性無關。隨機缺失(MAR):缺失值與應該測量的單位/個體的已知屬性有關。非隨機缺失(MNAR):缺失值與未知有關應該測量的單位/個人的屬性。

這些情況(MCAR、MAR、MNAR)只是理論上的,因為它們經常在數據集中同時發生,甚至是每個缺失值。有大量可用的文獻展示了在不同情況下處理缺失數據的不同策略如何發揮作用 [1-5]。請務必檢查適合您學習的選項

一般而言(這很籠統,有時基於意見),最好使用多重插補技術。這些技術基於根據數據的已知部分多次估計缺失值,以創建多個完整的插補數據集。然後在所有完整的插補數據集中執行預期的分析,並根據預定義的規則進行匯總,同時考慮到用估計替換缺失值時發生的不確定性。最後,可以將這種匯總分析解釋為您將在完整的案例數據庫中進行分析。

我一直發現Stef van Buuren 在 R 中的 MICE 包非常適合執行這些技術。尤其是因為他在缺失數據的偏差以及 R 編程語言中 MICE 函數的處理方面提供了出色的背景知識。

請注意,有更多方法可以實現多種插補技術(例如,另請參見 Amelia 期望最大化)。

參考:

  1. 魯賓 DB。調查中未答复的多重插補。紐約:威利;1987 年。
  2. Donders AR、van der Heijden GJ、Stijnen T 等。評論:對缺失值估算的溫和介紹。臨床流行病學雜誌 2006;59(10):1087-1091。
  3. 李 P,斯圖爾特 EA,艾莉森 DB。多重插補:處理缺失數據的靈活工具。JAMA 2015;314(18):1966-1967。
  4. Groenwold RH、Donders AR、Roes KC 等。在隨機試驗和觀察性研究中處理缺失的結果數據。美國流行病學雜誌 2012;175(3):210-217。
  5. van Buuren S, Groothuis-Oudshoorn K. 小鼠:R. J Stat Softw 2011 中鍊式方程的多元插補;45(3):1-67。
  6. http://www.stefvanbuuren.nl/mi/MICE.html

引用自:https://stats.stackexchange.com/questions/257672

comments powered by Disqus