library(INLAvaan)
# The industrialization and Political Democracy Example from Bollen (1989), page
# 332
model <- "
# Latent variable definitions
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + a*y2 + b*y3 + c*y4
dem65 =~ y5 + a*y6 + b*y7 + c*y8
# (Latent) regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60
# Residual correlations
y1 ~~ y5
y2 ~~ y4 + y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y8
"
utils::data("PoliticalDemocracy", package = "lavaan")
fit <- asem(model, PoliticalDemocracy)
#> ℹ Finding posterior mode.
#> ✔ Finding posterior mode. [117ms]
#>
#> ℹ Computing the Hessian.
#> ✔ Computing the Hessian. [93ms]
#>
#> ℹ Performing VB correction.
#> ✔ VB correction; mean |δ| = 0.176σ. [204ms]
#>
#> ⠙ Fitting 0/28 skew-normal marginals.
#> ✔ Fitting 28/28 skew-normal marginals. [1.3s]
#>
#> ℹ Adjusting copula correlations (NORTA).
#> ✔ Adjusting copula correlations (NORTA). [247ms]
#>
#> ⠙ Posterior sampling and summarising.
#> ⠹ Posterior sampling and summarising.
#> ✔ Posterior sampling and summarising. [828ms]
#>
summary(fit)
#> INLAvaan 0.2.4.9000 ended normally after 74 iterations
#>
#> Estimator BAYES
#> Optimization method NLMINB
#> Number of model parameters 28
#>
#> Number of observations 75
#>
#> Model Test (User Model):
#>
#> Marginal log-likelihood -1644.595
#> PPP (Chi-square) 0.537
#>
#> Information Criteria:
#>
#> Deviance (DIC) 3153.610
#> Effective parameters (pD) 27.638
#>
#> Parameter Estimates:
#>
#> Marginalisation method SKEWNORM
#> VB correction TRUE
#>
#> Latent Variables:
#> Estimate SD 2.5% 97.5% NMAD Prior
#> ind60 =~
#> x1 1.000
#> x2 2.220 0.147 1.952 2.530 0.007 normal(0,10)
#> x3 1.840 0.155 1.550 2.157 0.004 normal(0,10)
#> dem60 =~
#> y1 1.000
#> y2 (a) 1.211 0.145 0.944 1.512 0.004 normal(0,10)
#> y3 (b) 1.189 0.122 0.965 1.443 0.005 normal(0,10)
#> y4 (c) 1.276 0.128 1.045 1.548 0.007 normal(0,10)
#> dem65 =~
#> y5 1.000
#> y6 (a) 1.211 0.145 0.944 1.512 0.004 normal(0,10)
#> y7 (b) 1.189 0.122 0.965 1.443 0.005 normal(0,10)
#> y8 (c) 1.276 0.128 1.045 1.548 0.007 normal(0,10)
#>
#> Regressions:
#> Estimate SD 2.5% 97.5% NMAD Prior
#> dem60 ~
#> ind60 1.469 0.391 0.717 2.253 0.002 normal(0,10)
#> dem65 ~
#> ind60 0.587 0.242 0.120 1.068 0.000 normal(0,10)
#> dem60 0.868 0.077 0.722 1.024 0.004 normal(0,10)
#>
#> Covariances:
#> Estimate SD 2.5% 97.5% NMAD Prior
#> .y1 ~~
#> .y5 0.276 0.385 -0.004 1.505 0.003 beta(1,1)
#> .y2 ~~
#> .y4 0.272 0.708 0.178 2.956 0.007 beta(1,1)
#> .y6 0.343 0.761 0.803 3.792 0.012 beta(1,1)
#> .y3 ~~
#> .y7 0.179 0.631 -0.435 2.039 0.006 beta(1,1)
#> .y4 ~~
#> .y8 0.106 0.478 -0.489 1.387 0.004 beta(1,1)
#> .y6 ~~
#> .y8 0.313 0.567 0.238 2.461 0.005 beta(1,1)
#>
#> Variances:
#> Estimate SD 2.5% 97.5% NMAD Prior
#> .x1 0.089 0.021 0.053 0.135 0.006 gamma(1,.5)[sd]
#> .x2 0.130 0.066 0.030 0.278 0.031 gamma(1,.5)[sd]
#> .x3 0.501 0.099 0.338 0.723 0.003 gamma(1,.5)[sd]
#> .y1 2.016 0.495 1.177 3.108 0.010 gamma(1,.5)[sd]
#> .y2 7.902 1.422 5.509 11.065 0.000 gamma(1,.5)[sd]
#> .y3 5.260 1.043 3.539 7.609 0.001 gamma(1,.5)[sd]
#> .y4 3.387 0.782 2.045 5.099 0.007 gamma(1,.5)[sd]
#> .y5 2.487 0.529 1.605 3.670 0.005 gamma(1,.5)[sd]
#> .y6 5.187 0.950 3.584 7.293 0.002 gamma(1,.5)[sd]
#> .y7 3.773 0.794 2.449 5.548 0.006 gamma(1,.5)[sd]
#> .y8 3.440 0.743 2.170 5.073 0.006 gamma(1,.5)[sd]
#> ind60 0.454 0.089 0.308 0.653 0.003 gamma(1,.5)[sd]
#> .dem60 3.941 0.900 2.447 5.959 0.002 gamma(1,.5)[sd]
#> .dem65 0.270 0.193 0.026 0.735 0.044 gamma(1,.5)[sd]