R小姐:mice 多重插補(bǔ)


答應(yīng)大家今天要寫(xiě)一寫(xiě)關(guān)于多重插補(bǔ)的文章。查閱了很多資料纵寝,發(fā)現(xiàn)了一篇非常棒的英文文獻(xiàn)绸狐,翻譯給大家谣妻。

附上原文鏈接:

文章名稱(chēng):mice: Multivariate Imputation by Chained Equations in R

文章鏈接:https://www.jstatsoft.org/article/view/v045i03

image

多重插補(bǔ)原理圖

加載mice包 library('mice')

今天所用的數(shù)據(jù)包含了四個(gè)變量:age(年齡組)兽叮,bmi(體重指數(shù))芬骄,hyp(血壓狀況) ,anchl(膽固醇水平)鹦聪。數(shù)據(jù)作為數(shù)據(jù)框存儲(chǔ)账阻,缺失值表示為NA

> nhanes
   age  bmi hyp chl
1    1   NA  NA  NA
2    2 22.7   1 187
3    1   NA   1 187
4    3   NA  NA  NA
5    1 20.4   1 113
6    3   NA  NA 184
7    1 22.5   1 118
···

1

檢查缺失值

缺失值的數(shù)量可以按以下方式計(jì)算和可視化:

> md.pattern(data)
   age hyp bmi chl   
13   1   1   1   1  0
3    1   1   1   0  1
1    1   1   0   1  1
1    1   0   0   1  2
7    1   0   0   0  3
     0   8   9  10 27

13行是完整的(25行中)泽本。有一行只缺少bmi淘太,有七行只知道age。缺失值總數(shù)等于(7×3)+(1×2)+(3×1)+(1×1)=27。大多數(shù)缺失值(10)發(fā)生在chl中蒲牧。

另一種研究模式的方法是計(jì)算每個(gè)模式對(duì)所有變量的觀(guān)測(cè)數(shù)撇贺。一對(duì)變量完全可以有四個(gè)缺失模式:兩個(gè)變量都被觀(guān)察到(模式rr),第一個(gè)變量被觀(guān)察到造成,第二個(gè)變量缺失(模式rm)显熏,第一個(gè)變量丟失雄嚣,第二個(gè)變量被觀(guān)察到(模式mr)晒屎,并且兩者都缺失(模式mm)。我們可以使用md.pairs()函數(shù)來(lái)計(jì)算所有變量對(duì)在每個(gè)模式中的頻率缓升,如:

> md.pairs(nhanes)
$`rr`
    age bmi hyp chl
age  25  16  17  15
bmi  16  16  16  13
hyp  17  16  17  14
chl  15  13  14  15

$rm
    age bmi hyp chl
age   0   9   8  10
bmi   0   0   0   3
hyp   0   1   0   3
chl   0   2   1   0

$mr
    age bmi hyp chl
age   0   0   0   0
bmi   9   0   1   2
hyp   8   0   0   1
chl  10   3   3   0

$mm
    age bmi hyp chl
age   0   0   0   0
bmi   0   9   8   7
hyp   0   8   8   7
chl   0   7   7  10

因此鼓鲁,對(duì)(bmichl)有13對(duì)完全觀(guān)察到港谊,3對(duì)bmi未觀(guān)察到骇吭,2對(duì)bmi缺失但有hyp觀(guān)察,7對(duì)bmihyp均缺失歧寺。請(qǐng)注意燥狰,這些數(shù)字加起來(lái)等于總樣本大小。

2

多重插補(bǔ)

多重插補(bǔ)可以通過(guò)調(diào)用mice()來(lái)完成斜筐,如下所示:

> imp <- mice(nhanes,seed = 23109)

 iter imp variable
  1   1  bmi  hyp  chl
  1   2  bmi  hyp  chl
  1   3  bmi  hyp  chl
  1   4  bmi  hyp  chl
  1   5  bmi  hyp  chl
  2   1  bmi  hyp  chl
  2   2  bmi  hyp  chl
  2   3  bmi  hyp  chl
···

其中龙致,多重插補(bǔ)的數(shù)據(jù)集存儲(chǔ)在mids類(lèi)的對(duì)象imp中。檢查結(jié)果是什么樣子

