(5.2) dengan V =( )
1 k m V m∑
(5.2a) dan B =( )
( )
2 MI 1 ˆ ˆ 1 k m m β −β ∑ − (5.2b)Pelaksanaan Imputasi Ganda Univariat dengan Stata
Sebelum pelaksanaan imputasi ganda, dicobakan dahulu meregresikan
variabel imputasi yang memiliki entri kosong pada himpunan variabel regular, yaitu variabel yang terisi lengkap, yang akan digunakan untuk memprediksi nilai entri kosong pada variabel imputasi.
. regtype impvar regvars
Opsi regtype adalah:
- regress jika variabel imputasi berskala kontinu. - logit jika variabel imputasi biner (dikotomi). - ologit jika variabel imputasi kategorik ordinal. - mlogit jika variabel imputasi kategorik nominal.
29
- nbreg jika variabel imputasi data cacah dengan overdistensi.
Jika tidak ditemukan hambatan, tahap-tahap imputasi ganda selanjutnya adalah:
1. Mempersiapkan file dataset untuk diimputasi.
. mi set datastyle
Perintah mi set adalah pernyataan pendeklarasian dataset sebagai dataset
mi, yaitu supaya dataset dapat menerima perintah-perintah mi dan menjalani proses imputasi ganda. style adalah tipe basis data yang dipilih.
Opsi untuk style adalah: flong, mlong, wide.
. mi register imputed impvar
Perintah ini merupakan penspesifikasian impvar, yaitu variabel yang akan diimputasi.
. mi register regular regvars
Pernyataan ini merupakan penspesifikasian regvars, yaitu variabel-variabel yang tidak akan diimputasi.
2. Pemeriksaan dataset mi.
. mi describe
Perintah untuk mendeskripsikan data yang dalam file mi.
. mi misstable sum
Perintah untuk mentabulasikan nilai-nilai kosong. 3. Pelaksanaan imputasi.
Metode regresi yang digunakan pada imputasi ganda tergantung pada tipe data variabel dependennya. Beberapa metode regresi yang digunakan dalam Stata untuk imputasi ganda sesuai dengan tipe data variabel dependen yaitu: - Data kontinu: Regresi linear dengan perintah mi impute regress.
- Data kontinu dengan rentang nilai terbatas: Regresi dengan perintah mi impute pmm (predictive mean matching). Regresi pmm hanya dapat dilakukan dalam konteks imputasi ganda.
- Data biner (dikotomi): Regresi logistik dengan perintah mi impute logit. - Data kategorik ordinal: Regresi logistik ordinal dengan perintah mi
impute ologit.
- Data kategorik nominal: Regresi logistik multinomial dengan perintah mi impute mlogit.
30
- Data cacah dengan ekidistensi: Regresi Poisson dengan perintah mi impute poisson.
- Data cacah dengan overdispersi: Regresi binomial negatif dengan perintah mi impute nbreg.
Secara umum, sintaks untuk imputasi ganda univariat adalah:
. mi impute regtype impvar regvars, add(M) [rseed(#)]
add(M) menyatakan jumlah imputasi yang diinginkan. Nilai M yang dianjurkan dalam Stata sekurang-kurangnya adalah 20.
rseed(#) diperlukan supaya jika hendak dilakukan pengulangan analisis, akan diperoleh hasil yang sama.
4. Pengestimasian parameter.
. mi estimate: regtype depvar indepvars
Perhatikan bahwa regtype di sini ditentukan oleh skala variabel dependen,
regtype belum tentu sama dengan untuk variabel imputasi di atas.
Contoh 5.1:
File dataset yang akan digunakan pada contoh ini adalah mheart0.dta.
. use D:\Data\mheart0, clear
(Fictional heart attack data; bmi missing) Perintah untuk membuka file mheart0.dta.
. sum
Variable | Obs Mean Std. Dev. Min Max ---+--- attack | 154 .4480519 .4989166 0 1 smokes | 154 .4155844 .4944304 0 1 age | 154 56.48829 11.73051 20.73613 87.14446 bmi | 132 25.24136 4.027137 17.22643 38.24214 female | 154 .2467532 .4325285 0 1 ---+--- hsgrad | 154 .7532468 .4325285 0 1
31
Variabel adalah:
attack : Outcome (heart attack)
smokes : Current smoker
age : Age, in years
bmi : Body Mass Index, kg/m2
female : Gender
hsgrad : High school graduate
Tampak bahwa semua variabel memiliki 154 entri, kecuali bmi yang hanya memiliki 132 entri. Berikut diperlihatkan regresi logistik attack terhadap smokes,
age, bmi, female, dan hsgrad. Tanpa imputasi ganda, perintah logit akan dikerjakan dengan listwise deletion, yaitu hanya mengikutsertakan kasus dengan entri terisi lengkap sebanyak 132.
. logit attack smokes age bmi female hsgrad
Iteration 0: log likelihood = -91.359017 Iteration 1: log likelihood = -79.374749 Iteration 2: log likelihood = -79.342218 Iteration 3: log likelihood = -79.34221
Logistic regression Number of obs = 132 LR chi2(5) = 24.03 Prob > chi2 = 0.0002 Log likelihood = -79.34221 Pseudo R2 = 0.1315 --- attack | Coef. Std. Err. z P>|z| [95% Conf. Interval] ---+--- smokes | 1.544053 .3998329 3.86 0.000 .7603945 2.327711 age | .026112 .017042 1.53 0.125 -.0072898 .0595137 bmi .1129938 .0500061 2.26 0.024 .0149837 .211004 female | .2255301 .4527558 0.50 0.618 -.6618549 1.112915 hsgrad | .4048251 .4446019 0.91 0.363 -.4665786 1.276229 _cons |-5.408398 1.810603 -2.99 0.003 -8.957115 -1.85968 ---
32
Selanjutnya akan dilakukan imputasi ganda variabel bmi, tetapi terlebih dahulu akan dicoba meregresikan bmi terhadap himpunan variabel regularnya.
. regress bmi attack smokes age female hsgrad
Source | SS df MS Number of obs = 132 ---+--- F( 5, 126) = 1.24 Model | 99.5998228 5 19.9199646 Prob > F = 0.2946 Residual | 2024.93667 126 16.070926 R-squared = 0.0469 ---+--- Adj R-squared = 0.0091 Total | 2124.5365 131 16.2178358 Root MSE = 4.0089 --- bmi | Coef. Std. Err. t P>|t| [95% Conf. Interval] ---+--- attack | 1.71356 .7515229 2.28 0.024 .2263179 3.200801 smokes | -.5153181 .761685 -0.68 0.500 -2.02267 .9920341 age | -.033553 .0305745 -1.10 0.275 -.0940591 .026953 female | -.3072767 .8074763 -0.38 0.704 -1.905249 1.290695 hsgrad | -.4674308 .8112327 -0.58 0.566 -2.072836 1.137975 _cons | 26.96559 1.884309 14.31 0.000 23.2366 30.69458 ---
Tampak bahwa pada regresi variabel imputasi bmiterhadap seluruh variabel regular tidak ditemukan sesuatu hambatan.
. mi set flong
. mi register imputed bmi
(22 m=0 obs. now marked as incomplete)
. mi register regular attack smokes age female hsgrad . mi describe
Style: mlong
last mi update 05aug2015 07:45:31, 14 seconds ago Obs.: complete 132
incomplete 22 (M = 0 imputations) ---
33
Vars.: imputed: 1; bmi(22) passive: 0
regular: 5; attack smokes age female hsgrad system: 3; _mi_m _mi_id _mi_miss
(there are no unregistered variables)
. mi misstable sum
Obs<.
+--- | | Unique
Variable | Obs=. Obs>. Obs<. | values Min Max ---+---+--- bmi | 22 132 | 132 17.22643 38.24214 ---
. mi impute pmm bmi attack smokes age female hsgrad, add(50) rseed(1500)
Univariate imputation Imputations = 50 Predictive mean matching added = 50 Imputed: m=1 through m=50 updated = 0 Nearest neighbors = 1 --- | Observations per m |--- Variable | Complete Incomplete Imputed | Total ---+---+--- bmi | 132 22 22 | 154 ---
(complete + incomplete = total; imputed is the minimum across m of the number of filled-in observations.)
Note: Predictive mean matching uses the default one nearest neighbor to impute bmi. This default is
34
arbitrary and may perform poorly depending on your data. You should choose the number of neighbors appropriate for your data and specify it in option knn().
Khusus untuk perintah mi impute pmm sesudah add(M) dapat ditambahkan opsi
knn(#), yang menspesifikasikan # observasi terdekat (nearest neighbors) sebagai sumber pengambilan nilai imputasi. Nilai default adalah knn(1).
. mi estimate: logit attack smokes age bmi female hsgrad
Multiple-imputation estimates Imputations = 50 Logistic regression Number of obs = 154 Average RVI = 0.0295 Largest FMI = 0.1252 DF adjustment: Large sample DF: min = 3155.41 avg = 565967.10 max = 1418245.09 Model F test: Equal FMI F( 5,218097.0) = 3.77 Within VCE type: OIM Prob > F = 0.0020 --- attack | Coef. Std. Err. t P>|t| [95% Conf. Interval] ---+--- smokes | 1.21886 .3614422 3.37 0.001 .5104437 1.927276 age | .0358003 .015487 2.31 0.021 .0054463 .0661542 bmi | .1199313 .049222 2.44 0.015 .0234209 .2164418 female | -.1124488 .4190367 -0.27 0.788 -.933747 .7088494 hsgrad | .1668407 .405365 0.41 0.681 -.6276607 .9613422 _cons | -5.871377 1.707841 -3.44 0.001 -9.219208 -2.523546 ---
35
Tabel 5.1 Perbandingan nilai-nilai estimasi model cc dan mi untuk data mheart0.dta
Model Variabel cc mi smokes 1.544 0.400 0.000 1.219 0.361 0.001 age 0.026 0.017 0.125 0.036 0.015 0.021 bmi 0.113 0.050 0.024 0.120 0.049 0.015 female 0.226 0.453 0.618 −0.112 0.419 0.788 hsgrad 0.405 0.445 0.363 0.167 0.405 0.681 konstante −5.408 1.811 0.003 −5.871 1.708 0.001 Nilai estimasi: b, SE, dan nilai-p
Tampak bahwa sebagian besar hasil untuk kedua model tidak banyak berbeda, kecuali untuk variabel usia (age) yang tak bermakna pada model cc
36