29.2 Specificazione errata delle relazioni tra indicatori e fattori latenti

Un’altra potenziale fonte di errata specificazione del modello CFA è una designazione errata delle relazioni tra indicatori e fattori latenti.

In questo esempio, un ricercatore ha sviluppato un questionario di 12 item (gli item sono valutati su scale da 0 a 8) progettato per valutare le motivazioni dei giovani adulti a consumare bevande alcoliche (Cooper, 1994). La misura aveva lo scopo di valutare tre aspetti di questo costrutto (4 item ciascuno): (1) motivazioni di coping (item 1–4), (2) motivazioni sociali (item 5–8) e (3) motivazioni di miglioramento (item 9 –12). I dati sono i seguenti.

sds <- c(2.06, 1.52, 1.92, 1.41, 1.73, 1.77, 2.49, 2.27, 2.68, 1.75, 2.57, 2.66)

cors <- "
  1.000
  0.300  1.000
  0.229  0.261  1.000
  0.411  0.406  0.429  1.000
  0.172  0.252  0.218  0.481  1.000
  0.214  0.268  0.267  0.579  0.484  1.000
  0.200  0.214  0.241  0.543  0.426  0.492  1.000
  0.185  0.230  0.185  0.545  0.463  0.548  0.522  1.000
  0.134  0.146  0.108  0.186  0.122  0.131  0.108  0.151  1.000
  0.134  0.099  0.061  0.223  0.133  0.188  0.105  0.170  0.448  1.000
  0.160  0.131  0.158  0.161  0.044  0.124  0.066  0.061  0.370  0.350  1.000
  0.087  0.088  0.101  0.198  0.077  0.177  0.128  0.112  0.356  0.359  0.507  1.000"

covs <- getCov(cors, sds = sds, names = paste("x", 1:12, sep = ""))

Iniziamo con un modello che ipotizza tre fattori comuni latenti correlati, coerentemente con la motivazione che stava alla base della costruzione dello strumento.

model1 <- "
  copingm  =~ x1 + x2 + x3 + x4
  socialm  =~ x5 + x6 + x7 + x8
  enhancem =~ x9 + x10 + x11 + x12
"

Adattiamo il modello ai dati.

fit1 <- cfa(
  model1,
  sample.cov = covs,
  sample.nobs = 500,
  mimic = "mplus"
)

Esaminando le misure di adattamento potremmo concludere che il modello è adeguato.

effectsize::interpret(fit1)
#>     Name      Value Threshold Interpretation
#> 1    GFI 0.97009178      0.95   satisfactory
#> 2   AGFI 0.94722078      0.90   satisfactory
#> 3    NFI 0.94785001      0.90   satisfactory
#> 4   NNFI 0.97102541      0.90   satisfactory
#> 5    CFI 0.97761054      0.90   satisfactory
#> 6  RMSEA 0.03745791      0.05   satisfactory
#> 7   SRMR 0.03438699      0.08   satisfactory
#> 8    RFI 0.93251177      0.90   satisfactory
#> 9   PNFI 0.73242955      0.50   satisfactory
#> 10   IFI 0.97781875      0.90   satisfactory

Tuttavia, un esame più attento mette in evidenza un comportamento anomalo dell’item x4 e alcune caratteristiche anomale del modello in generale.