> print(imp)
Class: mids
Number of multiple imputations:  5 
Imputation methods:
  age   bmi   hyp   chl 
   "" "pmm" "pmm" "pmm" 
PredictorMatrix:
    age bmi hyp chl
age   0   1   1   1
bmi   1   0   1   1
hyp   1   1   0   1
chl   1   1   1   0

插補(bǔ)值是根據(jù)默認(rèn)的方法生成的顷链,這就是對(duì)于數(shù)值數(shù)據(jù)目代,預(yù)測(cè)平均匹配(pmm)。默認(rèn)的多個(gè)插補(bǔ)值數(shù)量等于m=5嗤练。

3

診斷檢驗(yàn)

多重插補(bǔ)的一個(gè)重要步驟是評(píng)估插補(bǔ)值是否可信榛了。插補(bǔ)值應(yīng)該是如果沒(méi)有丟失就可以得到的值。插補(bǔ)值應(yīng)該接近數(shù)據(jù)煞抬。顯然不可能的數(shù)據(jù)值(例如負(fù)數(shù)霜大、懷孕的父親)不應(yīng)出現(xiàn)在插補(bǔ)值的數(shù)據(jù)中。插補(bǔ)值應(yīng)尊重變量之間的關(guān)系革答,并反映其“真實(shí)”值的適當(dāng)不確定性战坤。對(duì)插補(bǔ)數(shù)據(jù)的診斷檢查提供了一種檢查插補(bǔ)值合理性的方法。bmi的插補(bǔ)值存儲(chǔ)為

> imp$imp$bmi
      1    2    3    4    5
1  28.7 27.2 22.5 27.2 28.7
3  30.1 30.1 30.1 22.0 28.7
4  22.7 27.2 20.4 22.7 20.4
6  24.9 25.5 22.5 21.7 21.7
10 30.1 29.6 27.4 25.5 25.5
11 35.3 26.3 22.0 27.2 22.5
12 27.5 26.3 26.3 24.9 22.5
16 29.6 30.1 27.4 30.1 25.5
21 33.2 30.1 35.3 22.0 22.7

每一行的第一個(gè)數(shù)對(duì)應(yīng)于bmi中缺失的數(shù)據(jù)蝗碎。這些列就是等待的插補(bǔ)值湖笨。完整的數(shù)據(jù)集組合了觀(guān)察值和插補(bǔ)值。完整的數(shù)據(jù)集可以被觀(guān)察

> complete(imp)
   age  bmi hyp chl
1    1 28.7   1 199
2    2 22.7   1 187
3    1 30.1   1 187
4    3 22.7   2 204
5    1 20.4   1 113
6    3 24.9   2 184
7    1 22.5   1 118
8    1 30.1   1 187
···

complete()函數(shù)從imp對(duì)象中提取五個(gè)輸入數(shù)據(jù)集蹦骑,作為一個(gè)包含125條記錄的長(zhǎng)矩陣(行堆疊)慈省。nhances中缺失的條目現(xiàn)在已經(jīng)由第一列(五個(gè))插補(bǔ)值來(lái)填充。第二個(gè)完整的數(shù)據(jù)集可以通過(guò)complete(imp,2)獲得边败。對(duì)于觀(guān)察到的數(shù)據(jù)袱衷,它與第一個(gè)完整的數(shù)據(jù)集相同,但插補(bǔ)數(shù)據(jù)是不同的笑窜。

檢查原始數(shù)據(jù)和插補(bǔ)后數(shù)據(jù)的分布通常是有用的致燥。這樣做的一種方法是在mice中使用函數(shù)stripplot()

> stripplot(imp,pch=19,cex=1.2,alpha=.3)

image

圖顯示這四個(gè)變量的分布情況。觀(guān)察值到藍(lán)色點(diǎn)排截,插補(bǔ)值是紅色點(diǎn)嫌蚤。age面板只包含藍(lán)色點(diǎn),因?yàn)?strong>age已經(jīng)是完整數(shù)據(jù)断傲。此外脱吱,請(qǐng)注意,紅色點(diǎn)相當(dāng)好地跟隨藍(lán)色點(diǎn)认罩,包括分布中的間隙箱蝠,例如,對(duì)于chl垦垂。

下圖中每個(gè)插補(bǔ)數(shù)據(jù)集的chlbmi散點(diǎn)圖是由xyplot()函數(shù)繪制:

> xyplot(imp,bmi ~ chl / .imp,pch=20,cex=1.2)

image

插補(bǔ)值是用紅色繪制的宦搬。藍(lán)色的點(diǎn)在不同的面板上是相同的,但是紅色的點(diǎn)是不同的劫拗。紅點(diǎn)與藍(lán)色數(shù)據(jù)的形狀大致相同间校,這表明,如果沒(méi)有遺漏杨幼,它們可能是合理的插補(bǔ)值撇簿。紅點(diǎn)之間的差異代表了我們對(duì)真實(shí)(但未知)值的不確定性。

在完全隨機(jī)缺失下差购,觀(guān)測(cè)數(shù)據(jù)和插補(bǔ)數(shù)據(jù)的單變量分布是一致的四瘫。在隨機(jī)缺失下,它們可以是不同的欲逃,無(wú)論是在位置上還是在傳播上找蜜,但它們的多元分布假設(shè)是相同的。有許多其他方法可以查看已完成的數(shù)據(jù)稳析。

4

分析插補(bǔ)數(shù)據(jù)

假設(shè)完整數(shù)據(jù)分析是agebmi的線(xiàn)性回歸洗做。為此,我們可以使用函數(shù)with.mids()彰居,這是一個(gè)包裝器函數(shù)诚纸,它將完整的數(shù)據(jù)模型應(yīng)用于每個(gè)已插補(bǔ)的數(shù)據(jù)集:

> fit <- with(imp,lm(chl ~ age + bmi))

fit對(duì)象具有mira類(lèi),包含五個(gè)完整的數(shù)據(jù)分析結(jié)果陈惰。這些可以按以下方式匯總

> print(pool(fit))
Class: mipo    m = 5 
             estimate        ubar          b           t dfcom        df       riv
(Intercept)  5.958468 3575.717813 1649.43830 5555.043768    22  9.216954 0.5535465
age         29.725360   82.553435  115.72029  221.417779    22  4.331856 1.6821147
bmi          5.138790    3.686724    0.91985    4.790544    22 12.907767 0.2994040
               lambda       fmi
(Intercept) 0.3563115 0.4616878
age         0.6271599 0.7288640
bmi         0.2304164 0.3271721

經(jīng)多次插補(bǔ)后畦徘,我們發(fā)現(xiàn)bmi有顯著性影響。列fmi包含Rubin(1987)中定義的缺失信息的部分,列是lambda可歸因于缺失數(shù)據(jù)(λ=(b/b+m)/t)的總方差的比例井辆。合并的結(jié)果會(huì)受到模擬誤差的影響关筒,因此取決于mice()函數(shù)的seed參數(shù)。為了最小化模擬誤差杯缺,我們可以使用更多的插補(bǔ)蒸播,例如m=50。這樣做很容易

> imp50 <- mice(nhanes,m=50,seed = 23109)

> fit <- with(imp50,lm(chl ~ age + bmi))

> print(pool(fit))
Class: mipo    m = 50 
             estimate       ubar            b           t dfcom       df       riv
(Intercept) -7.276001 3193.70850 1200.0871230 4417.797368    22 14.30395 0.3832813
age         32.075691   78.93751   52.6214971  132.611433    22 11.58145 0.6799547
bmi          5.470019    3.33579    0.9781109    4.333463    22 15.32201 0.2990815
               lambda       fmi
(Intercept) 0.2770813 0.3606366
age         0.4047458 0.4863912
bmi         0.2302254 0.3142527

我們發(fā)現(xiàn)萍肆,agebmi實(shí)際上都有顯著的影響袍榆。這是很好的結(jié)果。

提取插補(bǔ)結(jié)果匾鸥,以第二個(gè)插補(bǔ)數(shù)據(jù)為例吧

data2 <- complete(imp50,2)

> data2
   age  bmi hyp chl
