SAM - Model-based reliability latent variables = 1?

92 views
Skip to first unread message

Elisa Ugarte

unread,
May 23, 2024, 1:29:23 PM5/23/24
to lavaan
Hello,
I've recently tried to apply this function to my data and I'm not sure I am understanding the function or output correctly. I went through the 2023 paper and the forum, but I have yet to understand what is wrong with my model since I do not trust the reliability to be 1. I first ran measurement models (CFA) using std.lv = T, auto.fix.first = F.  Indicators are ordinal in the data set. Models had good fit. Then, I ran SAM to include a regression.
If anyone can pinpoint what I'm doing wrong, would appreciate some answers!
Thanks,
Elisa


Here's my code:

model_jptsd <- "

## Measurement
f1H_migration =~ htq1_05 + htq1_06  + htq1_17
f2H_isolation =~ htq1_19 + htq1_21 + htq1_30_34
f3H_victimization =~ htq1_7_10 + htq1_8_9 + htq1_11 + htq1_13_18 + htq1_14 + htq1_16 + htq1_20_24 + htq1_22  + htq1_25_to_29 + htq1_23
f4H_violencemig =~ htq1_04 + htq1_12_36 +  htq1_15 + htq1_32 + htq1_35
f5H_witness =~ htq1_39 + htq1_37 + htq1_38
htq1_04 ~~ htq1_15

f2A_abuse =~ ace_4_6 + ace_4_7 + ace_4_8 + ace_5_1 + ace_5_2 + ace_5_3 + ace_5_4 + ace_6_1 + ace_6_3
f3A_sexual =~ ace_2_1R + ace_2_2R + ace_3_1 + ace_3_2 + ace_4_1 + ace_5_5 + ace_5_6 + ace_5_7 + ace_5_8
f4A_comviolence =~ ace_7_1 + ace_7_2 + ace_7_3
ace_3_2 ~~ ace_4_1
ace_2_1R ~~ ace_2_2R
ace_4_6 ~~  ace_4_7
ace_4_7 ~~  ace_4_8

### Structural
htq_ptsd_total ~ f1H_migration + f2H_isolation + f3H_victimization + f4H_violencemig + f5H_witness + f2A_abuse + f3A_sexual +  f4A_comviolence + q102b_guess_age
 
"

fit <- sam(model_jptsd, data = data, cmd = "sem", mm.list = list("f1H_migration", "f2H_isolation" , "f3H_victimization", "f4H_violencemig", "f5H_witness", "f2A_abuse", "f3A_sexual", "f4A_comviolence"), mm.args = list(std.lv = T, auto.fix.first = F))

Results
SAM method                                     LOCAL
  Mapping matrix M method                           ML
  Number of measurement blocks                       8
  Estimator measurement part                      DWLS
  Estimator  structural part                        ML

                                                  Used       Total
  Number of observations                          2720        2965

Summary Information Measurement + Structural:

  Block            Latent Nind    Chisq Df
      1     f1H_migration    3  113.385  0
      2     f2H_isolation    3    0.406  0
      3 f3H_victimization   10  250.329 35
      4   f4H_violencemig    5  198.698  4
      5       f5H_witness    3  169.985  0
      6         f2A_abuse    9 1041.368 25
      7        f3A_sexual    9  732.371 25
      8   f4A_comviolence    3  234.394  0

  Model-based reliability latent variables:

  f1H_migration f2H_isolation f3H_victimization f4H_violencemig f5H_witness f2A_abuse f3A_sexual
              1             1                 1               1           1         1          1
  f4A_comviolence htq_ptsd_total q102b_guess_age
                1              1               1

  Summary Information Structural part:

  chisq df cfi rmsea srmr
      0  0   1     0    0

Parameter Estimates:

  Parameterization                               Delta
  Standard errors                              Twostep
  Information                                 Expected
  Information saturated (h1) model        Unstructured

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  htq_ptsd_total ~                                                      
    f1H_migration     0.009    0.015    0.631    0.528    0.009    0.017
    f2H_isolation     0.062    0.018    3.510    0.000    0.062    0.117
    f3H_victimiztn    0.118    0.011   10.727    0.000    0.118    0.222
    f4H_violencemg    0.008    0.011    0.746    0.455    0.008    0.016
    f5H_witness       0.052    0.013    3.919    0.000    0.052    0.099
    f2A_abuse         0.144    0.008   17.156    0.000    0.143    0.271
    f3A_sexual        0.008    0.005    1.401    0.161    0.010    0.020
    f4A_comviolenc    0.029    0.012    2.390    0.017    0.029    0.054
    q102b_guess_ag    0.008    0.002    4.648    0.000    0.008    0.092

