[R]{lavaan} cfa() : 確認的因子分析を実行する関数

説明

lavaan::cfa() は確認的因子分析を実行する関数である。正確にはモデル式の全てをコントロール可能な低レベル関数であるlavaan:lavaan()のいくつかのパラメータを、通常の確認的因子分析で使用されるものに自動設定して使い勝手を高めたラッパー関数である。

cfa()では裏方で以下の設定を自動で行う。

  1. 潜在変数の最初の指標の因子負荷量を1に固定する(潜在変数のスケールを固定するため)
  2. 残差分散を加える
  3. 全ての外生的な潜在変数に相関を持たせる

使用法

fit <- cfa(モデル式、データフレーム)

引数

orthogonal=TRUECFAモデル内の潜在変数の全ての共分散が直行するように制約する(共分散を0に固定する)。
std.lv=TRUECFAモデル内の全ての潜在変数の分散を1に固定する。

なおこの指定を行った場合、各潜在変数の第1指標の因子負荷量は1に固定されない(=自由母数となる)

使用例

観測値が連続変数の場合の確認的因子分析

# 観測値が連続変数であるデータに対する確認的因子分析
model <- "
visual =~ x1+x2+x3
textual =~ x4+x5+x6
speed =~ x7+x8+x9
"
fit<-cfa(model,data=HolzingerSwineford1939)
summary(fit,standardized=T,fit.measures=T)

上記スクリプトを実行すると以下の出力が表示される。

lavaan (0.5-20) converged normally after  35 iterations

  Number of observations                           301

  Estimator                                         ML
  Minimum Function Test Statistic               85.306
  Degrees of freedom                                24
  P-value (Chi-square)                           0.000

Model test baseline model:

  Minimum Function Test Statistic              918.852
  Degrees of freedom                                36
  P-value                                        0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    0.931
  Tucker-Lewis Index (TLI)                       0.896

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -3737.745
  Loglikelihood unrestricted model (H1)      -3695.092

  Number of free parameters                         21
  Akaike (AIC)                                7517.490
  Bayesian (BIC)                              7595.339
  Sample-size adjusted Bayesian (BIC)         7528.739

Root Mean Square Error of Approximation:

  RMSEA                                          0.092
  90 Percent Confidence Interval          0.071  0.114
  P-value RMSEA <= 0.05                          0.001

Standardized Root Mean Square Residual:

  SRMR                                           0.065

Parameter Estimates:

  Information                                 Expected
  Standard Errors                             Standard

Latent Variables:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
  visual =~                                                             
    x1                1.000                               0.900    0.772
    x2                0.554    0.100    5.554    0.000    0.498    0.424
    x3                0.729    0.109    6.685    0.000    0.656    0.581
  textual =~                                                            
    x4                1.000                               0.990    0.852
    x5                1.113    0.065   17.014    0.000    1.102    0.855
    x6                0.926    0.055   16.703    0.000    0.917    0.838
  speed =~                                                              
    x7                1.000                               0.619    0.570
    x8                1.180    0.165    7.152    0.000    0.731    0.723
    x9                1.082    0.151    7.155    0.000    0.670    0.665

Covariances:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
  visual ~~                                                             
    textual           0.408    0.074    5.552    0.000    0.459    0.459
    speed             0.262    0.056    4.660    0.000    0.471    0.471
  textual ~~                                                            
    speed             0.173    0.049    3.518    0.000    0.283    0.283

Variances:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
    x1                0.549    0.114    4.833    0.000    0.549    0.404
    x2                1.134    0.102   11.146    0.000    1.134    0.821
    x3                0.844    0.091    9.317    0.000    0.844    0.662
    x4                0.371    0.048    7.779    0.000    0.371    0.275
    x5                0.446    0.058    7.642    0.000    0.446    0.269
    x6                0.356    0.043    8.277    0.000    0.356    0.298
    x7                0.799    0.081    9.823    0.000    0.799    0.676
    x8                0.488    0.074    6.573    0.000    0.488    0.477
    x9                0.566    0.071    8.003    0.000    0.566    0.558
    visual            0.809    0.145    5.564    0.000    1.000    1.000
    textual           0.979    0.112    8.737    0.000    1.000    1.000
    speed             0.384    0.086    4.451    0.000    1.000    1.000

出力の読み方

Minimum Function Test Statistic はχ2乗値。

観測値が順序変数(ordinal data)の場合の確認的因子分析

cfa("lavaanモデル式", ordered=c("順序変数である変数名1","順序変数である変数名2",...))

関連

lavaan::lavaan() cfa(),sem(),growth()の土台となる低レベル関数

lavaan::sem() 共分散方程式モデルをあてはめる

[R]{lavaan} gwoth() : 成長曲線モデルのあてはめを行う関数

コメント