standardizedSolution(fit1)
#>         lhs op      rhs est.std    se      z pvalue ci.lower ci.upper
#> 1   copingm =~       x1   0.432 0.039 11.030   0.00    0.355    0.508
#> 2   copingm =~       x2   0.436 0.039 11.174   0.00    0.359    0.512
#> 3   copingm =~       x3   0.451 0.038 11.730   0.00    0.376    0.527
#> 4   copingm =~       x4   0.953 0.024 38.967   0.00    0.905    1.001
#> 5   socialm =~       x5   0.633 0.032 20.064   0.00    0.571    0.695
#> 6   socialm =~       x6   0.748 0.025 29.363   0.00    0.698    0.798
#> 7   socialm =~       x7   0.690 0.029 24.154   0.00    0.634    0.746
#> 8   socialm =~       x8   0.729 0.026 27.519   0.00    0.677    0.781
#> 9  enhancem =~       x9   0.602 0.039 15.581   0.00    0.526    0.678
#> 10 enhancem =~      x10   0.597 0.039 15.397   0.00    0.521    0.673
#> 11 enhancem =~      x11   0.661 0.037 17.982   0.00    0.589    0.733
#> 12 enhancem =~      x12   0.665 0.037 18.167   0.00    0.593    0.737
#> 13       x1 ~~       x1   0.814 0.034 24.085   0.00    0.747    0.880
#> 14       x2 ~~       x2   0.810 0.034 23.837   0.00    0.744    0.877
#> 15       x3 ~~       x3   0.796 0.035 22.938   0.00    0.728    0.864
#> 16       x4 ~~       x4   0.091 0.047  1.959   0.05    0.000    0.183
#> 17       x5 ~~       x5   0.599 0.040 14.985   0.00    0.521    0.677
#> 18       x6 ~~       x6   0.441 0.038 11.573   0.00    0.366    0.515
#> 19       x7 ~~       x7   0.524 0.039 13.293   0.00    0.447    0.601
#> 20       x8 ~~       x8   0.469 0.039 12.151   0.00    0.393    0.545
#> 21       x9 ~~       x9   0.638 0.047 13.707   0.00    0.546    0.729
#> 22      x10 ~~      x10   0.643 0.046 13.875   0.00    0.552    0.734
#> 23      x11 ~~      x11   0.563 0.049 11.605   0.00    0.468    0.659
#> 24      x12 ~~      x12   0.558 0.049 11.447   0.00    0.462    0.653
#> 25  copingm ~~  copingm   1.000 0.000     NA     NA    1.000    1.000
#> 26  socialm ~~  socialm   1.000 0.000     NA     NA    1.000    1.000
#> 27 enhancem ~~ enhancem   1.000 0.000     NA     NA    1.000    1.000
#> 28  copingm ~~  socialm   0.799 0.031 26.150   0.00    0.739    0.859
#> 29  copingm ~~ enhancem   0.322 0.051  6.336   0.00    0.222    0.422
#> 30  socialm ~~ enhancem   0.268 0.056  4.817   0.00    0.159    0.377
#> 31       x1 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 32       x2 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 33       x3 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 34       x4 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 35       x5 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 36       x6 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 37       x7 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 38       x8 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 39       x9 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 40      x10 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 41      x11 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 42      x12 ~1            0.000 0.045  0.000   1.00   -0.088    0.088
#> 43  copingm ~1            0.000 0.000     NA     NA    0.000    0.000
#> 44  socialm ~1            0.000 0.000     NA     NA    0.000    0.000
#> 45 enhancem ~1            0.000 0.000     NA     NA    0.000    0.000

In particolare, l’item x4 mostra una saturazione molto forte sul fattore Motivi di coping (.955) ed emerge una correlazione molto alta tra i fattori Motivi di coping e Motivi sociali (.798).

Brown (2015) suggerisce di esaminare i Modification Indices. Tale esame mostra che il MI associato a x4 è molto alto, 18.916.

