第8回(12月10日) Task Check and Weekly Assignment

SEMについての補足などなど

To Do □ 多母集団同時分析をやってみる

Assignment

□ lavaanパッケージに含まれるサンプルデータ,Holizinger-Swineford1939をもちいて,  学校school別の多母集団同時分析モデルを実行しなさい。

今回は講義の中で触れられなかったいくつかのことを,補足的に解説していきます。

1.探索的因子分析と確認的因子分析について

探索的因子分析をすると,潜在変数がどこにどれぐらいあるか便利だよ,という説明をしました。 psychパッケージのfa関数を使ってやる方法については既に説明した通りです。 少し復習してみましょう。今回はpsychパッケージの持つbfiデータを例に話をします。

library(psych)
data(bfi)
sample.bfi <- bfi[1:25]

これを探索的因子分析にかけます。5因子構造を仮定しましょう。

result.fa <- fa(sample.bfi, nfactors = 5, fm = "ml", rotate = "promax")
print(result.fa, sort = T, digit = 3)
## Factor Analysis using method =  ml
## Call: fa(r = sample.bfi, nfactors = 5, rotate = "promax", fm = "ml")
## Standardized loadings (pattern matrix) based upon correlation matrix
##    item    ML2    ML1    ML3    ML5    ML4    h2    u2  com
## N1   16  0.897  0.174  0.026 -0.158 -0.062 0.705 0.295 1.95
## N2   17  0.858  0.115  0.038 -0.147 -0.003 0.657 0.343 1.06
## N3   18  0.685 -0.062 -0.034  0.058  0.021 0.525 0.475 1.15
## N5   20  0.438 -0.196  0.004  0.195 -0.137 0.338 0.662 1.78
## N4   19  0.405 -0.373 -0.126  0.080  0.092 0.478 0.522 1.57
## E2   12  0.024 -0.718  0.028 -0.058 -0.040 0.548 0.452 1.21
## E1   11 -0.126 -0.638  0.149 -0.066 -0.085 0.369 0.631 1.21
## E4   14  0.026  0.604 -0.037  0.322 -0.074 0.519 0.481 1.15
## E5   15  0.218  0.457  0.245  0.041  0.195 0.405 0.595 1.08
## E3   13  0.079  0.442 -0.064  0.275  0.291 0.441 0.559 1.27
## C2    7  0.133 -0.129  0.662  0.087  0.051 0.427 0.573 1.25
## C4    9  0.110  0.012 -0.657  0.068 -0.017 0.465 0.535 1.02
## C3    8  0.040 -0.097  0.586  0.092 -0.072 0.317 0.683 2.62
## C5   10  0.131 -0.118 -0.576  0.021  0.109 0.435 0.565 1.57
## C1    6  0.068 -0.062  0.546 -0.012  0.148 0.321 0.679 2.49
## A3    3 -0.042  0.169  0.001  0.646  0.022 0.511 0.489 1.15
## A2    2 -0.032  0.067  0.071  0.586  0.018 0.401 0.599 1.10
## A5    5 -0.141  0.256 -0.042  0.562  0.042 0.483 0.517 1.04
## A4    4 -0.066  0.071  0.191  0.439 -0.159 0.286 0.714 2.39
## A1    1  0.227  0.117  0.050 -0.373 -0.038 0.150 0.850 2.05
## O3   23  0.021  0.184 -0.033  0.084  0.620 0.473 0.527 1.10
## O1   21  0.006  0.112  0.032  0.023  0.524 0.324 0.676 1.75
## O5   25  0.111  0.055 -0.031  0.080 -0.522 0.274 0.726 1.22
## O2   22  0.161  0.035 -0.086  0.188 -0.442 0.244 0.756 2.37
## O4   24  0.066 -0.310 -0.033  0.159  0.385 0.257 0.743 1.17
## 
##                         ML2   ML1   ML3   ML5   ML4
## SS loadings           2.552 2.312 1.992 1.930 1.566
## Proportion Var        0.102 0.092 0.080 0.077 0.063
## Cumulative Var        0.102 0.195 0.274 0.351 0.414
## Proportion Explained  0.246 0.223 0.192 0.186 0.151
## Cumulative Proportion 0.246 0.470 0.662 0.849 1.000
## 
##  With factor correlations of 
##        ML2    ML1    ML3   ML5   ML4
## ML2  1.000 -0.370 -0.259 0.066 0.006
## ML1 -0.370  1.000  0.360 0.246 0.151
## ML3 -0.259  0.360  1.000 0.226 0.243
## ML5  0.066  0.246  0.226 1.000 0.209
## ML4  0.006  0.151  0.243 0.209 1.000
## 
## Mean item complexity =  1.5
## Test of the hypothesis that 5 factors are sufficient.
## 
## The degrees of freedom for the null model are  300  and the objective function was  7.228 with Chi Square of  20164
## The degrees of freedom for the model are 185  and the objective function was  0.628 
## 
## The root mean square of the residuals (RMSR) is  0.03 
## The df corrected root mean square of the residuals is  0.054 
## 
## The harmonic number of observations is  2762 with the empirical chi square  1475  with prob <  1.29e-199 
## The total number of observations was  2800  with MLE Chi Square =  1750  with prob <  1.39e-252 
## 
## Tucker Lewis Index of factoring reliability =  0.8721
## RMSEA index =  0.0551  and the 90 % confidence intervals are  0.0526 0.0573
## BIC =  281.5
## Fit based upon off diagonal values = 0.979
## Measures of factor score adequacy             
##                                                  ML2   ML1   ML3   ML5
## Correlation of scores with factors             0.932 0.899 0.884 0.869
## Multiple R square of scores with factors       0.868 0.807 0.781 0.756
## Minimum correlation of possible factor scores  0.736 0.615 0.562 0.511
##                                                  ML4
## Correlation of scores with factors             0.842
## Multiple R square of scores with factors       0.709
## Minimum correlation of possible factor scores  0.418

