23. La revisione del modello#

Brown [Bro15] discute alcune possibili cause che possono essere responsabili della mancanza di adattamento del modello EFA o CFA ai dati. In particolare, vengono esaminate le seguenti possibili cause:

  • il ricercatore ha ipotizzato il numero sbagliato di fattori comuni latenti,

  • un item viene ipotizzato saturare su un solo fattore comune mentre satura su diversi fattori,

  • un item viene ipotizzato saturare sul fattore comune sbagliato,

  • è possibile che vi siano correlazioni residue che il modello non ha considerato.

Brown [Bro15] mostra come il ricercatore possa usare i Modification Indices per valutare le cause del mancato adattamento del modello ai dati. I Modification Indices sono una misura utilizzata per identificare le covariate tra le variabili del modello che potrebbero migliorare l’aderenza del modello ai dati. I modification indices indicano quale sarebbe il miglioramento nell’aderenza del modello, ad esempio, se venisse permessa la correlazione tra due variabili che attualmente non sono considerate correlate. Ciò consente di identificare le relazioni nascoste tra le variabili e può aiutare a migliorare la precisione e l’accuratezza del modello.

Tuttavia, è importante tenere presente che i modification indices da soli non dovrebbero essere usati per prendere decisioni definitive sulle modifiche del modello. Invece, dovrebbero essere considerati insieme ad altre informazioni, come la conoscenza teorica, l’esperienza e altre tecniche di analisi dei dati per determinare se una modifica del modello è giustificata e in che modo.

23.1. Un numero di fattori troppo piccolo#

Una delle possibili fonti di mancanza di adattamento del modello può dipendere dal fatto che è stato ipotizzato un numero insufficiente di fattori latenti comuni. Brown [Bro15] discute il caso nel quale si confrontano gli indici di bontà di adattamento di un modello ad un solo fattore comune e un modello a due fattori comuni. L’esempio riguarda i dati già in precedenza discussi e relativi relativi a otto misure di personalità raccolte su un campione di 250 pazienti che hanno concluso un programma di psicoterapia. Le scale sono le seguenti:

  • anxiety (N1),

  • hostility (N2),

  • depression (N3),

  • self-consciousness (N4),

  • warmth (E1),

  • gregariousness (E2),

  • assertiveness (E3),

  • positive emotions (E4).

Leggiamo i dati in \(\mathsf{R}\).

varnames <- c("N1", "N2", "N3", "N4", "E1", "E2", "E3", "E4")

sds <- c(5.7,  5.6,  6.4,  5.7,  6.0,  6.2,  5.7,  5.6)

cors <- '
 1.000
 0.767  1.000 
 0.731  0.709  1.000 
 0.778  0.738  0.762  1.000 
-0.351  -0.302  -0.356  -0.318  1.000 
-0.316  -0.280  -0.300  -0.267  0.675  1.000 
-0.296  -0.289  -0.297  -0.296  0.634  0.651  1.000 
-0.282  -0.254  -0.292  -0.245  0.534  0.593  0.566  1.000'

psychot_cor_mat <- getCov(cors, names = varnames)

n <- 250

Supponiamo di adattare ai dati il modello “sbagliato” che include un unico fattore comune. Svolgiamo qui l’analisi fattoriale esplorativa usando la funzione sperimentale efa() di lavaan.

# 1-factor model
f1 <- '
  efa("efa")*f1 =~ N1 + N2 + N3 + N4 + E1 + E2 + E3 + E4
'

Adattiamo il modello ai dati.

efa_f1 <-
  cfa(
    model = f1,
    sample.cov = psychot_cor_mat,
    sample.nobs = 250,
    rotation = "oblimin"
  )

Consideriamo ora un modello a due fattori.

f2 <- '
  efa("efa")*f1 +
  efa("efa")*f2 =~ N1 + N2 + N3 + N4 + E1 + E2 + E3 + E4
'

Adattiamo il modello ai dati.

efa_f2 <-
  cfa(
    model = f2,
    sample.cov = psychot_cor_mat,
    sample.nobs = 250,
    rotation = "oblimin"
  )

Esaminiamo gli indici di bontà di adattamento.

# define the fit measures
fit_measures_robust <- c("chisq", "df", "pvalue", "cfi", "tli", "rmsea", "srmr")

# collect them for each model
rbind(
  fitmeasures(efa_f1, fit_measures_robust),
  fitmeasures(efa_f2, fit_measures_robust)
) %>%
  # wrangle
  data.frame() %>%
  mutate(
    chisq = round(chisq, digits = 0),
    df = as.integer(df),
    pvalue = ifelse(pvalue == 0, "< .001", pvalue)
  ) %>%
  mutate_at(vars(cfi:srmr), ~ round(., digits = 3))