modindices(fit1)
#>          lhs op rhs     mi    epc sepc.lv sepc.all sepc.nox
#> 46   copingm =~  x5  0.030 -0.030  -0.027   -0.015   -0.015
#> 47   copingm =~  x6  0.484  0.127   0.113    0.064    0.064
#> 48   copingm =~  x7  0.780  0.220   0.196    0.079    0.079
#> 49   copingm =~  x8  1.962 -0.323  -0.287   -0.127   -0.127
#> 50   copingm =~  x9  0.101  0.044   0.039    0.015    0.015
#> 51   copingm =~ x10  2.016  0.129   0.114    0.065    0.065
#> 52   copingm =~ x11  1.870 -0.181  -0.161   -0.063   -0.063
#> 53   copingm =~ x12  0.040 -0.027  -0.024   -0.009   -0.009
#> 54   socialm =~  x1  6.927 -0.520  -0.569   -0.277   -0.277
#> 55   socialm =~  x2  0.052 -0.033  -0.036   -0.024   -0.024
#> 56   socialm =~  x3  2.058 -0.267  -0.292   -0.152   -0.152
#> 57   socialm =~  x4 18.916  1.300   1.423    1.010    1.010
#> 58   socialm =~  x9  0.338  0.067   0.073    0.027    0.027
#> 59   socialm =~ x10  2.884  0.128   0.140    0.080    0.080
#> 60   socialm =~ x11  4.357 -0.229  -0.251   -0.098   -0.098
#> 61   socialm =~ x12  0.001  0.004   0.004    0.002    0.002
#> 62  enhancem =~  x1  1.954  0.093   0.149    0.072    0.072
#> 63  enhancem =~  x2  0.863  0.045   0.073    0.048    0.048
#> 64  enhancem =~  x3  0.380  0.038   0.061    0.032    0.032
#> 65  enhancem =~  x4  3.102 -0.104  -0.168   -0.119   -0.119
#> 66  enhancem =~  x5  0.596 -0.039  -0.063   -0.036   -0.036
#> 67  enhancem =~  x6  2.495  0.078   0.125    0.071    0.071
#> 68  enhancem =~  x7  0.539 -0.052  -0.084   -0.034   -0.034
#> 69  enhancem =~  x8  0.093 -0.019  -0.031   -0.014   -0.014
#> 70        x1 ~~  x2 10.299  0.379   0.379    0.149    0.149
#> 71        x1 ~~  x3  0.986  0.147   0.147    0.046    0.046
#> 72        x1 ~~  x4  0.016 -0.015  -0.015   -0.019   -0.019
#> 73        x1 ~~  x5  0.452 -0.080  -0.080   -0.032   -0.032
#> 74        x1 ~~  x6  0.484 -0.078  -0.078   -0.036   -0.036
#> 75        x1 ~~  x7  0.290 -0.089  -0.089   -0.027   -0.027
#> 76        x1 ~~  x8  1.535 -0.181  -0.181   -0.063   -0.063
#> 77        x1 ~~  x9  0.468  0.133   0.133    0.034    0.034
#> 78        x1 ~~ x10  0.067  0.033   0.033    0.013    0.013
#> 79        x1 ~~ x11  4.030  0.364   0.364    0.102    0.102
#> 80        x1 ~~ x12  1.504 -0.229  -0.229   -0.062   -0.062
#> 81        x2 ~~  x3  3.508  0.205   0.205    0.088    0.088
#> 82        x2 ~~  x4  6.780 -0.229  -0.229   -0.393   -0.393
#> 83        x2 ~~  x5  1.449  0.106   0.106    0.058    0.058
#> 84        x2 ~~  x6  0.102  0.026   0.026    0.016    0.016
#> 85        x2 ~~  x7  1.144 -0.130  -0.130   -0.053   -0.053
#> 86        x2 ~~  x8  0.366 -0.065  -0.065   -0.031   -0.031
#> 87        x2 ~~  x9  1.877  0.196   0.196    0.067    0.067
#> 88        x2 ~~ x10  0.434 -0.062  -0.062   -0.032   -0.032
#> 89        x2 ~~ x11  1.599  0.169   0.169    0.064    0.064
#> 90        x2 ~~ x12  0.726 -0.117  -0.117   -0.043   -0.043
#> 91        x3 ~~  x4  0.107 -0.037  -0.037   -0.051   -0.051
#> 92        x3 ~~  x5  0.024  0.017   0.017    0.008    0.008
#> 93        x3 ~~  x6  0.211  0.048   0.048    0.024    0.024
#> 94        x3 ~~  x7  0.009  0.015   0.015    0.005    0.005
#> 95        x3 ~~  x8  5.281 -0.310  -0.310   -0.117   -0.117
#> 96        x3 ~~  x9  0.031  0.031   0.031    0.009    0.009
#> 97        x3 ~~ x10  3.545 -0.221  -0.221   -0.092   -0.092
#> 98        x3 ~~ x11  5.967  0.408   0.408    0.124    0.124
#> 99        x3 ~~ x12  0.055 -0.040  -0.040   -0.012   -0.012
#> 100       x4 ~~  x5  0.063 -0.016  -0.016   -0.028   -0.028
#> 101       x4 ~~  x6  0.052  0.015   0.015    0.029    0.029
#> 102       x4 ~~  x7  2.114  0.131   0.131    0.170    0.170
#> 103       x4 ~~  x8  0.208  0.037   0.037    0.057    0.057
#> 104       x4 ~~  x9  0.887 -0.091  -0.091   -0.100   -0.100
#> 105       x4 ~~ x10  1.063  0.065   0.065    0.109    0.109
#> 106       x4 ~~ x11  2.637 -0.149  -0.149   -0.181   -0.181
#> 107       x4 ~~ x12  0.169  0.039   0.039    0.046    0.046
#> 108       x5 ~~  x6  0.370  0.057   0.057    0.036    0.036
#> 109       x5 ~~  x7  0.292 -0.072  -0.072   -0.030   -0.030
#> 110       x5 ~~  x8  0.007  0.010   0.010    0.005    0.005
#> 111       x5 ~~  x9  0.822  0.133   0.133    0.047    0.047
#> 112       x5 ~~ x10  0.339  0.056   0.056    0.030    0.030
#> 113       x5 ~~ x11  1.126 -0.145  -0.145   -0.056   -0.056
#> 114       x5 ~~ x12  1.143 -0.151  -0.151   -0.057   -0.057
#> 115       x6 ~~  x7  2.528 -0.215  -0.215   -0.101   -0.101
#> 116       x6 ~~  x8  0.053  0.029   0.029    0.016    0.016
#> 117       x6 ~~  x9  1.056 -0.141  -0.141   -0.056   -0.056
#> 118       x6 ~~ x10  0.598  0.069   0.069    0.042    0.042
#> 119       x6 ~~ x11  0.248  0.064   0.064    0.028    0.028
#> 120       x6 ~~ x12  1.667  0.170   0.170    0.073    0.073
#> 121       x7 ~~  x8  1.431  0.206   0.206    0.074    0.074
#> 122       x7 ~~  x9  0.032 -0.036  -0.036   -0.009   -0.009
#> 123       x7 ~~ x10  1.521 -0.163  -0.163   -0.065   -0.065
#> 124       x7 ~~ x11  0.263 -0.097  -0.097   -0.028   -0.028
#> 125       x7 ~~ x12  0.637  0.156   0.156    0.044    0.044
#> 126       x8 ~~  x9  1.621  0.227   0.227    0.068    0.068
#> 127       x8 ~~ x10  1.311  0.134   0.134    0.061    0.061
#> 128       x8 ~~ x11  2.144 -0.244  -0.244   -0.081   -0.081
#> 129       x8 ~~ x12  0.591 -0.132  -0.132   -0.043   -0.043
#> 130       x9 ~~ x10 19.846  0.862   0.862    0.288    0.288
#> 131       x9 ~~ x11  2.908 -0.518  -0.518   -0.126   -0.126
#> 132       x9 ~~ x12  7.696 -0.876  -0.876   -0.207   -0.207
#> 133      x10 ~~ x11  7.331 -0.534  -0.534   -0.197   -0.197
#> 134      x10 ~~ x12  5.572 -0.484  -0.484   -0.174   -0.174
#> 135      x11 ~~ x12 26.947  1.711   1.711    0.447    0.447