各項目から各因子が構成されている美しい作り(単純構造)です。これをSEMで書き直してみます。

library(lavaan)
## This is lavaan 0.5-15
## lavaan is BETA software! Please report any bugs.
bfi.model <- "
N =~ N1+N2+N3+N4+N5
E =~ E1+E2+E3+E4+E5
C =~ C1+C2+C3+C4+C5
A =~ A1+A2+A3+A4+A5
O =~ O1+O2+O3+O4+O5
"

result.sem <- sem(bfi.model, data = sample.bfi)
summary(result.sem, standardized = TRUE)
## lavaan (0.5-15) converged normally after  55 iterations
## 
##                                                   Used       Total
##   Number of observations                          2436        2800
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic             4165.467
##   Degrees of freedom                               265
##   P-value (Chi-square)                           0.000
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.300    0.825
##     N2                0.947    0.024   39.899    0.000    1.230    0.803
##     N3                0.884    0.025   35.919    0.000    1.149    0.721
##     N4                0.692    0.025   27.753    0.000    0.899    0.573
##     N5                0.628    0.026   24.027    0.000    0.816    0.503
##   E =~
##     E1                1.000                               0.920    0.564
##     E2                1.226    0.051   23.899    0.000    1.128    0.699
##     E3               -0.921    0.041  -22.431    0.000   -0.847   -0.627
##     E4               -1.121    0.047  -23.977    0.000   -1.031   -0.703
##     E5               -0.808    0.039  -20.648    0.000   -0.743   -0.553
##   C =~
##     C1                1.000                               0.680    0.551
##     C2                1.148    0.057   20.152    0.000    0.781    0.592
##     C3                1.036    0.054   19.172    0.000    0.705    0.546
##     C4               -1.421    0.065  -21.924    0.000   -0.967   -0.702
##     C5               -1.489    0.072  -20.694    0.000   -1.012   -0.620
##   A =~
##     A1                1.000                               0.484    0.344
##     A2               -1.579    0.108  -14.650    0.000   -0.764   -0.648
##     A3               -2.030    0.134  -15.093    0.000   -0.983   -0.749
##     A4               -1.564    0.115  -13.616    0.000   -0.757   -0.510
##     A5               -1.804    0.121  -14.852    0.000   -0.873   -0.687
##   O =~
##     O1                1.000                               0.635    0.564
##     O2               -1.020    0.068  -14.962    0.000   -0.648   -0.418
##     O3                1.373    0.072   18.942    0.000    0.872    0.724
##     O4                0.437    0.048    9.160    0.000    0.277    0.233
##     O5               -0.960    0.060  -16.056    0.000   -0.610   -0.461
## 
## Covariances:
##   N ~~
##     E                 0.292    0.032    9.131    0.000    0.244    0.244
##     C                -0.250    0.025  -10.117    0.000   -0.283   -0.283
##     A                 0.141    0.018    7.712    0.000    0.223    0.223
##     O                -0.093    0.022   -4.138    0.000   -0.112   -0.112
##   E ~~
##     C                -0.224    0.020  -11.121    0.000   -0.357   -0.357
##     A                 0.304    0.025   12.293    0.000    0.683    0.683
##     O                -0.265    0.021  -12.347    0.000   -0.453   -0.453
##   C ~~
##     A                -0.110    0.012   -9.254    0.000   -0.334   -0.334
##     O                 0.130    0.014    9.190    0.000    0.301    0.301
##   A ~~
##     O                -0.093    0.011   -8.446    0.000   -0.303   -0.303
## 
## Variances:
##     N1                0.793    0.037                      0.793    0.320
##     N2                0.836    0.036                      0.836    0.356
##     N3                1.222    0.043                      1.222    0.481
##     N4                1.654    0.052                      1.654    0.672
##     N5                1.969    0.060                      1.969    0.747
##     E1                1.814    0.058                      1.814    0.682
##     E2                1.332    0.049                      1.332    0.512
##     E3                1.108    0.038                      1.108    0.607
##     E4                1.088    0.041                      1.088    0.506
##     E5                1.251    0.040                      1.251    0.694
##     C1                1.063    0.035                      1.063    0.697
##     C2                1.130    0.039                      1.130    0.650
##     C3                1.170    0.039                      1.170    0.702
##     C4                0.960    0.040                      0.960    0.507
##     C5                1.640    0.059                      1.640    0.615
##     A1                1.745    0.052                      1.745    0.882
##     A2                0.807    0.028                      0.807    0.580
##     A3                0.754    0.032                      0.754    0.438
##     A4                1.632    0.051                      1.632    0.740
##     A5                0.852    0.032                      0.852    0.528
##     O1                0.865    0.032                      0.865    0.682
##     O2                1.990    0.063                      1.990    0.826
##     O3                0.691    0.039                      0.691    0.476
##     O4                1.346    0.040                      1.346    0.946
##     O5                1.380    0.045                      1.380    0.788
##     N                 1.689    0.073                      1.000    1.000
##     E                 0.846    0.062                      1.000    1.000
##     C                 0.463    0.036                      1.000    1.000
##     A                 0.234    0.030                      1.000    1.000
##     O                 0.404    0.033                      1.000    1.000

