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を超える相関係数が多数出力されており、これが独立した因子とは考えられないことがわかる。
コメント