Le considerazioni precedenti, dunque, suggeriscono che il modello potrebbe non avere descritto in maniera adeguata le relazioni tra x4 e i fattori comuni latenti. In base a considerazioni teoriche, supponiamo che abbia senso pensare che x4 saturi non solo sul fattore Motivi di coping ma anche sul fattore di Motivi Sociali. Specifichiamo dunque un nuovo modello nel modo seguente.

model2 <- "
  copingm  =~ x1 + x2 + x3 + x4
  socialm  =~ x4 + x5 + x6 + x7 + x8
  enhancem =~ x9 + x10 + x11 + x12
"

Adattiamo il modello.

fit2 <- cfa(
  model2,
  sample.cov = covs,
  sample.nobs = 500,
  mimic = "mplus"
)

Esaminiamo gli indici di bontà di adattamento.

effectsize::interpret(fit2)
#>     Name      Value Threshold Interpretation
#> 1    GFI 0.97684139      0.95   satisfactory
#> 2   AGFI 0.95831451      0.90   satisfactory
#> 3    NFI 0.95826773      0.90   satisfactory
#> 4   NNFI 0.98393923      0.90   satisfactory
#> 5    CFI 0.98783275      0.90   satisfactory
#> 6  RMSEA 0.02788804      0.05   satisfactory
#> 7   SRMR 0.02887855      0.08   satisfactory
#> 8    RFI 0.94491340      0.90   satisfactory
#> 9   PNFI 0.72596040      0.50   satisfactory
#> 10   IFI 0.98795337      0.90   satisfactory

La bontà di adattamento è migliorata.

Esaminiamo la soluzione standardizzata. Vediamo ora che sono scomparse le due anomalie trovate in precedenza.

standardizedSolution(fit2)
#>         lhs op      rhs est.std    se      z pvalue ci.lower ci.upper
#> 1   copingm =~       x1   0.514 0.043 12.034      0    0.430    0.597
#> 2   copingm =~       x2   0.515 0.043 12.072      0    0.431    0.599
#> 3   copingm =~       x3   0.516 0.043 12.106      0    0.432    0.600
#> 4   copingm =~       x4   0.538 0.062  8.660      0    0.416    0.660
#> 5   socialm =~       x4   0.439 0.061  7.204      0    0.320    0.558
#> 6   socialm =~       x5   0.632 0.032 19.995      0    0.570    0.694
#> 7   socialm =~       x6   0.746 0.025 29.279      0    0.696    0.796
#> 8   socialm =~       x7   0.691 0.028 24.235      0    0.635    0.746
#> 9   socialm =~       x8   0.731 0.026 27.762      0    0.679    0.782
#> 10 enhancem =~       x9   0.603 0.039 15.625      0    0.527    0.678
#> 11 enhancem =~      x10   0.595 0.039 15.308      0    0.519    0.671
#> 12 enhancem =~      x11   0.665 0.037 18.188      0    0.593    0.737
#> 13 enhancem =~      x12   0.663 0.037 18.103      0    0.591    0.735
#> 14       x1 ~~       x1   0.736 0.044 16.786      0    0.650    0.822
#> 15       x2 ~~       x2   0.735 0.044 16.729      0    0.649    0.821
#> 16       x3 ~~       x3   0.734 0.044 16.678      0    0.647    0.820
#> 17       x4 ~~       x4   0.230 0.037  6.292      0    0.158    0.301
#> 18       x5 ~~       x5   0.601 0.040 15.043      0    0.522    0.679
#> 19       x6 ~~       x6   0.443 0.038 11.634      0    0.368    0.517
#> 20       x7 ~~       x7   0.523 0.039 13.292      0    0.446    0.600
#> 21       x8 ~~       x8   0.466 0.038 12.106      0    0.390    0.541
#> 22       x9 ~~       x9   0.637 0.046 13.701      0    0.546    0.728
#> 23      x10 ~~      x10   0.646 0.046 13.990      0    0.556    0.737
#> 24      x11 ~~      x11   0.558 0.049 11.474      0    0.463    0.653
#> 25      x12 ~~      x12   0.561 0.049 11.546      0    0.465    0.656
#> 26  copingm ~~  copingm   1.000 0.000     NA     NA    1.000    1.000
#> 27  socialm ~~  socialm   1.000 0.000     NA     NA    1.000    1.000
#> 28 enhancem ~~ enhancem   1.000 0.000     NA     NA    1.000    1.000
#> 29  copingm ~~  socialm   0.610 0.057 10.744      0    0.498    0.721
#> 30  copingm ~~ enhancem   0.350 0.059  5.964      0    0.235    0.465
#> 31  socialm ~~ enhancem   0.265 0.055  4.794      0    0.156    0.373
#> 32       x1 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 33       x2 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 34       x3 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 35       x4 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 36       x5 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 37       x6 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 38       x7 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 39       x8 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 40       x9 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 41      x10 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 42      x11 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 43      x12 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 44  copingm ~1            0.000 0.000     NA     NA    0.000    0.000
#> 45  socialm ~1            0.000 0.000     NA     NA    0.000    0.000
#> 46 enhancem ~1            0.000 0.000     NA     NA    0.000    0.000

