Composite Constructs
As of version 1.0.20, the modsem function
supports the estimation of models with composite constructs, when using
method="lms". The approach is based on Tamara Schamberger, Florian
Schuberth, Jörg Henseler & Yves Rosseel, 2015.
Here we can see a simple example, using the TPB
dataset.
tpb <- '
# Outer Model (Based on Hagger et al., 2007)
# Latent Variables
SN =~ sn1 + sn2
PBC =~ pbc1 + pbc2 + pbc3
INT =~ int1 + int2 + int3
# Composites
ATT <~ att1 + att2 + att3 + att4 + att5
BEH <~ b1 + b2
# Inner Model (Based on Steinmetz et al., 2011)
INT ~ ATT + SN + PBC
BEH ~ INT + PBC + INT:PBC
'
fit <- modsem(tpb, TPB, method = "lms", nodes = 32)
summary(fit)
#>
#> modsem (1.0.20) ended normally after 113 iterations
#>
#> Estimator LMS
#> Optimization method EMA-NLMINB
#> Number of model parameters 47
#>
#> Number of observations 2000
#>
#> Loglikelihood and Information Criteria:
#> Loglikelihood -26324.39
#> Akaike (AIC) 52742.77
#> Bayesian (BIC) 53006.02
#>
#> Numerical Integration:
#> Points of integration (per dim) 32
#> Dimensions 1
#> Total points of integration 32
#>
#> Fit Measures for Baseline Model (H0):
#> Standard
#> Chi-square 63.05
#> Degrees of Freedom (Chi-square) 71
#> P-value (Chi-square) 0.738
#> RMSEA 0.000
#>
#> Loglikelihood -26391.61
#> Akaike (AIC) 52875.22
#> Bayesian (BIC) 53132.86
#>
#> Comparative Fit to H0 (LRT test):
#> Loglikelihood change 67.22
#> Difference test (D) 134.45
#> Degrees of freedom (D) 1
#> P-value (D) 0.000
#>
#> R-Squared Interaction Model (H1):
#> INT 0.364
#> BEH 0.232
#> R-Squared Baseline Model (H0):
#> INT 0.364
#> BEH 0.186
#> R-Squared Change (H1 - H0):
#> INT 0.000
#> BEH 0.046
#>
#> Parameter Estimates:
#> Coefficients unstandardized
#> Information observed
#> Standard errors standard
#>
#> Latent Variables:
#> Estimate Std.Error z.value P(>|z|)
#> SN =~
#> sn1 1.000
#> sn2 0.888 0.017 52.605 0.000
#> PBC =~
#> pbc1 1.000
#> pbc2 0.912 0.013 69.340 0.000
#> pbc3 0.801 0.012 65.996 0.000
#> INT =~
#> int1 1.000
#> int2 0.913 0.015 59.047 0.000
#> int3 0.807 0.014 55.729 0.000
#>
#> Composites:
#> Estimate Std.Error z.value P(>|z|)
#> ATT <~
#> att1 1.000
#> att2 0.677 0.261 2.596 0.009
#> att3 0.870 0.279 3.118 0.002
#> att4 0.839 0.273 3.078 0.002
#> att5 1.124 0.313 3.588 0.000
#> BEH <~
#> b1 1.000
#> b2 1.322 0.312 4.241 0.000
#>
#> Regressions:
#> Estimate Std.Error z.value P(>|z|)
#> INT ~
#> SN 0.182 0.027 6.611 0.000
#> PBC 0.226 0.029 7.767 0.000
#> ATT 0.051 0.011 4.715 0.000
#> BEH ~
#> PBC 0.527 0.085 6.239 0.000
#> INT 0.430 0.081 5.296 0.000
#> INT:PBC 0.465 0.072 6.419 0.000
#>
#> Intercepts:
#> Estimate Std.Error z.value P(>|z|)
#> .pbc1 0.997 0.024 42.397 0.000
#> .pbc2 0.984 0.022 44.918 0.000
#> .pbc3 0.991 0.020 50.438 0.000
#> .sn1 1.005 0.024 41.641 0.000
#> .sn2 1.010 0.022 46.690 0.000
#> att1 1.014 0.024 41.988 0.000
#> att2 1.006 0.021 46.949 0.000
#> att3 1.016 0.020 51.437 0.000
#> att4 0.999 0.018 55.635 0.000
#> att5 0.992 0.022 45.654 0.000
#> .int1 1.013 0.022 46.946 0.000
#> .int2 1.012 0.020 50.388 0.000
#> .int3 1.005 0.018 54.788 0.000
#> b1 1.001 0.021 47.027 0.000
#> b2 1.019 0.020 51.092 0.000
#>
#> Covariances:
#> Estimate Std.Error z.value P(>|z|)
#> att2 ~~
#> att1 0.878
#> att3 ~~
#> att1 0.788
#> att2 0.692
#> att4 ~~
#> att1 0.693
#> att2 0.609
#> att3 0.547
#> att5 ~~
#> att1 0.885
#> att2 0.778
#> att3 0.698
#> att4 0.616
#> b2 ~~
#> b1 0.605
#> SN ~~
#> ATT 2.433 0.438 5.559 0.000
#> PBC ~~
#> SN 0.678 0.029 23.330 0.000
#> ATT 2.620 0.470 5.574 0.000
#>
#> Variances:
#> Estimate Std.Error z.value P(>|z|)
#> .pbc1 0.144 0.008 18.388 0.000
#> .pbc2 0.160 0.007 21.435 0.000
#> .pbc3 0.155 0.006 23.883 0.000
#> .sn1 0.178 0.015 12.075 0.000
#> .sn2 0.157 0.012 13.269 0.000
#> att1 1.166
#> att2 0.920
#> att3 0.781
#> att4 0.645
#> att5 0.944
#> .int1 0.157 0.009 18.099 0.000
#> .int2 0.160 0.008 20.409 0.000
#> .int3 0.168 0.007 23.552 0.000
#> b1 0.815
#> b2 0.716
#> SN 0.988 0.039 25.404 0.000
#> PBC 0.962 0.035 27.233 0.000
#> ATT 15.539 5.442 2.855 0.004
#> .INT 0.493 0.020 24.710 0.000
#> .BEH 2.766 0.735 3.764 0.000