7

MICE パッケージを実行した後、欠損値の数は、5 つの完全な代入セットのそれぞれで 147428 から 46093 に縮小されます。しかし、代わりに0 NAであるはずではありませんか???

ありがとう!

ここに私のMICEコードがあります:

imp = mice(newdata)

imputationSet1 = complete(imp)
imputationSet2 = complete(imp,2)
imputationSet3 = complete(imp,3)
imputationSet4 = complete(imp,4)
imputationSet5 = complete(imp,5)
4

4 に答える 4

7

ベンさん、mouse() 関数は多重共線性を検出し、行列の 1 つ以上の予測変数を削除することで問題を解決します。それぞれの削除は、mids オブジェクトの LoggedEvents 要素に記録されます。例えば、

imp <- マウス(cbind(nhanes, chl2 = 2 * nhanes$chl), print = FALSE)

imp$loggedEvents

繰り返しの前に重複変数 chl2 が削除されたことを通知します。このアルゴリズムは、反復中に多重共線性も検出します。

アルゴリズムを制御するもう 1 つの尺度は、リッジ パラメーターです。ridge パラメーターは、mouse() の引数として指定されます。ridge=0.001 または ridge=0.01 を設定すると、バイアスを犠牲にしてアルゴリズムがより堅牢になります。

ターミナル ノードでは、 mouse.impute.sample() のような単純なメソッドを適用できます。このメソッド自体には予測子は必要ありません。

この情報は、Stef van Buuren 著『Flexible Computation of Missing Data』、p. 129

于 2016-12-17T22:56:45.417 に答える
3

私を助けたのは、文字変数を因子変数に変換することであり、NAは帰属データセットから消えました。

于 2016-12-17T23:34:06.857 に答える
2

と呼ばれる追加パラメータの引き渡しを試みます。thresholdデフォルトは です0.999。これを近い値1またはそれ以上の値に設定すると、問題は解消されます。

ただし、この問題はデータの共線性が高い場合にのみ発生することに注意してください。

于 2015-06-10T12:45:50.223 に答える
-1

ええ、欠損値は残っていないはずです。

あなたのデータセットには、マウスの代入モデルが壊れるほど欠落している行がいくつかあるに違いありません。データセットにすべての値が欠落している行がある可能性はありますか? それはそれをするでしょう。

気まぐれに試すもう 1 つのこと - 反復回数を 15 に上げますimp = mice(newdata, maxit = 15)。それは何かを変えますか?

于 2014-01-06T06:55:07.380 に答える