lavTestLRT
関数を用いる。昔のバージョンではanova(fit1, fit0)
という書き方をしたようだが、現在はlavTestLRT
関数に変更されている。
LRTはLikelihood-ratio testつまり尤度比検定である。ブートストラップをかけて行うとBLRTである。lavaanで実施できるかはよく知らない。
例題
library(lavaan) HS.model <- ' visual =~ x1 + b1*x2 + x3 textual =~ x4 + b2*x5 + x6 speed =~ x7 + b3*x8 + x9 ' fit1 <- cfa(HS.model, data = HolzingerSwineford1939) fit0 <- cfa(HS.model, data = HolzingerSwineford1939, orthogonal = TRUE) lavTestLRT(fit1, fit0)
結果。
Chi-Squared Difference Test Df AIC BIC Chisq Chisq diff Df diff Pr(>Chisq) fit1 24 7517.5 7595.3 85.305 fit0 27 7579.7 7646.4 153.527 68.222 3 1.026e-14 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
orthogonal = TRUE
というオプションはCFAモデル内の潜在変数のすべての共分散が直交するように制約するときのオプションである。
fit1とfit0を比較したときに、制約をかけたfit0の法が有意になっているため、モデルが改善されたことがわかる。
type = "Chisq"で、検定統計量がスケーリングされている場合、特別なスケーリングされた差の検定統計量が計算される。。手法が "satorra.bentler.2001" の場合,Satorra & Bentler (2001) で記述されている単純な近似が使用される。いくつかの設定では,これは負の検定統計量につながることがある。正の検定統計量を確保するために、Satorra & Bentler (2010)によって提案された方法を使用することができる。あるいは、方法が"satorra.2000 "の場合は、Satorra (2000)のオリジナルの公式を使用する。
オプションはlavaanのドキュメントを参照のこと。