似ているようで,ちょっと数値が違いますね。これは,実は探索的因子分析モデルは, +全ての項目に対して全ての因子がパスを出している +因子の平均は0,分散は1に標準化されている +全ての因子間相関が想定されている(Varimax回転のときは全ての因子間相関は0) という違いがあるからです。また,因子分析は相関行列から計算を始めていますが,SEMは一般的に分散共分散行列から計算を始めるという違いもあります。

SEMで書き直したモデルも因子分析ではありますが,こうした制限や関係の違いから「確認的因子分析」とか「検証的因子分析」と呼んで,fa関数でやる因子分析(探索的因子分析)と区別することがあります。

2.識別問題について

次のSEMモデルを実行してみましょう。

bfi.model2 <- "
N =~ N1+N2+N3
"

result.sem <- sem(bfi.model2, data = sample.bfi)
summary(result.sem, standardized = TRUE)
## lavaan (0.5-15) converged normally after  22 iterations
## 
##                                                   Used       Total
##   Number of observations                          2748        2800
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
##   P-value (Chi-square)                           0.000
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.332    0.846
##     N2                0.957    0.025   37.774    0.000    1.275    0.835
##     N3                0.789    0.024   33.407    0.000    1.050    0.656
## 
## Variances:
##     N1                0.702    0.043                      0.702    0.284
##     N2                0.705    0.040                      0.705    0.303
##     N3                1.458    0.046                      1.458    0.569
##     N                 1.774    0.075                      1.000    1.000

最初のモデルを簡略化したものです。ではさらに簡略化してみましょう。

bfi.model3 <- "
N =~ N1+N2
"

result.sem <- sem(bfi.model3, data = sample.bfi)
## Warning: lavaan WARNING: could not compute standard errors!
summary(result.sem, standardized = TRUE)
## lavaan (0.5-15) converged normally after  17 iterations
## 
##                                                   Used       Total
##   Number of observations                          2757        2800
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                   NA
##   Degrees of freedom                                -1
## Error: 引数の長さが 0 です

今度はエラーが出てしまいました。 この失敗したモデルは,ふたつの変数から一つの因子を取り出そう,というものです。因子というのは目に見えないものですから(潜在変数),目に見える変数(観測変数)から情報をもらって構成するのですが,ふたつの変数から一つの因子を取り出すには情報不足,ということからくるエラーです。もちろん,一つの項目から一つの因子を取り出すのは不可能です。一つの因子を取り出すには,最低でも三つの項目が必要なのです。

潜在変数をおくことができるかどうか,係数を計算できるかどうか,の背後には,方程式を解くのに十分な情報が与えられているかどうか,が鍵となる問題が潜んでいるのです。こうした問題のことを識別問題といい,今回のモデルは「識別不能」であったといいます。

識別問題がどのようにして生じているかについては,専門書に譲りますが,エラーが出たときには「モデルを解くにはヒントが少ないのかもしれない」と考えてみましょう。与えるヒントとして,変数を増やすだけではなく,係数を固定してやる,というのも一つです。 次に挙げるのは,潜在変数の分散を1に固定して(ヒントを増やして)答えを出した例です(負の分散が出ているので,推奨される方法ではありません)。

bfi.model3s <- "
N =~ N1+N2
N ~~ 1*N
"

result.sem <- sem(bfi.model3s, data = sample.bfi)
## Warning: lavaan WARNING: some estimated variances are negative
## Warning: lavaan WARNING: residual covariance matrix is not positive definite; use inspect(fit,"cov.ov") to investigate.
summary(result.sem, standardized = TRUE)
## lavaan (0.5-15) converged normally after  16 iterations
## 
##                                                   Used       Total
##   Number of observations                          2757        2800
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic                0.000
##   Degrees of freedom                                 0
##   P-value (Chi-square)                           0.000
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.000    0.636
##     N2                1.696    0.056   30.311    0.000    1.696    1.112
## 
## Variances:
##     N                 1.000                               1.000    1.000
##     N1                1.472    0.067                      1.472    0.596
##     N2               -0.549    0.143                     -0.549   -0.236

3.多母集団同時分析について

構造方程式モデリングでは,現象に対してモデルを当てはめる,という考え方を練習してきました。 ここではその発展系として,,一つのモデルが複数の現象に当てはまるのではないか,ということを考えてみたいと思います。

たとえば,性格の5次元モデルも,男性と女性では違いがあるのではないでしょうか?同じ5次元(5因子)であったとしても,パス係数(負荷量)が男女で違いがあるかもしれない,ということを考えます。

一つのモデルを,男性と女性という複数の集団に当てはめてその違いを見る,このやり方を多母集団同時分析,と言います。例を見てみましょう。

