********************************************************************************* * MODELLI PARAMETRICI DI IMPUTAZIONE UNIVARIATA ********************************************************************************* keep maxgrip mergeid country wave gender age_int hhsize interview adl drop if interview!=1 | age_int<0 | age_int==. recode maxgrip(min/-1=.) mean maxgrip recode maxgrip(.=34.2) recode adl(min/-1=.) *abbiamo circa 6000 valori mancanti, circa il 9% misstable summarize tab adl,mi tabstat adl, st(mean sd var) ********************* mi set mlong mi register imputed adl mi passive: gen age2=age_int*age_int mi register regular mergeid country wave gender age_int hhsize maxgrip ********************************************************************************** * Poisson imputation model ************************ * For a count variable = N. of limitations in daily living * mean = variance ********************************************************************************** mi impute poisson adl maxgrip i.country wave age_int age2 hhsize, by(gender) add(20) rseed(2232) noisily midiagplots adl midiagplots adl, plottype(hist) separate mi xeq 0 1 10 20: summarize adl mi xeq 0 1 10 20: tab adl gender,col ********************************************************************************** * Negative binomial imputation model ********************************** * For a count variable * overdispersion: variance > mean (in this case: mean= .227 sd= .842 ********************************************************************************** mi impute nbreg adl maxgrip i.country wave gender age_int age2 hhsize, by(gender) replace rseed(2232) noisily midiagplots adl midiagplots adl, plottype(hist) separate mi xeq 0 1 10 20: summarize adl mi xeq 0 1 10 20: tab adl ********************************************************************************** * Ordered logit imputation model ****************************** * For ordinal variables * Proportional odds (the effect is proportional across cutoffs) ********************************************************************************** mi impute ologit adl maxgrip i.country wave gender age_int age2 hhsize, by(gender) replace rseed(2232) noisily midiagplots adl midiagplots adl, plottype(hist) separate mi xeq 0 1 10 20: summarize adl mi xeq 0 1 10 20: tab adl ********************************************************************************** * Logistic imputation model ************************* * For binary variables ********************************************************************************** recode adl(1/6=1),gen(adl2) mi register imputed adl2 mi impute logit adl2 maxgrip i.country wave gender age_int age2 hhsize, conditional(if gender==1) replace rseed(2232) noisily mi impute logit adl2 maxgrip i.country wave gender age_int age2 hhsize, conditional(if gender==2) replace rseed(2232) noisily midiagplots adl2 midiagplots adl2, plottype(hist) separate mi xeq 0 1 10 20: summarize adl2 mi xeq 0 1 10 20: tab adl2 ********************************************************************************** * Multinomial logistic imputation model ************************************* * ********************************************************************************** recode adl(1/3=1) (4/6=2),gen(adl3) mi register imputed adl3 mi impute mlogit adl3 maxgrip i.country wave gender age_int age2 hhsize, replace rseed(2232) noisily midiagplots adl3 midiagplots adl3, plottype(hist) separate mi xeq 0 1 10 20: summarize adl3 mi xeq 0 1 10 20: tab adl3