38.7 Interpretazione
Dato che il modello si adatta bene ai dati, interpretiamo i risultati ottenuti.
summary(full_fit)
#> lavaan 0.6.15 ended normally after 65 iterations
#>
#> Estimator ML
#> Optimization method NLMINB
#> Number of model parameters 29
#>
#> Number of observations 500
#>
#> Model Test User Model:
#> Standard Scaled
#> Test Statistic 28.456 28.233
#> Degrees of freedom 34 34
#> P-value (Chi-square) 0.736 0.746
#> Scaling correction factor 1.008
#> Yuan-Bentler correction (Mplus variant)
#>
#> Parameter Estimates:
#>
#> Standard errors Sandwich
#> Information bread Observed
#> Observed information based on Hessian
#>
#> Latent Variables:
#> Estimate Std.Err z-value P(>|z|)
#> iX =~
#> x1 1.000
#> x2 1.000
#> x3 1.000
#> x4 1.000
#> sX =~
#> x1 0.000
#> x2 1.000
#> x3 2.000
#> x4 3.000
#> iY =~
#> y1 1.000
#> y2 1.000
#> y3 1.000
#> y4 1.000
#> sY =~
#> y1 0.000
#> y2 1.000
#> y3 2.000
#> y4 3.000
#> qY =~
#> y1 0.000
#> y2 1.000
#> y3 4.000
#> y4 9.000
#>
#> Regressions:
#> Estimate Std.Err z-value P(>|z|)
#> qY ~
#> predictor 0.041 0.048 0.850 0.395
#> iY ~
#> predictor 0.034 0.060 0.564 0.573
#> sX ~
#> predictor 0.008 0.051 0.161 0.872
#> iX ~
#> predictor 0.067 0.060 1.119 0.263
#> sY ~
#> predictor (a1) 2.022 0.079 25.545 0.000
#> outcome ~
#> iX 1.994 0.145 13.755 0.000
#> sX -0.017 0.146 -0.115 0.908
#> iY -0.028 0.186 -0.149 0.881
#> sY (b1) 2.973 0.104 28.596 0.000
#> qY -0.242 0.161 -1.510 0.131
#>
#> Intercepts:
#> Estimate Std.Err z-value P(>|z|)
#> .x1 0.000
#> .x2 0.000
#> .x3 0.000
#> .x4 0.000
#> .y1 0.000
#> .y2 0.000
#> .y3 0.000
#> .y4 0.000
#> .outcome 0.000
#> .iX 1.976 0.059 33.700 0.000
#> .sX 0.991 0.051 19.350 0.000
#> .iY 0.031 0.061 0.508 0.611
#> .sY -1.153 0.082 -14.019 0.000
#> .qY -1.548 0.048 -32.151 0.000
#>
#> Variances:
#> Estimate Std.Err z-value P(>|z|)
#> .x1 1.067 0.099 10.777 0.000
#> .x2 0.885 0.069 12.924 0.000
#> .x3 0.983 0.104 9.492 0.000
#> .x4 1.113 0.197 5.646 0.000
#> .y1 0.961 0.107 8.991 0.000
#> .y2 0.868 0.083 10.470 0.000
#> .y3 0.996 0.179 5.557 0.000
#> .y4 2.467 0.949 2.601 0.009
#> .outcome 0.814 0.927 0.878 0.380
#> .iX 1.043 0.100 10.444 0.000
#> .sX 1.094 0.076 14.393 0.000
#> .iY 1.040 0.108 9.595 0.000
#> .sY 1.131 0.125 9.078 0.000
#> .qY 0.927 0.068 13.684 0.000
#>
#> Defined Parameters:
#> Estimate Std.Err z-value P(>|z|)
#> predctr_sY_tcm 6.011 0.159 37.874 0.000
Tra i coefficienti di regressione, quando viene considerata la variabile di esito (outcome
), vi sono solo due risultati con \(p < .05\): quelli relativi a iX
e sY
. Ciò significa che il modello offre evidenze di una associazione tra iX
e sY
e la variabile di esito. La grandezza dei coefficienti suggerisce che sY
ha un impatto maggiore su outcome
rispetto a iX
. In altre parole, sia i livelli iniziali della x
, sia il tasso lineare di cambiamento della y
predicono outcome
. L’effetto è positivo per entrambe le variabili: livelli maggiori dei valori x
nella prima rilevazione temporale e tassi di cambiamento più rapidi nella y
portano entrambi un aumento nel valore atteso di outcome
.
L’esempio discusso include anche la covariata predictor
, la quale è invariante nel tempo. Poiché vi sono evidenze di un’associazione tra predictor
e sY
, e poiché vi sono evidenze di un’associazione tra sY
e outcome
, è ragionevole esaminare con più attenzione un tale effetto di mediazione.
Per testare gli effetti indiretti è consigliato usare la tecnica di bootstrapping, in quanto gli intervalli di confidenza ottenuti con questa tecnica risultano più affidabili di quelli ottenibili mediante tecniche parametriche basate su ipotesi distributive stringenti relative alle distribuzioni dei parametri.
Il bootstrapping è una tecnica statistica di ricampionamento con reimmissione spesso usata per la costruzione di intervalli di confidenza delle stime degli effetti indiretti. Il bootstrapping produce intervalli di confidenza più affidabili rispetto a quelli che possono essere ottenuti usando metodi parametrici. Per velocizzare la simulazione, esaminiamo qui solo 500 bootstrap samples (in generale, è meglio usare un numero di simulazioni molto maggiore).
final_fit_boot <-
growth(full_fit,
data = sim_growth_dat,
estimator = "ML",
meanstructure = T,
se = "bootstrap",
bootstrap = 500, # ~5000 better
parallel = "multicore"
)
parameterEstimates(
final_fit_boot,
level = .95,
boot.ci.type = "bca.simple",
stand = TRUE
)[61, c(4, 5, 9, 10)]
#> label est ci.lower ci.upper
#> 61 predictor_sY_outcome 6.011 5.68 6.325
Possiamo dunque concludere che il livello della y
nella prima rilevazione temporale funge da mediazione tra predictor
e outcome
, con un effetto non standardizzato pari a 6.01, 95% bootstrap CI [5.71, 6.34].