Mengapa imputasi berganda ini berkualitas rendah?

9

Pertimbangkan kode R berikut:

> data <- data.frame(
            a=c(NA,2,3,4,5,6),b=c(2.2,NA,6.1,8.3,10.2,12.13),c=c(4.2,7.9,NA,16.1,19.9,23))
> data
   a     b    c
1 NA  2.20  4.2
2  2    NA  7.9
3  3  6.10   NA
4  4  8.30 16.1
5  5 10.20 19.9
6  6 12.13 23.0

Seperti yang Anda lihat, saya telah merekayasa data sehingga secara kasar c = 2*b = 4*a. Karena itu, saya berharap nilai-nilai yang hilang ada di sekitar a=1, b=2, c=12. Jadi saya melakukan analisis:

> imp <- mi(data)
Beginning Multiple Imputation ( Sat Oct 18 03:02:41 2014 ):
Iteration 1 
 Chain 1 : a*  b*  c*  
 Chain 2 : a*  b*  c*  
 Chain 3 : a*  b*  c*  
Iteration 2 
 Chain 1 : a*  b   c   
 Chain 2 : a*  b*  c*  
 Chain 3 : a   b*  c   
Iteration 3 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a*  b*  c*  
Iteration 4 
 Chain 1 : a   b   c   
 Chain 2 : a   b*  c   
 Chain 3 : a*  b   c   
Iteration 5 
 Chain 1 : a   b   c*  
 Chain 2 : a   b*  c   
 Chain 3 : a   b*  c   
Iteration 6 
 Chain 1 : a*  b   c*  
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 7 
 Chain 1 : a   b   c   
 Chain 2 : a   b*  c   
 Chain 3 : a   b   c*  
Iteration 8 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b*  c*  
Iteration 9 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c*  
 Chain 3 : a   b   c   
Iteration 10 
 Chain 1 : a   b*  c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 11 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 12 
 Chain 1 : a   b   c   
 Chain 2 : a*  b   c   
 Chain 3 : a   b   c   
Iteration 13 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c*  
 Chain 3 : a   b   c*  
Iteration 14 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 15 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c*  
Iteration 16 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b*  c   
Iteration 17 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 18 
 Chain 1 : a   b   c*  
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 19 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c*  
Iteration 20 
 Chain 1 : a   b   c*  
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 21 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 22 
 Chain 1 : a   b   c*  
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 23 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 24 
 Chain 1 : a   b   c*  
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 25 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 26 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 27 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 28 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 29 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
mi converged ( Sat Oct 18 03:02:45 2014 )
Run 20 more iterations to mitigate the influence of the noise...
Beginning Multiple Imputation ( Sat Oct 18 03:02:45 2014 ):
Iteration 1 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 2 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 3 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 4 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 5 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 6 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 7 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 8 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 9 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 10 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 11 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 12 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 13 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 14 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 15 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 16 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 17 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 18 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 19 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Iteration 20 
 Chain 1 : a   b   c   
 Chain 2 : a   b   c   
 Chain 3 : a   b   c   
Reached the maximum iteration, mi did not converge ( Sat Oct 18 03:02:48 2014 )

Dan akhirnya mengamati kumpulan data yang lengkap:

> mi.completed(imp)
[[1]]
  a     b    c
1 2  2.20  4.2
2 2  2.20  7.9
3 3  6.10 16.1
4 4  8.30 16.1
5 5 10.20 19.9
6 6 12.13 23.0

[[2]]
  a     b    c
1 2  2.20  4.2
2 2  6.10  7.9
3 3  6.10  7.9
4 4  8.30 16.1
5 5 10.20 19.9
6 6 12.13 23.0

[[3]]
  a     b    c
1 2  2.20  4.2
2 2  2.20  7.9
3 3  6.10  7.9
4 4  8.30 16.1
5 5 10.20 19.9
6 6 12.13 23.0

Seperti yang Anda lihat, nilai yang diperhitungkan bukan yang saya harapkan. Sebenarnya, mereka terlihat seperti hasil dari imputasi tunggal karena nilai yang hilang tampaknya diambil dari catatan yang berdekatan.

Apa yang saya lewatkan?

