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