MICEを使用して複数代入によってモデルを開発しました。このモデルを使用して、標準誤差を含む新しい観測値(欠落データを含まない)に対する応答を予測したい。 MICEで作成したモデルオブジェクトをpredict()関数に渡すことができませんMICEを使用して多重代入で作成されたモデルを使用して新しい観測値に対する応答を予測する
組み込みのnhanesデータセットを使用した簡単な例です。私はPROB、たとえば、フォームage==3 ~ bmi + hyp + chl
とロジスティック回帰モデルを開発し、予測することは、このモデルを使用していたと言う(年齢= 3 | BMI = 20、HYP = 2と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')"
プールされた係数およびプールされた共分散行列を使用して予測応答および誤差を手動で計算することは容易であろう。しかし、実際の問題ははるかに大きく、モデルはスプラインと相互作用が少なく、計算がかなり複雑になります。私はむしろ、私のためにこれすべてを行うことができる既存の機能を使用したいと思います。
与えられた(プールされた)モデルオブジェクトと任意の与えられた新しい観測値の予測応答を出力する単純なソリューションがありますか?煩雑なコード変更を行う必要はありませんか?
ありがとうございました。私は標準的なエラーを必要としないときにこのアプローチを使用しますが、通常は必要とします。 – wjchulme