A data.frame: 2 × 7
chisqdfpvaluecfitlirmseasrmr
<dbl><int><chr><dbl><dbl><dbl><dbl>
37520< .001 0.710.5940.2670.187
10130.7093104493200981.001.0060.0000.010
print(effectsize::interpret(efa_f1))
    Name     Value Threshold Interpretation
1    GFI 0.6713421      0.95           poor
2   AGFI 0.4084158      0.90           poor
3    NFI 0.7006460      0.90           poor
4   NNFI 0.5941736      0.90           poor
5    CFI 0.7101240      0.90           poor
6  RMSEA 0.2665811      0.05           poor
7   SRMR 0.1873289      0.08           poor
8    RFI 0.5809044      0.90           poor
9   PNFI 0.5004614      0.50   satisfactory
10   IFI 0.7120036      0.90           poor
print(effectsize::interpret(efa_f2))
    Name       Value Threshold Interpretation
1    GFI 0.990554109      0.95   satisfactory
2   AGFI 0.973842148      0.90   satisfactory
3    NFI 0.992174918      0.90   satisfactory
4   NNFI 1.005603388      0.90   satisfactory
5    CFI 1.000000000      0.90   satisfactory
6  RMSEA 0.000000000      0.05   satisfactory
7   SRMR 0.009907613      0.08   satisfactory
8    RFI 0.983145977      0.90   satisfactory
9   PNFI 0.460652640      0.50           poor
10   IFI 1.002570123      0.90   satisfactory

I risultati mostrano come, in un modello EFA, una soluzione a due fattori produca un adattamento adeguato, mentre ciò non si verifica con un modello ad un solo fattore.

