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.
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.
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.
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.