Saya harus mencatat bahwa "pengetahuan" saya dalam statistik sebagian besar terbatas pada apa yang saya ingat samar-samar dari kursus pengantar yang saya ambil ~ 14 tahun yang lalu. Saya hanya mencari cara sederhana untuk menentukan nilai yang hilang, tidak harus menjadi yang paling optimal tetapi perlu masuk akal (yang tidak bisa saya dapatkan dari hasil ini). Mungkin ini adalah kasus yang mibukan pendekatan yang benar untuk mencapai apa yang saya inginkan (mungkin memprediksi harus digunakan sebagai gantinya), jadi saya terbuka untuk saran.

Saya juga mencoba pendekatan yang serupa mice, yang menghasilkan hasil yang serupa.

PEMBARUAN Amelia bekerja sangat baik di luar kotak. Akan tetap menarik untuk mengetahui apa yang saya lewatkan dengan mi / tikus.

t0x1n
sumber
1
Apa yang Anda coba lakukan dengan beberapa imputasi secara umum? Sulit bagi saya untuk menjawab pertanyaan ini tanpa lebih banyak konteks. [Saya juga tidak merasa heran sama sekali bahwa kualitas imputasi Anda rendah mengingat Anda hanya bekerja dengan tiga variabel dan enam catatan]
Patrick S. Forscher
@ PatrickS.Forscher kamu benar. Saya baru saja mencoba tes serupa dengan 100 catatan dan hasilnya seperti yang saya harapkan. Tolong jadikan jawaban itu sehingga saya dapat menerimanya, dan jika Anda dapat menentukan beberapa standar rata-rata untuk imputasi yang berhasil itu akan bagus.
t0x1n
Apa yang akan Anda katakan tentang hasil berikut? > mi.completed(imp) [[1]] a b c 1 0.289 2.20 4.2 2 2.000 2.57 7.9 3 3.000 6.10 12.7 4 4.000 8.30 16.1 5 5.000 10.20 19.9 6 6.000 12.13 23.0 [[2]] a b c 1 0.603 2.20 4.2 2 2.000 5.82 7.9 3 3.000 6.10 13.4 4 4.000 8.30 16.1 5 5.000 10.20 19.9 6 6.000 12.13 23.0 [[3]] a b c 1 1.05 2.20 4.2 2 2.00 4.18 7.9 3 3.00 6.10 12.0 4 4.00 8.30 16.1 5 5.00 10.20 19.9 6 6.00 12.13 23.0Maaf tentang pemformatan, tapi saya rasa itu yang terbaik yang bisa saya lakukan dalam komentar.
Aleksandr Blekh
Amelia II secara tegas untuk beberapa kali imputasi seri cross-sectional kali (alias panel studi). MICE adalah untuk data deret waktu non-cross-sectional (atau setidaknya, MICE menghasilkan imputasi yang buruk untuk deret waktu tersebut, lihat Honaker, J. dan King, G. (2010). -section data. American Journal of Political Science , 54 (2): 561-581.)
Alexis
@AlexandrBlekh Saya juga tidak suka mereka, saya akan mengharapkan sesuatu yang lebih dekat ke x/ 2x/4x
t0x1n

Jawaban:

13

Mengingat Anda menggunakan enam case [catatan] dan tiga variabel, kualitas imputasi Anda akan sangat rendah.

Untuk melihat mengapa hal ini terjadi, ingatlah bahwa beberapa imputasi bekerja dengan mengisi nilai yang hilang dengan nilai imputasi yang masuk akal. Nilai-nilai imputasi ini dihitung dalam dataset terpisah (saya akan kembali ke bagaimana nilai-nilai imputasi ini diturunkan kemudian dalam jawaban ini). Nilai yang dimasukkan akan sedikit bervariasi dari dataset ke dataset.m

Dengan demikian, mengingat kuantitas statistik yang menarik (misalnya, rata-rata, koefisien regresi, dll), orang dapat menggunakan dataset untuk memperkirakan kesalahan standar rata-rata untuk dalam dataset (jumlah yang saya akan memanggil varians imputasi, atau ) dan sejauh mana bervariasi di seluruh dataset (jumlah yang saya sebut varians antara-imputasi, atau ).qmqmU¯qmB

Hubungan antara kualitas imputasi, , danBU¯

