Hallo,
ich habe eine kleine Frage. Und zwar habe ich einen Multilevel Datensatz (Personen in Gemeinden, in Kreisen, in Arealen, in Bundesländern), bei dem ich Daten auf jeder der vier höheren Ebenen imputieren möchte. Meine Lösung war bis jetzt die folgende:
-zuerst habe ich alle Variablen in einem gemeinsamen Modell im wide Format imputiert:
mi impute chained (pmm, knn(5)) varl1 varl1 varl1 varl2 varl2 varl2 varl3 varl3 varl3 varl4 varl4 varl4 = varl1 varl1 varl1, add(15) noisily rseed(52312)
-und dann anschließend über alle Imputationen den Mittelwert (bei metrischen variablen) oder den median (bei kategorialen variablen) auf allen höheren Level erzeugt, falls die imputierten Daten in einem Cluster nicht einheitlich sind:
foreach x of numlist 1/15 {
egen _`x'_foo= median(_`x'_varl2), by(level2)
replace _`x'_varl2= _`x'_foo
drop _`x'_foo
egen _`x'_foo= mean(_`x'_varl2), by(level2)
replace _`x'_varl2= _`x'_foo
drop _`x'_foo
.......
egen _`x'_foo= median(_`x'_varl3), by(level3)
replace _`x'_varl3= _`x'_foo
drop _`x'_foo
egen _`x'_foo= mean(_`x'_varl3), by(level3)
replace _`x'_varl3= _`x'_foo
drop _`x'_foo
...
egen _`x'_foo= median(_`x'_varl4), by(level4)
replace _`x'_varl2= _`x'_foo
drop _`x'_foo
egen _`x'_foo= mean(_`x'_varl4), by(level4)
replace _`x'_varl4= _`x'_foo
drop _`x'_foo
}
Das funktioniert auch soweit ganz gut und anschließende Analysen laufen auch mit
mi est, post noisily cmdok: gllamm AV varl1 varl2 varl3 varl4, i(level2 level3 level4) link(logit) f(binom)
aber ich bin mir nicht sicher, ob mein Vorgehen so richtig ist. Könnte mir dabei jemand evtl helfen?
Meine Fragen wären
1.) Ist die oben beschriebene Variante ausreichend um die ML Struktur bei, bzw. nach der Imputation angemessen zu berücksichtigen? Falls nein, was wären evtl. Alternativen/bessere Optionen?
2.) Ist es in Ordnung mi est post mit cmdok zu gllamm zu "zwingen", oder ist das evtl. auch problematisch (als .ado läuft es sonst nicht mit mi est)
Vielen Dank & LG,
Julia