result.sem <- sem(bfi.model, data = bfi, group = "gender", meanstructure = FALSE)
summary(result.sem, standardized = TRUE, fit.measures = TRUE)
## lavaan (0.5-15) converged normally after 100 iterations
## 
##                                                   Used       Total
##   Number of observations per group         
##   1                                                805         919
##   2                                               1631        1881
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic             4545.267
##   Degrees of freedom                               530
##   P-value (Chi-square)                           0.000
## 
## Chi-square for each group:
## 
##   1                                           1673.974
##   2                                           2871.293
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic            18451.441
##   Degrees of freedom                               600
##   P-value                                        0.000
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    0.775
##   Tucker-Lewis Index (TLI)                       0.745
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -99576.868
##   Loglikelihood unrestricted model (H1)     -97304.234
## 
##   Number of free parameters                        120
##   Akaike (AIC)                              199393.736
##   Bayesian (BIC)                            200089.509
##   Sample-size adjusted Bayesian (BIC)       199708.241
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.079
##   90 Percent Confidence Interval          0.077  0.081
##   P-value RMSEA <= 0.05                          0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.078
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Group 1 [1]:
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.250    0.796
##     N2                0.966    0.046   20.952    0.000    1.207    0.786
##     N3                0.862    0.045   18.964    0.000    1.077    0.700
##     N4                0.745    0.047   15.830    0.000    0.931    0.589
##     N5                0.552    0.045   12.320    0.000    0.689    0.464
##   E =~
##     E1                1.000                               0.976    0.586
##     E2                1.215    0.081   14.933    0.000    1.187    0.729
##     E3               -0.919    0.067  -13.811    0.000   -0.897   -0.644
##     E4               -1.152    0.077  -15.003    0.000   -1.125   -0.736
##     E5               -0.879    0.065  -13.544    0.000   -0.858   -0.625
##   C =~
##     C1                1.000                               0.682    0.556
##     C2                1.125    0.098   11.471    0.000    0.768    0.579
##     C3                1.003    0.094   10.722    0.000    0.684    0.521
##     C4               -1.430    0.114  -12.574    0.000   -0.976   -0.691
##     C5               -1.527    0.127  -12.042    0.000   -1.042   -0.630
##   A =~
##     A1                1.000                               0.449    0.315
##     A2               -1.806    0.232   -7.799    0.000   -0.812   -0.639
##     A3               -2.267    0.282   -8.052    0.000   -1.019   -0.764
##     A4               -1.708    0.232   -7.374    0.000   -0.768   -0.516
##     A5               -2.181    0.272   -8.015    0.000   -0.980   -0.739
##   O =~
##     O1                1.000                               0.620    0.578
##     O2               -0.984    0.120   -8.196    0.000   -0.610   -0.398
##     O3                1.356    0.128   10.621    0.000    0.841    0.693
##     O4                0.518    0.088    5.892    0.000    0.321    0.267
##     O5               -1.036    0.111   -9.315    0.000   -0.642   -0.477
## 
## Covariances:
##   N ~~
##     E                 0.289    0.056    5.166    0.000    0.237    0.237
##     C                -0.266    0.043   -6.215    0.000   -0.312   -0.312
##     A                 0.108    0.028    3.869    0.000    0.192    0.192
##     O                -0.054    0.037   -1.458    0.145   -0.069   -0.069
##   E ~~
##     C                -0.268    0.038   -7.061    0.000   -0.403   -0.403
##     A                 0.295    0.044    6.762    0.000    0.672    0.672
##     O                -0.221    0.035   -6.306    0.000   -0.364   -0.364
##   C ~~
##     A                -0.089    0.019   -4.796    0.000   -0.290   -0.290
##     O                 0.135    0.025    5.485    0.000    0.319    0.319
##   A ~~
##     O                -0.081    0.018   -4.636    0.000   -0.292   -0.292
## 
## Variances:
##     N1                0.900    0.069                      0.900    0.366
##     N2                0.901    0.067                      0.901    0.382
##     N3                1.205    0.074                      1.205    0.510
##     N4                1.636    0.091                      1.636    0.654
##     N5                1.737    0.091                      1.737    0.785
##     E1                1.826    0.102                      1.826    0.657
##     E2                1.238    0.081                      1.238    0.468
##     E3                1.137    0.066                      1.137    0.586
##     E4                1.073    0.071                      1.073    0.459
##     E5                1.146    0.066                      1.146    0.609
##     C1                1.039    0.061                      1.039    0.691
##     C2                1.168    0.070                      1.168    0.665
##     C3                1.254    0.071                      1.254    0.728
##     C4                1.040    0.074                      1.040    0.522
##     C5                1.648    0.105                      1.648    0.603
##     A1                1.840    0.094                      1.840    0.901
##     A2                0.957    0.057                      0.957    0.592
##     A3                0.739    0.056                      0.739    0.416
##     A4                1.621    0.088                      1.621    0.733
##     A5                0.800    0.056                      0.800    0.454
##     O1                0.768    0.051                      0.768    0.666
##     O2                1.976    0.108                      1.976    0.841
##     O3                0.765    0.069                      0.765    0.520
##     O4                1.344    0.070                      1.344    0.929
##     O5                1.404    0.082                      1.404    0.773
##     N                 1.562    0.126                      1.000    1.000
##     E                 0.953    0.114                      1.000    1.000
##     C                 0.465    0.063                      1.000    1.000
##     A                 0.202    0.049                      1.000    1.000
##     O                 0.385    0.055                      1.000    1.000
## 
## 
## 
## Group 2 [2]:
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.319    0.837
##     N2                0.927    0.027   33.767    0.000    1.223    0.805
##     N3                0.885    0.029   30.411    0.000    1.167    0.728
##     N4                0.682    0.029   23.169    0.000    0.900    0.576
##     N5                0.635    0.031   20.360    0.000    0.838    0.513
##   E =~
##     E1                1.000                               0.859    0.539
##     E2                1.273    0.070   18.267    0.000    1.093    0.682
##     E3               -0.960    0.055  -17.358    0.000   -0.824   -0.620
##     E4               -1.127    0.062  -18.218    0.000   -0.968   -0.678
##     E5               -0.786    0.051  -15.331    0.000   -0.675   -0.510
##   C =~
##     C1                1.000                               0.678    0.547
##     C2                1.143    0.070   16.408    0.000    0.775    0.591
##     C3                1.045    0.066   15.790    0.000    0.709    0.555
##     C4               -1.414    0.079  -17.912    0.000   -0.958   -0.708
##     C5               -1.467    0.087  -16.805    0.000   -0.994   -0.616
##   A =~
##     A1                1.000                               0.451    0.330
##     A2               -1.531    0.136  -11.294    0.000   -0.691   -0.629
##     A3               -2.074    0.178  -11.630    0.000   -0.936   -0.731
##     A4               -1.577    0.151  -10.452    0.000   -0.712   -0.485
##     A5               -1.799    0.158  -11.413    0.000   -0.812   -0.659
##   O =~
##     O1                1.000                               0.638    0.559
##     O2               -1.000    0.082  -12.241    0.000   -0.638   -0.409
##     O3                1.404    0.088   15.993    0.000    0.896    0.747
##     O4                0.401    0.057    7.084    0.000    0.256    0.216
##     O5               -0.904    0.070  -12.936    0.000   -0.577   -0.440
## 
## Covariances:
##   N ~~
##     E                 0.314    0.038    8.203    0.000    0.277    0.277
##     C                -0.263    0.031   -8.584    0.000   -0.294   -0.294
##     A                 0.174    0.023    7.389    0.000    0.291    0.291
##     O                -0.096    0.028   -3.488    0.000   -0.114   -0.114
##   E ~~
##     C                -0.188    0.023   -8.330    0.000   -0.324   -0.324
##     A                 0.265    0.028    9.565    0.000    0.685    0.685
##     O                -0.292    0.027  -10.813    0.000   -0.532   -0.532
##   C ~~
##     A                -0.104    0.014   -7.444    0.000   -0.341   -0.341
##     O                 0.132    0.017    7.617    0.000    0.304    0.304
##   A ~~
##     O                -0.102    0.014   -7.384    0.000   -0.356   -0.356
## 
## Variances:
##     N1                0.746    0.043                      0.746    0.300
##     N2                0.812    0.042                      0.812    0.352
##     N3                1.209    0.052                      1.209    0.470
##     N4                1.632    0.062                      1.632    0.668
##     N5                1.960    0.073                      1.960    0.736
##     E1                1.803    0.071                      1.803    0.710
##     E2                1.375    0.062                      1.375    0.535
##     E3                1.085    0.045                      1.085    0.615
##     E4                1.100    0.049                      1.100    0.540
##     E5                1.296    0.050                      1.296    0.740
##     C1                1.076    0.044                      1.076    0.701
##     C2                1.120    0.047                      1.120    0.651
##     C3                1.131    0.046                      1.131    0.692
##     C4                0.914    0.047                      0.914    0.499
##     C5                1.616    0.070                      1.616    0.620
##     A1                1.672    0.061                      1.672    0.891
##     A2                0.729    0.031                      0.729    0.604
##     A3                0.762    0.040                      0.762    0.465
##     A4                1.646    0.063                      1.646    0.765
##     A5                0.858    0.038                      0.858    0.566
##     O1                0.896    0.039                      0.896    0.688
##     O2                2.027    0.077                      2.027    0.833
##     O3                0.636    0.046                      0.636    0.442
##     O4                1.344    0.048                      1.344    0.953
##     O5                1.384    0.054                      1.384    0.806
##     N                 1.740    0.090                      1.000    1.000
##     E                 0.737    0.070                      1.000    1.000
##     C                 0.460    0.044                      1.000    1.000
##     A                 0.204    0.034                      1.000    1.000
##     O                 0.407    0.041                      1.000    1.000