Seseorang dapat menggunakan varians dalam-imputasi dan varians antara-imputasi untuk memperoleh estimasi tingkat di mana estimasi yang diperhitungkan dari kuantitas statistik telah dipengaruhi oleh informasi yang hilang. Tentu saja, semakin banyak informasi yang hilang, semakin buruk kualitas imputasi. Perkiraan informasi yang hilang karena hilang diberi label , dan diberikan oleh rumus berikut:U¯Bγ

γ=r+2df+3r+1

r dalam rumus ini adalah rasio antara varians antara-imputasi varians dalam-imputasi :BU¯

r=(1+1m)BU¯

Dengan demikian, nilai tinggi menghasilkan nilai , yang pada gilirannya akan menghasilkan nilai . Nilai , pada gilirannya, menunjukkan lebih banyak informasi yang hilang karena data yang hilang dan imputasi kualitas yang lebih buruk.Brγγ

df dalam rumus untuk juga merupakan fungsi dari dan . Secara khusus, diperkirakan olehγBU¯df

df=(m1)(1+mU¯(m+1)B)2

Dengan demikian, selain meningkatkan rasio antara-imputasi dengan varians dalam-imputasi, meningkatkan juga mengurangi . Ini akan menghasilkan nilai lebih , menunjukkan lebih banyak informasi yang hilang karena hilang dan imputasi kualitas yang buruk.d f γBdfγ

Singkatnya, nilai yang lebih tinggi dari varians antara-imputasi mempengaruhi kualitas imputasi dalam dua cara:B

  1. Nilai meningkatkan rasio varians antara imputasi dengan varians dalam imputasi, sehingga menurunkan kualitas imputasiB
  2. Nilai mengurangi derajat kebebasan yang tersedia, mengurangi kualitas imputasiB

Hubungan antara jumlah kasus danB

Diberikan dua dataset yang serupa, sebuah dataset dengan jumlah kasus yang lebih kecil akan memiliki varian antar-imputasi .B

Ini akan terjadi karena, seperti yang saya jelaskan di atas, varians antara imputasi dihitung dengan menghitung kuantitas statistik yang menarik dalam setiap set data diimputasi dan menghitung sejauh mana bervariasi di setiap set data . Jika dataset yang diberikan memiliki kuantitas lebih tinggi dari kasus tetapi kuantitas yang sama hilang nilai-nilai sebagai lain, proporsi yang lebih kecil dari nilai-nilai akan bebas untuk berbeda-beda di masing-masing dari diperhitungkan dataset, yang berarti bahwa akan ada lebih rendah variasi keseluruhan di seluruh dataset yang diperhitungkan.m q m m qqmqmmq

Dengan demikian, secara umum, meningkatkan jumlah kasus (atau, lebih tepatnya, mengurangi proporsi nilai yang hilang) akan meningkatkan kualitas imputasi.

Hubungan antara jumlah variabel danB

Diberikan dua set data yang serupa, sebuah dataset dengan jumlah variabel yang lebih besar akan memiliki varian antar-imputasi , selama variabel-variabel tambahan tersebut informatif tentang nilai-nilai yang hilang.B

Ini akan terjadi karena, secara umum, nilai-nilai yang hilang untuk variabel yang diberikan "diisi" dengan menggunakan informasi dari variabel lain untuk menghasilkan perkiraan masuk akal dari nilai-nilai yang hilang (perincian spesifik bagaimana perkiraan ini dihasilkan akan bervariasi tergantung pada implementasi MI Anda menggunakan). Lebih banyak informasi dalam bentuk variabel tambahan akan menghasilkan nilai imputasi yang lebih stabil, menghasilkan lebih sedikit variasi dalam jumlah statistik yang diminati di setiap set data terikat .mqm

Dengan demikian, secara umum, meningkatkan jumlah variabel yang tersedia dalam dataset akan meningkatkan kualitas imputasi, selama variabel tambahan tersebut informatif tentang nilai yang hilang.

Referensi

Rubin, DB (1996). Beberapa imputasi setelah 18+ tahun. Jurnal Asosiasi Statistik Amerika , 91, 473-489.

Schafer, JL (1999). Beberapa imputasi: primer. Metode Statistik dalam Penelitian Medis , 8, 3-15.

Patrick S. Forscher
sumber