Esaminando i MI, notiamo che il modello potrebbe migliorare se introduciamo una correlazione tra le specificità x11 e x12.

modindices(fit2)
#>          lhs op rhs     mi    epc sepc.lv sepc.all sepc.nox
#> 47   copingm =~  x5  0.076  0.032   0.034    0.020    0.020
#> 48   copingm =~  x6  1.413  0.143   0.151    0.086    0.086
#> 49   copingm =~  x7  0.245  0.083   0.088    0.035    0.035
#> 50   copingm =~  x8  3.668 -0.295  -0.311   -0.137   -0.137
#> 51   copingm =~  x9  0.243  0.066   0.069    0.026    0.026
#> 52   copingm =~ x10  0.566  0.065   0.069    0.040    0.040
#> 53   copingm =~ x11  0.119 -0.044  -0.046   -0.018   -0.018
#> 54   copingm =~ x12  0.598 -0.102  -0.108   -0.041   -0.041
#> 55   socialm =~  x1  1.948 -0.396  -0.245   -0.119   -0.119
#> 56   socialm =~  x2  0.718  0.177   0.110    0.072    0.072
#> 57   socialm =~  x3  0.298  0.144   0.089    0.047    0.047
#> 58   socialm =~  x9  0.316  0.114   0.071    0.026    0.026
#> 59   socialm =~ x10  3.169  0.236   0.146    0.084    0.084
#> 60   socialm =~ x11  4.927 -0.430  -0.266   -0.104   -0.104
#> 61   socialm =~ x12  0.017  0.026   0.016    0.006    0.006
#> 62  enhancem =~  x1  0.314  0.040   0.064    0.031    0.031
#> 63  enhancem =~  x2  0.003  0.003   0.004    0.003    0.003
#> 64  enhancem =~  x3  0.037 -0.013  -0.020   -0.011   -0.011
#> 65  enhancem =~  x4  0.106 -0.013  -0.021   -0.015   -0.015
#> 66  enhancem =~  x5  0.464 -0.034  -0.055   -0.032   -0.032
#> 67  enhancem =~  x6  2.703  0.079   0.128    0.072    0.072
#> 68  enhancem =~  x7  0.467 -0.048  -0.077   -0.031   -0.031
#> 69  enhancem =~  x8  0.095 -0.019  -0.031   -0.014   -0.014
#> 70        x1 ~~  x2  1.966  0.187   0.187    0.081    0.081
#> 71        x1 ~~  x3  2.042 -0.241  -0.241   -0.083   -0.083
#> 72        x1 ~~  x4  0.775  0.098   0.098    0.082    0.082
#> 73        x1 ~~  x5  0.238 -0.058  -0.058   -0.024   -0.024
#> 74        x1 ~~  x6  0.187 -0.048  -0.048   -0.023   -0.023
#> 75        x1 ~~  x7  0.019 -0.022  -0.022   -0.007   -0.007
#> 76        x1 ~~  x8  0.366 -0.087  -0.087   -0.032   -0.032
#> 77        x1 ~~  x9  0.155  0.076   0.076    0.020    0.020
#> 78        x1 ~~ x10  0.104  0.041   0.041    0.016    0.016
#> 79        x1 ~~ x11  2.019  0.255   0.255    0.075    0.075
#> 80        x1 ~~ x12  1.911 -0.257  -0.257   -0.073   -0.073
#> 81        x2 ~~  x3  0.035 -0.023  -0.023   -0.011   -0.011
#> 82        x2 ~~  x4  3.029 -0.144  -0.144   -0.163   -0.163
#> 83        x2 ~~  x5  2.503  0.138   0.138    0.079    0.079
#> 84        x2 ~~  x6  0.509  0.058   0.058    0.038    0.038
#> 85        x2 ~~  x7  0.471 -0.082  -0.082   -0.035   -0.035
#> 86        x2 ~~  x8  0.015  0.013   0.013    0.006    0.006
#> 87        x2 ~~  x9  1.289  0.161   0.161    0.058    0.058
#> 88        x2 ~~ x10  0.467 -0.064  -0.064   -0.035   -0.035
#> 89        x2 ~~ x11  0.338  0.077   0.077    0.031    0.031
#> 90        x2 ~~ x12  0.970 -0.135  -0.135   -0.052   -0.052
#> 91        x3 ~~  x4  1.095  0.109   0.109    0.098    0.098
#> 92        x3 ~~  x5  0.169  0.045   0.045    0.021    0.021
#> 93        x3 ~~  x6  0.681  0.085   0.085    0.044    0.044
#> 94        x3 ~~  x7  0.315  0.085   0.085    0.029    0.029
#> 95        x3 ~~  x8  3.075 -0.235  -0.235   -0.092   -0.092
#> 96        x3 ~~  x9  0.022 -0.026  -0.026   -0.008   -0.008
#> 97        x3 ~~ x10  3.825 -0.230  -0.230   -0.100   -0.100
#> 98        x3 ~~ x11  3.498  0.313   0.313    0.099    0.099
#> 99        x3 ~~ x12  0.079 -0.049  -0.049   -0.015   -0.015
#> 100       x4 ~~  x5  0.337 -0.037  -0.037   -0.041   -0.041
#> 101       x4 ~~  x6  0.033 -0.012  -0.012   -0.015   -0.015
#> 102       x4 ~~  x7  1.053  0.094   0.094    0.077    0.077
#> 103       x4 ~~  x8  0.071 -0.022  -0.022   -0.021   -0.021
#> 104       x4 ~~  x9  0.541 -0.070  -0.070   -0.048   -0.048
#> 105       x4 ~~ x10  1.128  0.066   0.066    0.070    0.070
#> 106       x4 ~~ x11  1.313 -0.102  -0.102   -0.079   -0.079
#> 107       x4 ~~ x12  0.322  0.052   0.052    0.039    0.039
#> 108       x5 ~~  x6  0.504  0.066   0.066    0.042    0.042
#> 109       x5 ~~  x7  0.262 -0.068  -0.068   -0.028   -0.028
#> 110       x5 ~~  x8  0.004  0.008   0.008    0.004    0.004
#> 111       x5 ~~  x9  0.850  0.135   0.135    0.047    0.047
#> 112       x5 ~~ x10  0.288  0.052   0.052    0.027    0.027
#> 113       x5 ~~ x11  1.019 -0.138  -0.138   -0.054   -0.054
#> 114       x5 ~~ x12  1.224 -0.157  -0.157   -0.059   -0.059
#> 115       x6 ~~  x7  2.404 -0.209  -0.209   -0.099   -0.099
#> 116       x6 ~~  x8  0.034  0.023   0.023    0.012    0.012
#> 117       x6 ~~  x9  0.978 -0.135  -0.135   -0.054   -0.054
#> 118       x6 ~~ x10  0.524  0.065   0.065    0.039    0.039
#> 119       x6 ~~ x11  0.341  0.074   0.074    0.033    0.033
#> 120       x6 ~~ x12  1.520  0.163   0.163    0.069    0.069
#> 121       x7 ~~  x8  1.171  0.186   0.186    0.067    0.067
#> 122       x7 ~~  x9  0.020 -0.028  -0.028   -0.007   -0.007
#> 123       x7 ~~ x10  1.593 -0.167  -0.167   -0.066   -0.066
#> 124       x7 ~~ x11  0.175 -0.079  -0.079   -0.023   -0.023
#> 125       x7 ~~ x12  0.586  0.149   0.149    0.042    0.042
#> 126       x8 ~~  x9  1.808  0.239   0.239    0.072    0.072
#> 127       x8 ~~ x10  1.267  0.131   0.131    0.060    0.060
#> 128       x8 ~~ x11  1.791 -0.222  -0.222   -0.075   -0.075
#> 129       x8 ~~ x12  0.595 -0.132  -0.132   -0.043   -0.043
#> 130       x9 ~~ x10 20.103  0.864   0.864    0.288    0.288
#> 131       x9 ~~ x11  3.658 -0.582  -0.582   -0.142   -0.142
#> 132       x9 ~~ x12  7.229 -0.845  -0.845   -0.199   -0.199
#> 133      x10 ~~ x11  7.617 -0.543  -0.543   -0.201   -0.201
#> 134      x10 ~~ x12  4.512 -0.431  -0.431   -0.154   -0.154
#> 135      x11 ~~ x12 26.071  1.680   1.680    0.440    0.440

