8

を使用して複数の代入を介してモデルを開発しましたmice。このモデルを使用して、標準誤差を含む新しい観測値 (欠損データを含まない) の応答を予測したいと考えています。で作成したモデル オブジェクトを に渡しても機能micepredictない

組み込みのnhanesデータセットを使用した簡単な例。という形のロジスティック回帰モデルを作成し、age == 3 ~ bmi + hyp + chlこのモデルを使用して prob(age = 3 | bmi = 20, hyp = 2 and chl = 190) を予測するとします。

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)

UseMethod("predict") のエラー: クラス "c('mira', 'matrix')" のオブジェクトに適用される 'predict' に適用可能なメソッドがありません

pred <- predict(object = poolmodel, newdata = newdata, type = 'link', se.fit = TRUE)

UseMethod("predict") のエラー: クラス "c('mipo', 'mira', 'matrix')" のオブジェクトに適用される 'predict' に適用可能なメソッドがありません

明らかに、プールされた係数とプールされた共分散行列を使用して、予測された応答とエラーを手動で計算するのは簡単です。ただし、実際の問題ははるかに大きく、モデルはいくつかのスプラインと相互作用に依存しているため、計算がかなり複雑になります。これらすべてを実行できる既存の関数を使用したいと思います。

面倒なコード変更を行うことなく、任意の (プールされた) モデル オブジェクトと任意の一連の新しい観測に対して予測される応答を出力する R の簡単なソリューションはありますか?

4

1 に答える 1