こうしてみると,男性と女性とで係数の大きさが少し異なっていることがわかります。なぜこのような違いが出るのか?ということを考えるのが研究の主たる目的になることもあります。

構造方程式モデリングはさらにいろいろ設定することが可能で,例えば負荷量を同じである,と制限することもできます。

result.sem <- sem(bfi.model, data = bfi, group = "gender", group.equal = "loadings", 
    meanstructure = TRUE)
summary(result.sem, standardized = TRUE, fit.measures = TRUE)
## lavaan (0.5-15) converged normally after  68 iterations
## 
##                                                   Used       Total
##   Number of observations per group         
##   1                                                805         919
##   2                                               1631        1881
## 
##   Estimator                                         ML
##   Minimum Function Test Statistic             4562.574
##   Degrees of freedom                               550
##   P-value (Chi-square)                           0.000
## 
## Chi-square for each group:
## 
##   1                                           1685.217
##   2                                           2877.357
## 
## Model test baseline model:
## 
##   Minimum Function Test Statistic            18451.441
##   Degrees of freedom                               600
##   P-value                                        0.000
## 
## User model versus baseline model:
## 
##   Comparative Fit Index (CFI)                    0.775
##   Tucker-Lewis Index (TLI)                       0.755
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -99585.521
##   Loglikelihood unrestricted model (H1)     -97304.234
## 
##   Number of free parameters                        150
##   Akaike (AIC)                              199471.043
##   Bayesian (BIC)                            200340.760
##   Sample-size adjusted Bayesian (BIC)       199864.175
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.077
##   90 Percent Confidence Interval          0.075  0.079
##   P-value RMSEA <= 0.05                          0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.075
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
## Group 1 [1]:
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.254    0.797
##     N2                0.937    0.024   39.697    0.000    1.176    0.774
##     N3                0.878    0.025   35.815    0.000    1.102    0.711
##     N4                0.702    0.025   28.106    0.000    0.881    0.566
##     N5                0.608    0.026   23.723    0.000    0.763    0.503
##   E =~
##     E1                1.000                               0.977    0.587
##     E2                1.247    0.053   23.600    0.000    1.219    0.741
##     E3               -0.944    0.042  -22.206    0.000   -0.922   -0.655
##     E4               -1.135    0.048  -23.599    0.000   -1.110   -0.730
##     E5               -0.824    0.040  -20.492    0.000   -0.806   -0.598
##   C =~
##     C1                1.000                               0.685    0.559
##     C2                1.137    0.057   20.056    0.000    0.779    0.587
##     C3                1.031    0.054   19.123    0.000    0.706    0.535
##     C4               -1.416    0.065  -21.901    0.000   -0.970   -0.688
##     C5               -1.482    0.072  -20.675    0.000   -1.015   -0.617
##   A =~
##     A1                1.000                               0.489    0.340
##     A2               -1.622    0.118  -13.693    0.000   -0.793   -0.629
##     A3               -2.138    0.151  -14.125    0.000   -1.045   -0.777
##     A4               -1.621    0.127  -12.785    0.000   -0.792   -0.529
##     A5               -1.935    0.139  -13.956    0.000   -0.946   -0.721
##   O =~
##     O1                1.000                               0.623    0.579
##     O2               -0.994    0.068  -14.708    0.000   -0.619   -0.402
##     O3                1.393    0.073   19.179    0.000    0.868    0.712
##     O4                0.438    0.048    9.188    0.000    0.273    0.228
##     O5               -0.944    0.059  -15.927    0.000   -0.588   -0.440
## 
## Covariances:
##   N ~~
##     E                 0.294    0.055    5.386    0.000    0.240    0.240
##     C                -0.265    0.041   -6.504    0.000   -0.308   -0.308
##     A                 0.115    0.028    4.111    0.000    0.188    0.188
##     O                -0.056    0.037   -1.520    0.128   -0.072   -0.072
##   E ~~
##     C                -0.267    0.034   -7.790    0.000   -0.398   -0.398
##     A                 0.318    0.033    9.523    0.000    0.666    0.666
##     O                -0.229    0.032   -7.111    0.000   -0.376   -0.376
##   C ~~
##     A                -0.097    0.017   -5.604    0.000   -0.290   -0.290
##     O                 0.137    0.023    5.973    0.000    0.320    0.320
##   A ~~
##     O                -0.091    0.017   -5.501    0.000   -0.299   -0.299
## 
## Intercepts:
##     N1                2.845    0.055   51.269    0.000    2.845    1.807
##     N2                3.288    0.054   61.382    0.000    3.288    2.163
##     N3                2.940    0.055   53.828    0.000    2.940    1.897
##     N4                3.201    0.055   58.409    0.000    3.201    2.059
##     N5                2.476    0.053   46.306    0.000    2.476    1.632
##     E1                3.267    0.059   55.637    0.000    3.267    1.961
##     E2                3.281    0.058   56.600    0.000    3.281    1.995
##     E3                3.902    0.050   78.668    0.000    3.902    2.773
##     E4                4.235    0.054   78.988    0.000    4.235    2.784
##     E5                4.256    0.047   89.600    0.000    4.256    3.158
##     C1                4.507    0.043  104.318    0.000    4.507    3.677
##     C2                4.255    0.047   90.909    0.000    4.255    3.204
##     C3                4.207    0.047   90.443    0.000    4.207    3.188
##     C4                2.687    0.050   54.045    0.000    2.687    1.905
##     C5                3.489    0.058   60.196    0.000    3.489    2.122
##     A1                2.722    0.051   53.652    0.000    2.722    1.891
##     A2                4.481    0.044  100.831    0.000    4.481    3.554
##     A3                4.334    0.047   91.422    0.000    4.334    3.222
##     A4                4.427    0.053   83.940    0.000    4.427    2.959
##     A5                4.361    0.046   94.379    0.000    4.361    3.326
##     O1                4.990    0.038  131.493    0.000    4.990    4.635
##     O2                2.589    0.054   47.748    0.000    2.589    1.683
##     O3                4.522    0.043  105.260    0.000    4.522    3.710
##     O4                4.957    0.042  117.544    0.000    4.957    4.143
##     O5                2.394    0.047   50.878    0.000    2.394    1.793
##     N                 0.000                               0.000    0.000
##     E                 0.000                               0.000    0.000
##     C                 0.000                               0.000    0.000
##     A                 0.000                               0.000    0.000
##     O                 0.000                               0.000    0.000
## 
## Variances:
##     N1                0.905    0.065                      0.905    0.365
##     N2                0.928    0.063                      0.928    0.402
##     N3                1.188    0.072                      1.188    0.495
##     N4                1.642    0.089                      1.642    0.679
##     N5                1.720    0.091                      1.720    0.747
##     E1                1.820    0.100                      1.820    0.656
##     E2                1.218    0.079                      1.218    0.450
##     E3                1.130    0.065                      1.130    0.570
##     E4                1.082    0.069                      1.082    0.468
##     E5                1.167    0.065                      1.167    0.643
##     C1                1.033    0.059                      1.033    0.688
##     C2                1.157    0.067                      1.157    0.656
##     C3                1.243    0.070                      1.243    0.714
##     C4                1.049    0.069                      1.049    0.527
##     C5                1.674    0.100                      1.674    0.619
##     A1                1.833    0.094                      1.833    0.885
##     A2                0.961    0.055                      0.961    0.605
##     A3                0.717    0.053                      0.717    0.396
##     A4                1.612    0.087                      1.612    0.720
##     A5                0.824    0.053                      0.824    0.479
##     O1                0.771    0.048                      0.771    0.665
##     O2                1.983    0.106                      1.983    0.838
##     O3                0.732    0.061                      0.732    0.493
##     O4                1.357    0.069                      1.357    0.948
##     O5                1.436    0.079                      1.436    0.806
##     N                 1.574    0.104                      1.000    1.000
##     E                 0.955    0.086                      1.000    1.000
##     C                 0.469    0.045                      1.000    1.000
##     A                 0.239    0.035                      1.000    1.000
##     O                 0.388    0.040                      1.000    1.000
## 
## 
## 
## Group 2 [2]:
## 
##                    Estimate  Std.err  Z-value  P(>|z|)   Std.lv  Std.all
## Latent variables:
##   N =~
##     N1                1.000                               1.316    0.836
##     N2                0.937    0.024   39.697    0.000    1.234    0.809
##     N3                0.878    0.025   35.815    0.000    1.156    0.724
##     N4                0.702    0.025   28.106    0.000    0.924    0.586
##     N5                0.608    0.026   23.723    0.000    0.800    0.495
##   E =~
##     E1                1.000                               0.859    0.539
##     E2                1.247    0.053   23.600    0.000    1.072    0.673
##     E3               -0.944    0.042  -22.206    0.000   -0.811   -0.613
##     E4               -1.135    0.048  -23.599    0.000   -0.975   -0.681
##     E5               -0.824    0.040  -20.492    0.000   -0.708   -0.530
##   C =~
##     C1                1.000                               0.678    0.547
##     C2                1.137    0.057   20.056    0.000    0.771    0.588
##     C3                1.031    0.054   19.123    0.000    0.699    0.549
##     C4               -1.416    0.065  -21.901    0.000   -0.960   -0.709
##     C5               -1.482    0.072  -20.675    0.000   -1.005   -0.621
##   A =~
##     A1                1.000                               0.430    0.315
##     A2               -1.622    0.118  -13.693    0.000   -0.698   -0.633
##     A3               -2.138    0.151  -14.125    0.000   -0.920   -0.722
##     A4               -1.621    0.127  -12.785    0.000   -0.697   -0.477
##     A5               -1.935    0.139  -13.956    0.000   -0.833   -0.671
##   O =~
##     O1                1.000                               0.636    0.558
##     O2               -0.994    0.068  -14.708    0.000   -0.632   -0.406
##     O3                1.393    0.073   19.179    0.000    0.886    0.740
##     O4                0.438    0.048    9.188    0.000    0.279    0.234
##     O5               -0.944    0.059  -15.927    0.000   -0.600   -0.456
## 
## Covariances:
##   N ~~
##     E                 0.312    0.037    8.380    0.000    0.276    0.276
##     C                -0.264    0.030   -8.848    0.000   -0.296   -0.296
##     A                 0.167    0.021    7.882    0.000    0.294    0.294
##     O                -0.094    0.027   -3.439    0.001   -0.112   -0.112
##   E ~~
##     C                -0.191    0.022   -8.804    0.000   -0.327   -0.327
##     A                 0.255    0.023   11.008    0.000    0.689    0.689
##     O                -0.289    0.025  -11.727    0.000   -0.529   -0.529
##   C ~~
##     A                -0.100    0.012   -8.040    0.000   -0.341   -0.341
##     O                 0.131    0.017    7.904    0.000    0.305    0.305
##   A ~~
##     O                -0.098    0.012   -7.977    0.000   -0.357   -0.357
## 
## Intercepts:
##     N1                2.993    0.039   76.766    0.000    2.993    1.901
##     N2                3.631    0.038   96.114    0.000    3.631    2.380
##     N3                3.365    0.040   85.081    0.000    3.365    2.107
##     N4                3.203    0.039   82.065    0.000    3.203    2.032
##     N5                3.216    0.040   80.362    0.000    3.216    1.990
##     E1                2.836    0.039   71.841    0.000    2.836    1.779
##     E2                3.092    0.039   78.387    0.000    3.092    1.941
##     E3                4.025    0.033  123.014    0.000    4.025    3.046
##     E4                4.495    0.035  126.813    0.000    4.495    3.140
##     E5                4.457    0.033  134.642    0.000    4.457    3.334
##     C1                4.534    0.031  147.736    0.000    4.534    3.658
##     C2                4.430    0.032  136.525    0.000    4.430    3.381
##     C3                4.346    0.032  137.734    0.000    4.346    3.410
##     C4                2.482    0.034   74.025    0.000    2.482    1.833
##     C5                3.215    0.040   80.230    0.000    3.215    1.987
##     A1                2.251    0.034   66.620    0.000    2.251    1.650
##     A2                4.953    0.027  181.444    0.000    4.953    4.493
##     A3                4.729    0.032  149.978    0.000    4.729    3.714
##     A4                4.816    0.036  133.030    0.000    4.816    3.294
##     A5                4.633    0.031  150.854    0.000    4.633    3.735
##     O1                4.725    0.028  167.434    0.000    4.725    4.146
##     O2                2.732    0.039   70.850    0.000    2.732    1.754
##     O3                4.414    0.030  148.966    0.000    4.414    3.689
##     O4                4.910    0.029  166.515    0.000    4.910    4.123
##     O5                2.506    0.033   76.879    0.000    2.506    1.904
##     N                 0.000                               0.000    0.000
##     E                 0.000                               0.000    0.000
##     C                 0.000                               0.000    0.000
##     A                 0.000                               0.000    0.000
##     O                 0.000                               0.000    0.000
## 
## Variances:
##     N1                0.746    0.042                      0.746    0.301
##     N2                0.805    0.041                      0.805    0.346
##     N3                1.214    0.052                      1.214    0.476
##     N4                1.630    0.062                      1.630    0.656
##     N5                1.971    0.073                      1.971    0.755
##     E1                1.804    0.070                      1.804    0.710
##     E2                1.389    0.061                      1.389    0.547
##     E3                1.089    0.045                      1.089    0.624
##     E4                1.098    0.049                      1.098    0.536
##     E5                1.286    0.050                      1.286    0.719
##     C1                1.076    0.043                      1.076    0.701
##     C2                1.123    0.047                      1.123    0.654
##     C3                1.135    0.045                      1.135    0.699
##     C4                0.912    0.046                      0.912    0.497
##     C5                1.609    0.069                      1.609    0.614
##     A1                1.677    0.060                      1.677    0.901
##     A2                0.729    0.031                      0.729    0.600
##     A3                0.776    0.038                      0.776    0.478
##     A4                1.651    0.063                      1.651    0.773
##     A5                0.845    0.038                      0.845    0.549
##     O1                0.895    0.038                      0.895    0.689
##     O2                2.026    0.077                      2.026    0.835
##     O3                0.647    0.043                      0.647    0.452
##     O4                1.340    0.048                      1.340    0.945
##     O5                1.373    0.053                      1.373    0.792
##     N                 1.733    0.085                      1.000    1.000
##     E                 0.738    0.059                      1.000    1.000
##     C                 0.460    0.038                      1.000    1.000
##     A                 0.185    0.026                      1.000    1.000
##     O                 0.404    0.036                      1.000    1.000