Il nuovo modello diventa dunque il seguente.

model3 <- "
  copingm  =~ x1 + x2 + x3 + x4
  socialm  =~ x4 + x5 + x6 + x7 + x8
  enhancem =~ x9 + x10 + x11 + x12
  x11 ~~ x12
"

Adattiamo il modello.

fit3 <- cfa(
  model3,
  sample.cov = covs,
  sample.nobs = 500,
  mimic = "mplus"
)

Un test basato sul rapporto di verosimiglianze conferma che il miglioramento di adattamento è sostanziale.

lavTestLRT(fit2, fit3)
#> 
#> Chi-Squared Difference Test
#> 
#>      Df   AIC   BIC  Chisq Chisq diff   RMSEA Df diff Pr(>Chisq)    
#> fit3 49 23934 24107 44.955                                          
#> fit2 50 23957 24125 69.444     24.488 0.21674       1  7.477e-07 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Esaminiamo gli indici di bontà di adattamento.

summary(fit3, fit.measures = TRUE)
#> lavaan 0.6.15 ended normally after 61 iterations
#> 
#>   Estimator                                         ML
#>   Optimization method                           NLMINB
#>   Number of model parameters                        41
#> 
#>   Number of observations                           500
#> 
#> Model Test User Model:
#>                                                       
#>   Test statistic                                44.955
#>   Degrees of freedom                                49
#>   P-value (Chi-square)                           0.638
#> 
#> Model Test Baseline Model:
#> 
#>   Test statistic                              1664.026
#>   Degrees of freedom                                66
#>   P-value                                        0.000
#> 
#> User Model versus Baseline Model:
#> 
#>   Comparative Fit Index (CFI)                    1.000
#>   Tucker-Lewis Index (TLI)                       1.003
#> 
#> Loglikelihood and Information Criteria:
#> 
#>   Loglikelihood user model (H0)             -11926.170
#>   Loglikelihood unrestricted model (H1)     -11903.692
#>                                                       
#>   Akaike (AIC)                               23934.339
#>   Bayesian (BIC)                             24107.138
#>   Sample-size adjusted Bayesian (SABIC)      23977.002
#> 
#> Root Mean Square Error of Approximation:
#> 
#>   RMSEA                                          0.000
#>   90 Percent confidence interval - lower         0.000
#>   90 Percent confidence interval - upper         0.025
#>   P-value H_0: RMSEA <= 0.050                    1.000
#>   P-value H_0: RMSEA >= 0.080                    0.000
#> 
#> Standardized Root Mean Square Residual:
#> 
#>   SRMR                                           0.023
#> 
#> Parameter Estimates:
#> 
#>   Standard errors                             Standard
#>   Information                                 Expected
#>   Information saturated (h1) model          Structured
#> 
#> Latent Variables:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>   copingm =~                                          
#>     x1                1.000                           
#>     x2                0.740    0.094    7.909    0.000
#>     x3                0.933    0.118    7.903    0.000
#>     x4                0.719    0.118    6.070    0.000
#>   socialm =~                                          
#>     x4                1.000                           
#>     x5                1.771    0.273    6.485    0.000
#>     x6                2.141    0.319    6.703    0.000
#>     x7                2.784    0.421    6.611    0.000
#>     x8                2.689    0.402    6.681    0.000
#>   enhancem =~                                         
#>     x9                1.000                           
#>     x10               0.648    0.070    9.293    0.000
#>     x11               0.776    0.093    8.340    0.000
#>     x12               0.802    0.096    8.327    0.000
#> 
#> Covariances:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>  .x11 ~~                                              
#>    .x12               1.460    0.300    4.873    0.000
#>   copingm ~~                                          
#>     socialm           0.398    0.071    5.603    0.000
#>     enhancem          0.669    0.145    4.613    0.000
#>   socialm ~~                                          
#>     enhancem          0.320    0.084    3.783    0.000
#> 
#> Intercepts:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>    .x1                0.000    0.092    0.000    1.000
#>    .x2                0.000    0.068    0.000    1.000
#>    .x3                0.000    0.086    0.000    1.000
#>    .x4                0.000    0.063    0.000    1.000
#>    .x5                0.000    0.077    0.000    1.000
#>    .x6                0.000    0.079    0.000    1.000
#>    .x7                0.000    0.111    0.000    1.000
#>    .x8                0.000    0.101    0.000    1.000
#>    .x9                0.000    0.120    0.000    1.000
#>    .x10               0.000    0.078    0.000    1.000
#>    .x11               0.000    0.115    0.000    1.000
#>    .x12               0.000    0.119    0.000    1.000
#>     copingm           0.000                           
#>     socialm           0.000                           
#>     enhancem          0.000                           
#> 
#> Variances:
#>                    Estimate  Std.Err  z-value  P(>|z|)
#>    .x1                3.117    0.230   13.546    0.000
#>    .x2                1.694    0.125   13.527    0.000
#>    .x3                2.705    0.200   13.536    0.000
#>    .x4                0.454    0.070    6.502    0.000
#>    .x5                1.794    0.130   13.835    0.000
#>    .x6                1.384    0.115   12.015    0.000
#>    .x7                3.240    0.248   13.089    0.000
#>    .x8                2.393    0.194   12.352    0.000
#>    .x9                3.958    0.400    9.895    0.000
#>    .x10               1.710    0.170   10.063    0.000
#>    .x11               4.657    0.371   12.545    0.000
#>    .x12               4.997    0.398   12.561    0.000
#>     copingm           1.118    0.217    5.158    0.000
#>     socialm           0.380    0.110    3.469    0.001
#>     enhancem          3.210    0.490    6.550    0.000