Covariances:
                       Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  f1H_migration ~~                                                          
    f2H_isolation         0.199    0.027    7.354    0.000    0.199    0.199
    f3H_victimiztn        0.106    0.017    6.321    0.000    0.106    0.106
    f4H_violencemg        0.399    0.018   22.220    0.000    0.374    0.374
    f5H_witness           0.381    0.017   22.276    0.000    0.381    0.381
    f2A_abuse             0.087    0.011    7.890    0.000    0.087    0.087
    f3A_sexual           -0.056    0.017   -3.242    0.001   -0.040   -0.040
    f4A_comviolenc        0.184    0.016   11.430    0.000    0.184    0.184
  f2H_isolation ~~                                                          
    f3H_victimiztn        0.276    0.026   10.742    0.000    0.276    0.276
    f4H_violencemg        0.157    0.021    7.362    0.000    0.147    0.147
    f5H_witness           0.374    0.031   12.048    0.000    0.374    0.374
    f2A_abuse             0.088    0.014    6.148    0.000    0.088    0.088
    f3A_sexual            0.089    0.022    4.052    0.000    0.064    0.064
    f4A_comviolenc        0.074    0.021    3.599    0.000    0.074    0.074
  f3H_victimization ~~                                                      
    f4H_violencemg        0.141    0.014    9.977    0.000    0.132    0.132
    f5H_witness           0.226    0.014   16.053    0.000    0.226    0.226
    f2A_abuse             0.144    0.010   14.400    0.000    0.145    0.145
    f3A_sexual           -0.066    0.014   -4.614    0.000   -0.048   -0.048
    f4A_comviolenc       -0.008    0.014   -0.527    0.598   -0.008   -0.008
  f4H_violencemig ~~                                                        
    f5H_witness           0.156    0.013   11.795    0.000    0.146    0.146
    f2A_abuse            -0.054    0.009   -5.645    0.000   -0.050   -0.050
    f3A_sexual           -0.068    0.016   -4.386    0.000   -0.046   -0.046
    f4A_comviolenc       -0.077    0.014   -5.349    0.000   -0.072   -0.072
  f5H_witness ~~                                                            
    f2A_abuse             0.124    0.009   13.154    0.000    0.125    0.125
    f3A_sexual           -0.063    0.015   -4.186    0.000   -0.045   -0.045
    f4A_comviolenc        0.150    0.014   10.509    0.000    0.150    0.150
  f2A_abuse ~~                                                              
    f3A_sexual            0.001    0.010    0.136    0.892    0.001    0.001
    f4A_comviolenc        0.347    0.012   28.144    0.000    0.349    0.349
  f3A_sexual ~~                                                            
    f4A_comviolenc       -0.022    0.015   -1.401    0.161   -0.016   -0.016

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .htq_ptsd_total    1.886    0.011  173.537    0.000    1.886    3.564
    q102b_guess_ag    0.000    0.136    0.000    1.000    0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .htq_ptsd_total    0.213    0.010   21.645    0.000    0.213    0.761
    f1H_migration     1.000    0.049   20.222    0.000    1.000    1.000
    f2H_isolation     1.000    0.159    6.293    0.000    1.000    1.000
    f3H_victimiztn    1.000    0.060   16.553    0.000    1.000    1.000
    f4H_violencemg    1.136    0.080   14.207    0.000    1.000    1.000
    f5H_witness       1.000    0.041   24.510    0.000    1.000    1.000
    f2A_abuse         0.992    0.031   32.262    0.000    1.000    1.000
    f3A_sexual        1.924    0.216    8.919    0.000    1.000    1.000
    f4A_comviolenc    1.000    0.043   23.015    0.000    1.000    1.000
    q102b_guess_ag   34.455    0.827   41.655    0.000   34.455    1.000

Yves Rosseel

unread,
Jun 2, 2024, 9:56:41 AM6/2/24
to lav...@googlegroups.com
Hi,

sam() does not work well (yet) if you use std.lv = TRUE as a local
argument within mm.args(), while the 'global' model is using std.lv = FALSE.

So remove the mm.args=list() argument altogether, and directly use
std.lv = TRUE instead.

Still, at least a warning should be given. I opened an issue about this
on github so I don't forget.

Yves.

On 5/23/24 7:29 PM, 'Elisa Ugarte' via lavaan wrote:
> Hello,
> I've recently tried to apply this function to my data and I'm not sure I
> am understanding the function or output correctly. I went through the
> 2023 paper and the forum, but I have yet to understand what is wrong
> with my model since I do not trust the reliability to be 1. I first ran
> measurement models (CFA) using std.lv = T, auto.fix.first = F.
> Indicators are ordinal in the data set. Models had good fit. Then, I ran
> SAM to include a regression.
> If anyone can pinpoint what I'm doing wrong, would appreciate some answers!
> Thanks,
> Elisa
>
>
> *Here's my code:*
> *Results*
> --
> You received this message because you are subscribed to the Google
> Groups "lavaan" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to lavaan+un...@googlegroups.com
> <mailto:lavaan+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/lavaan/ee650b00-ab84-4f22-aad3-54435dfa1501n%40googlegroups.com <https://groups.google.com/d/msgid/lavaan/ee650b00-ab84-4f22-aad3-54435dfa1501n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Yves Rosseel
Department of Data Analysis, Ghent University

Please consider donating to the lavaan project:
https://lavaan.org/about/donate.html
Reply all
Reply to author
Forward
0 new messages