Ho sviluppato un modello tramite imputazione multipla utilizzando MICE. Voglio utilizzare questo modello per prevedere le risposte per nuove osservazioni (che non contengono dati mancanti), compresi gli errori standard. Passare l'oggetto del modello creato in MICE alla funzione predict() non funzionaPrevisione di risposte per nuove osservazioni utilizzando un modello sviluppato con imputazione multipla tramite MICE
Un semplice esempio che utilizza il set di dati nhanes incorporato. Di 'Ho voluto sviluppare un modello di regressione logistica con la forma age==3 ~ bmi + hyp + chl
, e utilizzare questo modello per prevedere, per esempio, prob (età = 3 | IMC = 20, ip = 2 e chl = 190)
#impute missing data on bmi, hyp, chl
library('mice')
imp<-mice(nhanes, seed=1)
#create model on each imputed dataset
model <- with(imp, glm(age==3 ~ bmi + hyp + chl, family=binomial))
#pool models into one
poolmodel <- pool(model)
#new data
newdata <- data.frame(bmi=20, hyp=2, chl=190)
#attempt to predict response using predict() function
pred <- predict(object=model, newdata=newdata, type='link', se.fit=TRUE)
#Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "c('mira', 'matrix')"
pred <- predict(object=poolmodel, newdata=newdata, type='link', se.fit=TRUE)
#Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "c('mipo', 'mira', 'matrix')"
Ovviamente Sarebbe semplice calcolare manualmente le risposte e gli errori previsti utilizzando i coefficienti aggregati e la matrice di covarianza raggruppata. Il problema reale tuttavia è molto più ampio e il modello si basa su poche spline e interazioni, complicando notevolmente i calcoli. Preferirei usare le funzioni esistenti che possono fare tutto questo per me.
Esiste una soluzione semplice in R che genera risposte previste per qualsiasi oggetto modello (in pool) e un determinato insieme di nuove osservazioni, senza dover apportare modifiche ingombranti al codice?
Grazie. Io uso questo approccio quando non ho bisogno di errori standard, ma di solito ne ho bisogno. – wjchulme