Gli indici di fit sono migliorati.

Esaminiamo la soluzione standardizzata.

standardizedSolution(fit3)
#>         lhs op      rhs est.std    se      z pvalue ci.lower ci.upper
#> 1   copingm =~       x1   0.514 0.043 12.016      0    0.430    0.598
#> 2   copingm =~       x2   0.515 0.043 12.055      0    0.431    0.599
#> 3   copingm =~       x3   0.514 0.043 12.037      0    0.431    0.598
#> 4   copingm =~       x4   0.540 0.063  8.609      0    0.417    0.663
#> 5   socialm =~       x4   0.438 0.061  7.129      0    0.317    0.558
#> 6   socialm =~       x5   0.632 0.032 20.004      0    0.570    0.694
#> 7   socialm =~       x6   0.746 0.025 29.291      0    0.697    0.796
#> 8   socialm =~       x7   0.690 0.029 24.206      0    0.634    0.746
#> 9   socialm =~       x8   0.731 0.026 27.800      0    0.680    0.783
#> 10 enhancem =~       x9   0.669 0.041 16.388      0    0.589    0.749
#> 11 enhancem =~      x10   0.664 0.041 16.243      0    0.584    0.744
#> 12 enhancem =~      x11   0.542 0.045 12.120      0    0.454    0.629
#> 13 enhancem =~      x12   0.541 0.045 12.083      0    0.453    0.628
#> 14      x11 ~~      x12   0.303 0.050  6.097      0    0.205    0.400
#> 15       x1 ~~       x1   0.736 0.044 16.757      0    0.650    0.822
#> 16       x2 ~~       x2   0.735 0.044 16.697      0    0.649    0.821
#> 17       x3 ~~       x3   0.735 0.044 16.726      0    0.649    0.822
#> 18       x4 ~~       x4   0.229 0.037  6.223      0    0.157    0.301
#> 19       x5 ~~       x5   0.601 0.040 15.043      0    0.522    0.679
#> 20       x6 ~~       x6   0.443 0.038 11.636      0    0.368    0.517
#> 21       x7 ~~       x7   0.524 0.039 13.307      0    0.447    0.601
#> 22       x8 ~~       x8   0.465 0.038 12.099      0    0.390    0.541
#> 23       x9 ~~       x9   0.552 0.055 10.104      0    0.445    0.659
#> 24      x10 ~~      x10   0.559 0.054 10.314      0    0.453    0.666
#> 25      x11 ~~      x11   0.706 0.048 14.582      0    0.611    0.801
#> 26      x12 ~~      x12   0.708 0.048 14.622      0    0.613    0.802
#> 27  copingm ~~  copingm   1.000 0.000     NA     NA    1.000    1.000
#> 28  socialm ~~  socialm   1.000 0.000     NA     NA    1.000    1.000
#> 29 enhancem ~~ enhancem   1.000 0.000     NA     NA    1.000    1.000
#> 30  copingm ~~  socialm   0.610 0.057 10.735      0    0.499    0.721
#> 31  copingm ~~ enhancem   0.353 0.060  5.844      0    0.235    0.472
#> 32  socialm ~~ enhancem   0.289 0.056  5.141      0    0.179    0.399
#> 33       x1 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 34       x2 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 35       x3 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 36       x4 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 37       x5 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 38       x6 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 39       x7 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 40       x8 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 41       x9 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 42      x10 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 43      x11 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 44      x12 ~1            0.000 0.045  0.000      1   -0.088    0.088
#> 45  copingm ~1            0.000 0.000     NA     NA    0.000    0.000
#> 46  socialm ~1            0.000 0.000     NA     NA    0.000    0.000
#> 47 enhancem ~1            0.000 0.000     NA     NA    0.000    0.000

Non ci sono ulteriori motivi di preoccupazione. Brown (2015) conclude che il modello più adeguato sia model3.

Nel caso presente, a mio parare, l’introduzione della correlazione residua tra x11 e x12 si sarebbe anche potuta evitare, dato che il modello model3 (con meno idiosincrasie legate al campione) si era già dimostrato adeguato.

References

Brown, Timothy A. 2015. Confirmatory Factor Analysis for Applied Research. Guilford publications.