マウスで2l.normを使用した「1次の先行マイナーは正定ではない」エラー


11

2l.normのマルチレベル代入の方法を使用して問題が発生していmiceます。

残念ながら、データのサイズが原因で再現可能な例を投稿することはできません。サイズを小さくすると、問題は消えます。

特定の変数について、mice次のエラーと警告を生成します。

Error in chol.default(inv.sigma2[class] * X.SS[[class]] + inv.psi) : 
  the leading minor of order 1 is not positive definite
In addition: Warning messages:
1: In rgamma(n.class, n.g/2 + 1/(2 * theta), scale = 2 * theta/(ss *  :
  NAs produced
2: In rgamma(1, n.class/(2 * theta) + 1, scale = 2 * theta * H/n.class) :
  NAs produced
3: In rgamma(1, n.class/2 - 1, scale = 2/(n.class * (sigma2.0/H - log(sigma2.0) +  :
  NAs produced

私が使用している場合2l.pannormまたはpmm方法を、問題は発生しません。

変数の分布は次のとおりです。 ここに画像の説明を入力してください

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   50.0   117.0   136.0   136.7   155.0   249.0    3124 

また、クラスサイズには次の分布があります。

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   3.00   50.00   80.00   88.52  111.00  350.00 

回答:


10

MICEでも同様の問題が発生しました。私の自己ディスカッションはこちらをご覧ください。この問題は、モデルを過剰適合させた(パラメーター、変数が多すぎる)か、一部の変数が同一直線上にあるか、またはすべての変数で欠落しているケースがあるために発生します。

私の場合、モデルは過剰適合でした。この問題を解決する1つの方法は、MICEの予測子行列を調整することです。予測子行列を見るために、オブジェクトimp$predがどこにimpあるかを与えることができますmids。使用できます

new.pred <- quickpred(data)

mice(..., pred=new.pred)

データ内の変数(ピアソン、スピアマンなど)の2変量相関に基づいて予測子行列を自動的に生成します。ここで、.10はデフォルトのカットオフです。これで問題が解決する場合があります。より一般的には、モデルを賢く構築し、すべての変数を含めるだけではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.