23.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"
)
Warning message in lavaan::lavaan(model = model1, sample.cov = covs, sample.nobs = 500, :
“lavaan WARNING:
    sample.mean= argument is missing, but model contains
    mean/intercept parameters.”

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

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

print(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 [Bro15] suggerisce di esaminare i Modification Indices. Tale esame mostra che il MI associato a x4 è molto alto, 18.916.

print(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"
)
Warning message in lavaan::lavaan(model = model2, sample.cov = covs, sample.nobs = 500, :
“lavaan WARNING:
    sample.mean= argument is missing, but model contains
    mean/intercept parameters.”

Esaminiamo gli indici di bontà di adattamento.

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

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

print(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"
)
Warning message in lavaan::lavaan(model = model3, sample.cov = covs, sample.nobs = 500, :
“lavaan WARNING:
    sample.mean= argument is missing, but model contains
    mean/intercept parameters.”

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

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

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

print(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 [Bro15] 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.

23.3. Saturazione sul fattore sbagliato#

Brown [Bro15] considera anche il caso opposto, ovvero quello nel quale il ricercatore ipotizza una saturazione spuria. Per i dati in discussione, si può avere la situazione presente.

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

Adattiamo il modello ai dati.

fit4 <- cfa(
  model4, 
  sample.cov = covs, 
  sample.nobs = 500, 
  mimic = "mplus"
)
Warning message in lavaan::lavaan(model = model4, sample.cov = covs, sample.nobs = 500, :
“lavaan WARNING:
    sample.mean= argument is missing, but model contains
    mean/intercept parameters.”

Esaminiamo la soluzione ottenuta.

print(summary(fit4, fit.measures = TRUE))
lavaan 0.6.15 ended normally after 59 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        40

  Number of observations                           500

Model Test User Model:
                                                      
  Test statistic                               212.717
  Degrees of freedom                                50
  P-value (Chi-square)                           0.000

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)                    0.898
  Tucker-Lewis Index (TLI)                       0.866

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)             -12010.051
  Loglikelihood unrestricted model (H1)     -11903.692
                                                      
  Akaike (AIC)                               24100.101
  Bayesian (BIC)                             24268.685
  Sample-size adjusted Bayesian (SABIC)      24141.723

Root Mean Square Error of Approximation:

  RMSEA                                          0.081
  90 Percent confidence interval - lower         0.070
  90 Percent confidence interval - upper         0.092
  P-value H_0: RMSEA <= 0.050                    0.000
  P-value H_0: RMSEA >= 0.080                    0.554

Standardized Root Mean Square Residual:

  SRMR                                           0.073

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.741    0.093    7.925    0.000
    x3                0.932    0.118    7.906    0.000
    x4                0.699    0.117    5.995    0.000
  socialm =~                                          
    x4                1.000                           
    x5                1.725    0.260    6.634    0.000
    x6                2.098    0.305    6.879    0.000
    x7                2.717    0.401    6.775    0.000
    x8                2.619    0.382    6.848    0.000
    x12               0.900    0.236    3.818    0.000
  enhancem =~                                         
    x9                1.000                           
    x10               0.638    0.076    8.408    0.000
    x11               0.767    0.094    8.153    0.000

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
  copingm ~~                                          
    socialm           0.410    0.072    5.663    0.000
    enhancem          0.661    0.148    4.456    0.000
  socialm ~~                                          
    enhancem          0.347    0.089    3.902    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
   .x12               0.000    0.119    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
    copingm           0.000                           
    socialm           0.000                           
    enhancem          0.000                           

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .x1                3.106    0.230   13.478    0.000
   .x2                1.686    0.125   13.449    0.000
   .x3                2.698    0.200   13.477    0.000
   .x4                0.463    0.069    6.719    0.000
   .x5                1.805    0.130   13.886    0.000
   .x6                1.378    0.115   12.022    0.000
   .x7                3.255    0.248   13.143    0.000
   .x8                2.418    0.194   12.455    0.000
   .x12               6.740    0.430   15.673    0.000
   .x9                3.891    0.436    8.933    0.000
   .x10               1.724    0.183    9.435    0.000
   .x11               4.662    0.371   12.579    0.000
    copingm           1.129    0.218    5.170    0.000
    socialm           0.397    0.111    3.566    0.000
    enhancem          3.277    0.524    6.258    0.000

È chiaro che il modello model4 è inadeguato. Il problema emerge chiaramente anche esaminando i MI.

print(modindices(fit4))
         lhs op rhs      mi    epc sepc.lv sepc.all sepc.nox
47   copingm =~  x5   0.090  0.036   0.038    0.022    0.022
48   copingm =~  x6   0.554  0.090   0.096    0.054    0.054
49   copingm =~  x7   0.107  0.055   0.059    0.024    0.024
50   copingm =~  x8   3.919 -0.306  -0.325   -0.143   -0.143
51   copingm =~ x12   6.109  0.499   0.530    0.199    0.199
52   copingm =~  x9   0.390 -0.096  -0.102   -0.038   -0.038
53   copingm =~ x10   0.027 -0.016  -0.017   -0.010   -0.010
54   copingm =~ x11   0.823  0.123   0.131    0.051    0.051
55   socialm =~  x1   1.990 -0.398  -0.251   -0.122   -0.122
56   socialm =~  x2   0.638  0.166   0.105    0.069    0.069
57   socialm =~  x3   0.372  0.160   0.101    0.053    0.053
58   socialm =~  x9   0.315 -0.130  -0.082   -0.031   -0.031
59   socialm =~ x10   1.423  0.179   0.113    0.064    0.064
60   socialm =~ x11   0.520 -0.150  -0.094   -0.037   -0.037
61  enhancem =~  x1   1.029  0.067   0.121    0.059    0.059
62  enhancem =~  x2   0.232  0.023   0.042    0.028    0.028
63  enhancem =~  x3   0.153 -0.024  -0.043   -0.023   -0.023
64  enhancem =~  x4   0.745 -0.031  -0.056   -0.040   -0.040
65  enhancem =~  x5   0.343 -0.028  -0.050   -0.029   -0.029
66  enhancem =~  x6   0.103  0.015   0.027    0.015    0.015
67  enhancem =~  x7   2.752 -0.110  -0.198   -0.080   -0.080
68  enhancem =~  x8   0.129 -0.021  -0.038   -0.017   -0.017
69  enhancem =~ x12 116.781  0.916   1.658    0.624    0.624
70        x1 ~~  x2   1.709  0.177   0.177    0.077    0.077
71        x1 ~~  x3   2.273 -0.257  -0.257   -0.089   -0.089
72        x1 ~~  x4   0.850  0.103   0.103    0.086    0.086
73        x1 ~~  x5   0.292 -0.064  -0.064   -0.027   -0.027
74        x1 ~~  x6   0.188 -0.048  -0.048   -0.023   -0.023
75        x1 ~~  x7   0.023 -0.025  -0.025   -0.008   -0.008
76        x1 ~~  x8   0.419 -0.093  -0.093   -0.034   -0.034
77        x1 ~~ x12   0.025 -0.034  -0.034   -0.007   -0.007
78        x1 ~~  x9   0.011  0.020   0.020    0.006    0.006
79        x1 ~~ x10   0.004  0.008   0.008    0.003    0.003
80        x1 ~~ x11   1.804  0.259   0.259    0.068    0.068
81        x2 ~~  x3   0.071 -0.034  -0.034   -0.016   -0.016
82        x2 ~~  x4   2.979 -0.143  -0.143   -0.162   -0.162
83        x2 ~~  x5   2.403  0.135   0.135    0.077    0.077
84        x2 ~~  x6   0.551  0.060   0.060    0.040    0.040
85        x2 ~~  x7   0.457 -0.081  -0.081   -0.035   -0.035
86        x2 ~~  x8   0.012  0.011   0.011    0.006    0.006
87        x2 ~~ x12   0.134 -0.058  -0.058   -0.017   -0.017
88        x2 ~~  x9   1.033  0.145   0.145    0.056    0.056
89        x2 ~~ x10   1.140 -0.100  -0.100   -0.058   -0.058
90        x2 ~~ x11   0.323  0.081   0.081    0.029    0.029
91        x3 ~~  x4   1.472  0.127   0.127    0.113    0.113
92        x3 ~~  x5   0.140  0.041   0.041    0.019    0.019
93        x3 ~~  x6   0.717  0.087   0.087    0.045    0.045
94        x3 ~~  x7   0.317  0.086   0.086    0.029    0.029
95        x3 ~~  x8   3.121 -0.237  -0.237   -0.093   -0.093
96        x3 ~~ x12   0.001  0.006   0.006    0.001    0.001
97        x3 ~~  x9   0.000  0.003   0.003    0.001    0.001
98        x3 ~~ x10   4.165 -0.241  -0.241   -0.111   -0.111
99        x3 ~~ x11   3.806  0.350   0.350    0.099    0.099
100       x4 ~~  x5   0.316 -0.036  -0.036   -0.039   -0.039
101       x4 ~~  x6   0.052 -0.015  -0.015   -0.019   -0.019
102       x4 ~~  x7   1.182  0.099   0.099    0.081    0.081
103       x4 ~~  x8   0.062 -0.021  -0.021   -0.020   -0.020
104       x4 ~~ x12   0.033  0.020   0.020    0.011    0.011
105       x4 ~~  x9   1.418 -0.115  -0.115   -0.086   -0.086
106       x4 ~~ x10   0.914  0.061   0.061    0.068    0.068
107       x4 ~~ x11   0.517 -0.068  -0.068   -0.047   -0.047
108       x5 ~~  x6   0.611  0.073   0.073    0.046    0.046
109       x5 ~~  x7   0.115 -0.045  -0.045   -0.019   -0.019
110       x5 ~~  x8   0.079  0.034   0.034    0.016    0.016
111       x5 ~~ x12   3.265 -0.302  -0.302   -0.087   -0.087
112       x5 ~~  x9   0.203  0.066   0.066    0.025    0.025
113       x5 ~~ x10   0.000  0.002   0.002    0.001    0.001
114       x5 ~~ x11   2.312 -0.224  -0.224   -0.077   -0.077
115       x6 ~~  x7   2.239 -0.200  -0.200   -0.094   -0.094
116       x6 ~~  x8   0.073  0.033   0.033    0.018    0.018
117       x6 ~~ x12   0.478  0.109   0.109    0.036    0.036
118       x6 ~~  x9   1.251 -0.153  -0.153   -0.066   -0.066
119       x6 ~~ x10   0.784  0.079   0.079    0.051    0.051
120       x6 ~~ x11   0.370  0.083   0.083    0.033    0.033
121       x7 ~~  x8   1.644  0.219   0.219    0.078    0.078
122       x7 ~~ x12   0.433 -0.152  -0.152   -0.032   -0.032
123       x7 ~~  x9   0.005 -0.015  -0.015   -0.004   -0.004
124       x7 ~~ x10   1.836 -0.179  -0.179   -0.076   -0.076
125       x7 ~~ x11   0.348 -0.119  -0.119   -0.031   -0.031
126       x8 ~~ x12   2.680 -0.335  -0.335   -0.083   -0.083
127       x8 ~~  x9   0.676  0.147   0.147    0.048    0.048
128       x8 ~~ x10   0.337  0.068   0.068    0.033    0.033
129       x8 ~~ x11   3.437 -0.330  -0.330   -0.098   -0.098
130      x12 ~~  x9   7.051  0.713   0.713    0.139    0.139
131      x12 ~~ x10   6.960  0.465   0.465    0.136    0.136
132      x12 ~~ x11  68.717  2.238   2.238    0.399    0.399
133       x9 ~~ x10   0.081  0.138   0.138    0.053    0.053
134       x9 ~~ x11   0.166  0.209   0.209    0.049    0.049
135      x10 ~~ x11   0.423 -0.211  -0.211   -0.075   -0.075

Il MI relativo alla saturazione di x12 su enhancem è uguale a 116.781. Chiaramente, in una revisione del modello, questo problema dovrebbe deve essere affrontato.

23.4. Commenti e considerazioni finali#

Gli esempi discussi da Brown [Bro15] mostrano come l’uso dei MI, insieme all’esame della soluzione fattoriale, possano essere usati dallo psicologo per migliorare il modello che viene proposto.