因子から観測変数への非標準化係数が同じである,という制限をつけて実行すると,違いが因子間相関や切片(平均値)に現れてきます。「男女間で構造は同じなんだけど,平均値が違うのだ」といった仮説を検証することができるわけです。

さらに進んだ統計ソフト(M-plusなど)では,特定のパス係数だけを同じにする(等値制約といいます)といったことも可能です。

4.Practice

本日の課題はすごく簡単。lavaanパッケージが持っているデータセットを使って多母集団同時分析をしてみましょう。 このデータは,構造方程式モデリング(SEM)に関する多くの論文や本(商用の SEM パッケージのマニュアルを含む)で利用されている 古典的な' データセットである.データは,2 つの学校(Pasteur とGrant-White)の 7 年生と 8 年生の生徒の知能検査のスコア。 詳細は次のファイルを参照のこと。 http://www.ec.kansai-u.ac.jp/user/arakit/documents/lavaanPackageVer0.5-12.pdf

モデルは次のようなもの。

HS.model <- " 
 visual =~ x1 + x2 + x3
 textual =~ x4 + x5 + x6
 speed   =~ x7 + x8 + x9 "
fit <- cfa(HS.model, data = HolzingerSwineford1939)
summary(fit)
## lavaan (0.5-15) 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
## 
## Parameter estimates:
## 
##   Information                                 Expected
##   Standard Errors                             Standard
## 
##                    Estimate  Std.err  Z-value  P(>|z|)
## Latent variables:
##   visual =~
##     x1                1.000
##     x2                0.554    0.100    5.554    0.000
##     x3                0.729    0.109    6.685    0.000
##   textual =~
##     x4                1.000
##     x5                1.113    0.065   17.014    0.000
##     x6                0.926    0.055   16.703    0.000
##   speed =~
##     x7                1.000
##     x8                1.180    0.165    7.152    0.000
##     x9                1.082    0.151    7.155    0.000
## 
## Covariances:
##   visual ~~
##     textual           0.408    0.074    5.552    0.000
##     speed             0.262    0.056    4.660    0.000
##   textual ~~
##     speed             0.173    0.049    3.518    0.000
## 
## Variances:
##     x1                0.549    0.114
##     x2                1.134    0.102
##     x3                0.844    0.091
##     x4                0.371    0.048
##     x5                0.446    0.058
##     x6                0.356    0.043
##     x7                0.799    0.081
##     x8                0.488    0.074
##     x9                0.566    0.071
##     visual            0.809    0.145
##     textual           0.979    0.112
##     speed             0.384    0.086

これを多母集団モデルに拡張してください。