cfa()を実行すると以下の警告メッセージが出力されることがある。
Warning message:
In lav_object_post_check(lavobject) :
lavaan WARNING: covariance matrix of latent variables is not positive definite; use inspect(fit,”cov.lv”) to investigate.
このメッセージは、潜在変数間の一部に高すぎる相関が存在することを意味する。即ち識別不可能な潜在変数の組み合わせが存在している。
警告メッセージではinspect(fit,”cov.lv”)を実行してエラーを生じている箇所を特定せよと言われるが、潜在変数間の共分散を出力するinspect(fit,”cov.lv”)よりも、相関行列を出力するinspect(fit,”cor.lv”)を実行したほうがよい。この相関行列で1を超える値を示している組み合わせに問題がある。
以下、私が経験した実例を提示する。
> inspect(cfa.fit21,"cor.lv")
f1 f2 f3 f4 f5 f6 f7 distal proxml
f1 1.000
f2 0.050 1.000
f3 0.211 0.047 1.000
f4 0.185 0.513 0.174 1.000
f5 0.079 0.018 0.075 0.065 1.000
f6 0.114 0.317 0.107 0.016 0.040 1.000
f7 0.280 0.063 0.263 0.231 0.099 0.143 1.000
distal 0.474 0.107 0.445 0.390 0.168 0.241 0.592 1.000
proximal 1.139 3.164 1.071 0.162 0.404 0.100 1.423 2.405 1.000このモデルではf1~f7が1次因子、distalとproximalが2次因子である。つまり2次因子分析モデルを想定した。しかし2次因子であるproximalにおいて1を超える相関係数が多数出力されており、これが独立した因子とは考えられないことがわかる。
コメント