1    1 28.7   1 187
2    2 22.7   1 187
3    1 22.0   1 187
4    3 22.5   1 186
5    1 20.4   1 113
6    3 25.5   2 184
7    1 22.5   1 118
8    1 30.1   1 187
9    2 22.0   1 238
10   2 20.4   1 238
11   1 28.7   1 199
12   2 20.4   2 199
13   3 21.7   1 206
14   2 28.7   2 204
15   1 29.6   1 229
16   1 27.2   1 187
17   3 27.2   2 284
18   2 26.3   2 199
19   1 35.3   1 218
20   3 25.5   2 186
21   1 29.6   2 218
22   1 33.2   1 229
23   1 27.5   1 131
24   3 24.9   1 186
25   2 27.4   1 186

data2便是完整的數(shù)據(jù)啦蜡塌。


通過(guò)翻譯這篇文章碉纳,在下終于見(jiàn)識(shí)到了大神長(zhǎng)什么樣勿负。真實(shí)啊,這文章寫(xiě)的太帥了劳曹!

希望各位看得愉快奴愉。

下期再見(jiàn)。

你可能還想看

等你很久啦锭硼,長(zhǎng)按加入古同社區(qū)

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蜕劝,隨后出現(xiàn)的幾起案子檀头,更是在濱河造成了極大的恐慌,老刑警劉巖岖沛,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暑始,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡婴削,警方通過(guò)查閱死者的電腦和手機(jī)廊镜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)唉俗,“玉大人嗤朴,你說(shuō)我怎么就攤上這事〕媪铮” “怎么了雹姊?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)衡楞。 經(jīng)常有香客問(wèn)我吱雏,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任坎背,我火速辦了婚禮替劈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘得滤。我一直安慰自己陨献,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布懂更。 她就那樣靜靜地躺著眨业,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沮协。 梳的紋絲不亂的頭發(fā)上龄捡,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音慷暂,去河邊找鬼聘殖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛行瑞,可吹牛的內(nèi)容都是我干的奸腺。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼血久,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼突照!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起氧吐,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤讹蘑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后筑舅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體座慰,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年豁翎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了角骤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡心剥,死狀恐怖邦尊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情优烧,我是刑警寧澤蝉揍,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站畦娄,受9級(jí)特大地震影響又沾,放射性物質(zhì)發(fā)生泄漏弊仪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一杖刷、第九天 我趴在偏房一處隱蔽的房頂上張望励饵。 院中可真熱鬧,春花似錦滑燃、人聲如沸役听。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)典予。三九已至,卻和暖如春乐严,著一層夾襖步出監(jiān)牢的瞬間瘤袖,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工昂验, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捂敌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓凛篙,卻偏偏與公主長(zhǎng)得像黍匾,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子呛梆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • {因?yàn)槲恼潞茫赞D(zhuǎn)載?恼铩填物!}R語(yǔ)言缺失值處理 2016-08-23 05:17砍柴問(wèn)樵夫 數(shù)據(jù)缺失有多種原因,而大...
    夢(mèng)醒啟程閱讀 19,429評(píng)論 2 11
  • 一霎终、認(rèn)識(shí)缺失值 在我們的數(shù)據(jù)分析過(guò)程中滞磺,經(jīng)常會(huì)碰到缺失值的情況。缺失值產(chǎn)生的原因很多莱褒,比如人工輸入失誤击困,系統(tǒng)出錯(cuò),...
    鳴人吃土豆閱讀 6,049評(píng)論 0 11
  • 前提 在數(shù)據(jù)挖掘中广凸,海量的原始數(shù)據(jù)中存在大量不完整(有缺失值)阅茶、不一致、有異常的數(shù)據(jù)谅海,會(huì)嚴(yán)重影響到數(shù)據(jù)挖掘建模的執(zhí)...
    神奇的考拉閱讀 1,958評(píng)論 0 3
  • 以(加/美/中)區(qū)塊鏈小眾聯(lián)盟為旗幟的2018區(qū)塊鏈小眾聯(lián)盟周歷時(shí)五天(5.31-6.4)脸哀,貫穿了區(qū)塊鏈伯克利(溫...
    冬眠的大灰熊大灰熊閱讀 514評(píng)論 0 2
  • 今晚從托福接一諾回來(lái),托福老師說(shuō)“我給布置的作業(yè)沒(méi)寫(xiě)完扭吁,讓她今晚回家寫(xiě)完吧”我?guī)е恢Z回到家撞蜂,先去吃飯?jiān)僮鲎鳂I(yè)盲镶。我...
    街舞少女閱讀 133評(píng)論 0 0