Skip to contents

Dynamics Description

The Escalating Co-Activation process represents a bivariate dynamic system in which two latent constructs—such as stress and rumination—mutually reinforce each other over time. Both constructs display strong autoregressive effects, indicating persistence, and positive cross-effects, suggesting that increases in one tend to amplify the other in subsequent time points.

At the population level, this pattern yields a slow return to equilibrium and, in some cases, near-unstable trajectories that can produce sustained co-activation or escalation. Between-person variability in the transition parameters captures individual differences in the strength of this self-reinforcing loop. The process noise covariance is relatively large and positively correlated, representing shared perturbations that drive both variables upward, while measurement error variance is moderate, reflecting realistic self-report imprecision.

This configuration models a vicious cycle dynamic—common in maladaptive emotional or cognitive processes—where mutual amplification between system components (e.g., stress and rumination) can sustain or exacerbate dysregulation over time.

Model

The measurement model is given by 𝐲i,t=𝛎i+𝚲𝛈i,t+𝛆i,t,with𝛆i,t𝒩(𝟎,𝚯)\begin{equation} \mathbf{y}_{i, t} = \boldsymbol{\nu}_{i} + \boldsymbol{\Lambda} \boldsymbol{\eta}_{i, t} + \boldsymbol{\varepsilon}_{i, t}, \quad \mathrm{with} \quad \boldsymbol{\varepsilon}_{i, t} \sim \mathcal{N} \left( \mathbf{0}, \boldsymbol{\Theta} \right) \end{equation} where 𝐲i,t\mathbf{y}_{i, t}, 𝛈i,t\boldsymbol{\eta}_{i, t}, and 𝛆i,t\boldsymbol{\varepsilon}_{i, t} are random variables and 𝛎i\boldsymbol{\nu}_{i}, 𝚲\boldsymbol{\Lambda}, and 𝚯\boldsymbol{\Theta} are model parameters. 𝐲i,t\mathbf{y}_{i, t} represents a vector of observed random variables, 𝛈i,t\boldsymbol{\eta}_{i, t} a vector of latent random variables, and 𝛆i,t\boldsymbol{\varepsilon}_{i, t} a vector of random measurement errors, at time tt and individual ii. 𝚲\boldsymbol{\Lambda} denotes a matrix of factor loadings, and 𝚯\boldsymbol{\Theta} the covariance matrix of 𝛆\boldsymbol{\varepsilon} that is invariant across individuals. In this model, 𝚲\boldsymbol{\Lambda} is an identity matrix and 𝚯\boldsymbol{\Theta} is a symmetric matrix.

The dynamic structure is given by 𝛈i,t=𝛃i𝛈i,t1+𝛇i,t,with𝛇i,t𝒩(𝟎,𝚿)\begin{equation} \boldsymbol{\eta}_{i, t} = \boldsymbol{\beta}_{i} \boldsymbol{\eta}_{i, t - 1} + \boldsymbol{\zeta}_{i, t}, \quad \mathrm{with} \quad \boldsymbol{\zeta}_{i, t} \sim \mathcal{N} \left( \mathbf{0}, \boldsymbol{\Psi} \right) \end{equation} where 𝛈i,t\boldsymbol{\eta}_{i, t}, 𝛈i,t1\boldsymbol{\eta}_{i, t - 1}, and 𝛇i,t\boldsymbol{\zeta}_{i, t} are random variables, and 𝛃i\boldsymbol{\beta}_{i}, and 𝚿\boldsymbol{\Psi} are model parameters. Here, 𝛈i,t\boldsymbol{\eta}_{i, t} is a vector of latent variables at time tt and individual ii, 𝛈i,t1\boldsymbol{\eta}_{i, t - 1} represents a vector of latent variables at time t1t - 1 and individual ii, and 𝛇i,t\boldsymbol{\zeta}_{i, t} represents a vector of dynamic noise at time tt and individual ii. 𝛃i\boldsymbol{\beta}_{i} is a matrix of autoregression and cross regression coefficients for individual ii, and 𝚿\boldsymbol{\Psi} the covariance matrix of 𝛇i,t\boldsymbol{\zeta}_{i, t} that is invariant across all individuals. In this model, 𝚿\boldsymbol{\Psi} is a symmetric matrix.

Data Generation

Notation

Let t=100t = 100 be the number of time points and n=100n = 100 be the number of individuals. We simulate a total of time =10100= 10100 points per individual, discarding the first 1000010000 as burn-in. The analysis uses the final 100100 measurement occasions.

Let the measurement model intercept vector 𝛎\boldsymbol{\nu} be normally distributed with the following means

(11)\begin{equation} \left( \begin{array}{c} 1 \\ 1 \\ \end{array} \right) \end{equation}

and covariance matrix

(0.250.20.20.25).\begin{equation} \left( \begin{array}{cc} 0.25 & 0.2 \\ 0.2 & 0.25 \\ \end{array} \right) . \end{equation}

Let the factor loadings matrix 𝚲\boldsymbol{\Lambda} be given by

𝚲=(1001).\begin{equation} \boldsymbol{\Lambda} = \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} \right) . \end{equation}

Let the measurement error covariance matrix 𝚯\boldsymbol{\Theta} be given by

𝚯=(0.5000.5).\begin{equation} \boldsymbol{\Theta} = \left( \begin{array}{cc} 0.5 & 0 \\ 0 & 0.5 \\ \end{array} \right) . \end{equation}

Let the initial condition 𝛈0\boldsymbol{\eta}_{0} be given by

𝛈0𝒩(𝛍𝛈0,𝚺𝛈0).\begin{equation} \boldsymbol{\eta}_{0} \sim \mathcal{N} \left( \boldsymbol{\mu}_{\boldsymbol{\eta} \mid 0}, \boldsymbol{\Sigma}_{\boldsymbol{\eta} \mid 0} \right) . \end{equation}

𝛍𝛈0\boldsymbol{\mu}_{\boldsymbol{\eta} \mid 0} and 𝚺𝛈0\boldsymbol{\Sigma}_{\boldsymbol{\eta} \mid 0} are functions of 𝛂\boldsymbol{\alpha} and 𝛃\boldsymbol{\beta}.

Let the transition matrix 𝛃\boldsymbol{\beta} be normally distributed with the following means

(0.80.250.20.85)\begin{equation} \left( \begin{array}{cc} 0.8 & 0.25 \\ 0.2 & 0.85 \\ \end{array} \right) \end{equation}

and covariance matrix

(0.040.020.0150.010.020.030.010.0150.0150.010.030.020.010.0150.020.04).\begin{equation} \left( \begin{array}{cccc} 0.04 & 0.02 & 0.015 & 0.01 \\ 0.02 & 0.03 & 0.01 & 0.015 \\ 0.015 & 0.01 & 0.03 & 0.02 \\ 0.01 & 0.015 & 0.02 & 0.04 \\ \end{array} \right) . \end{equation}

Let the intercept vector 𝛂\boldsymbol{\alpha} be fixed to a zero vector.

The SimNuN and SimBetaN functions from the simStateSpace package generate random intercept vectors and transition matrices from the multivariate normal distribution. Note that the SimBetaN function generates transition matrices that are weakly stationary with an option to set lower and upper bounds.

Let the dynamic process noise 𝚿\boldsymbol{\Psi} be given by

𝚿=(0.350.20.20.4).\begin{equation} \boldsymbol{\Psi} = \left( \begin{array}{cc} 0.35 & 0.2 \\ 0.2 & 0.4 \\ \end{array} \right) . \end{equation}

R Function Arguments

n
#> [1] 100
time
#> [1] 10100
burnin
#> [1] 10000
# first mu0 in the list of length n
mu0[[1]]
#> [1] 0 0
# first sigma0 in the list of length n
sigma0[[1]]
#>           [,1]      [,2]
#> [1,] 0.4390926 0.2988029
#> [2,] 0.2988029 0.7801401
# first sigma0_l in the list of length n
sigma0_l[[1]] # sigma0_l <- t(chol(sigma0))
#>           [,1]      [,2]
#> [1,] 0.6626406 0.0000000
#> [2,] 0.4509276 0.7594764
alpha
#> [[1]]
#> [1] 0 0
# first beta in the list of length n
beta[[1]]
#>            [,1]       [,2]
#> [1,]  0.3978376 0.06747857
#> [2,] -0.1527304 0.74955797
# first psi in the list of length n
psi[[1]]
#>      [,1] [,2]
#> [1,] 0.35  0.2
#> [2,] 0.20  0.4
psi_l[[1]] # psi_l <- t(chol(psi))
#>           [,1]      [,2]
#> [1,] 0.5916080 0.0000000
#> [2,] 0.3380617 0.5345225
# first nu in the list of length n
nu[[1]]
#> [1] 1.224772 1.229428
lambda
#> [[1]]
#>      [,1] [,2]
#> [1,]    1    0
#> [2,]    0    1
# first theta in the list of length n
theta[[1]]
#>      [,1] [,2]
#> [1,]  0.5  0.0
#> [2,]  0.0  0.5
theta_l[[1]] # theta_l <- t(chol(theta))
#>           [,1]      [,2]
#> [1,] 0.7071068 0.0000000
#> [2,] 0.0000000 0.7071068

Visualizing the Dynamics Without Process Noise and Measurement Error (n = 5 with Different Initial Condition)

Using the SimSSMIVary Function from the simStateSpace Package to Simulate Data

library(simStateSpace)
sim <- SimSSMIVary(
  n = n,
  time = time,
  mu0 = mu0,
  sigma0_l = sigma0_l,
  alpha = alpha,
  beta = beta,
  psi_l = psi_l,
  nu = nu,
  lambda = lambda,
  theta_l = theta_l
)
data <- as.data.frame(sim, burnin = burnin)
head(data)
#>   id time        y1         y2
#> 1  1    0 2.2422584  2.2786663
#> 2  1    1 1.1771161  0.2379556
#> 3  1    2 0.7207619  0.8442931
#> 4  1    3 2.3190264  1.7270009
#> 5  1    4 0.7824021  0.2003718
#> 6  1    5 0.3012299 -0.1346925
plot(sim, burnin = burnin)

Model Fitting

The FitDTVARMxID function fits a DT-VAR model on each individual ii. To set up the estimation, we first provide starting values for each parameter matrix.

Autoregressive Parameters (beta)

We initialize the autoregressive coefficient matrix 𝛃\boldsymbol{\beta} with the true values used in simulation.

beta_values <- beta

Intercepts (nu)

The intercept vector 𝛎\boldsymbol{\nu} is initialized with starting values.

nu_values <- nu

LDL’-parameterized covariance matrices

Covariances such as psi and theta are estimated using the LDL’ decomposition of a positive definite covariance matrix. The decomposition expresses a covariance matrix Σ\Sigma as

𝚺=(𝐋+𝐈)diag(Softplus(𝐝uc))(𝐋+𝐈),\begin{equation} \boldsymbol{\Sigma} = \left( \mathbf{L} + \mathbf{I} \right) \mathrm{diag} \left( \mathrm{Softplus} \left( \mathbf{d}_{uc} \right) \right) \left( \mathbf{L} + \mathbf{I} \right)^{\prime}, \end{equation}

where:

  • 𝐋\mathbf{L} is a strictly lower-triangular matrix of free parameters (l_mat_strict),
  • 𝐈\mathbf{I} is the identity matrix,
  • 𝐝uc\mathbf{d}_{uc} is an unconstrained vector,
  • Softplus(𝐝uc)=log(1+exp(𝐝uc))\mathrm{Softplus} \left(\mathbf{d}_{uc} \right) = \log \left(1 + \exp \left( \mathbf{d}_{uc} \right) \right) ensures strictly positive diagonal entries.

The LDL() function extracts this decomposition from a positive definite covariance matrix. It returns:

  • d_uc: unconstrained diagonal parameters, equal to InvSoftplus(d_vec),
  • d_vec: diagonal entries, equal to Softplus(d_uc),
  • l_mat_strict: the strictly lower-triangular factor.
sigma <- matrix(
  data = c(1.0, 0.5, 0.5, 1.0),
  nrow = 2,
  ncol = 2
)

ldl_sigma <- LDL(sigma)
d_uc <- ldl_sigma$d_uc
l_mat_strict <- ldl_sigma$l_mat_strict
I <- diag(2)
sigma_reconstructed <- (l_mat_strict + I) %*% diag(log1p(exp(d_uc)), 2) %*% t(l_mat_strict + I)
sigma_reconstructed
#>      [,1] [,2]
#> [1,]  1.0  0.5
#> [2,]  0.5  1.0

Process Noise Covariance Matrix (psi)

Starting values for the process noise covariance matrix 𝚿\boldsymbol{\Psi} are given below, with corresponding LDL’ parameters.

psi_values <- psi[[1]]
ldl_psi_values <- LDL(psi_values)
psi_d_values <- ldl_psi_values$d_uc
psi_l_values <- ldl_psi_values$l_mat_strict
psi_d_values
#> [1] -0.8697232 -1.1065068
psi_l_values
#>           [,1] [,2]
#> [1,] 0.0000000    0
#> [2,] 0.5714286    0

Measurement Error Covariance Matrix (theta)

Starting values for the measurement error covariance matrix 𝚯\boldsymbol{\Theta} are given below, with corresponding LDL’ parameters.

theta_values <- theta[[1]]
ldl_theta_values <- LDL(theta_values)
theta_d_values <- ldl_theta_values$d_uc
theta_l_values <- ldl_theta_values$l_mat_strict
theta_d_values
#> [1] -0.4327521 -0.4327521
theta_l_values
#>      [,1] [,2]
#> [1,]    0    0
#> [2,]    0    0

Initial mean vector (mu_0) and covariance matrix (sigma_0)

The initial mean vector 𝛍𝟎\boldsymbol{\mu_0} and covariance matrix 𝚺𝟎\boldsymbol{\Sigma_0} are fixed using mu0 and sigma0.

mu0_values <- mu0
sigma0_values <- lapply(
  X = sigma0,
  FUN = LDL
)
sigma0_d_values <- lapply(
  X = sigma0_values,
  FUN = function(i) {
    i$d_uc
  }
)
sigma0_l_values <- lapply(
  X = sigma0_values,
  FUN = function(i) {
    i$l_mat_strict
  }
)

FitDTVARMxID

fit <- FitDTVARMxID(
  data = data,
  observed = c("y1", "y2"),
  id = "id",
  beta_values = beta_values,
  psi_d_values = psi_d_values,
  psi_l_values = psi_l_values,
  nu_values = nu_values,
  theta_d_values = theta_d_values,
  mu0_values = mu0_values,
  sigma0_d_values = sigma0_d_values,
  sigma0_l_values = sigma0_l_values,
  ncores = parallel::detectCores()
)

Parameter estimates

summary(fit, converged = FALSE)
#> Call:
#> FitDTVARMxID(data = data, observed = c("y1", "y2"), id = "id", 
#>     beta_values = beta_values, psi_d_values = psi_d_values, psi_l_values = psi_l_values, 
#>     nu_values = nu_values, theta_d_values = theta_d_values, mu0_values = mu0_values, 
#>     sigma0_d_values = sigma0_d_values, sigma0_l_values = sigma0_l_values, 
#>     ncores = parallel::detectCores())
#> 
#> Estimated paramaters per individual.
#>                              beta_1_1 beta_2_1 beta_1_2 beta_2_2  nu_1_1
#> FitDTVARMxID_DTVAR_ID1.Rds     0.3326  -0.0871   0.1027   0.8995  1.1910
#> FitDTVARMxID_DTVAR_ID2.Rds    -1.0400  -0.2197   0.5260   0.7880  0.8843
#> FitDTVARMxID_DTVAR_ID3.Rds     0.8215  -0.1016   0.3112   1.0197  0.7608
#> FitDTVARMxID_DTVAR_ID4.Rds     0.3366  -0.0933   0.0541   0.8323  0.2314
#> FitDTVARMxID_DTVAR_ID5.Rds     1.5464   0.6983  -0.6318   0.2409  0.4724
#> FitDTVARMxID_DTVAR_ID6.Rds     0.5662   0.5362   0.1446   0.6224  2.4645
#> FitDTVARMxID_DTVAR_ID7.Rds     0.8596   0.2499   0.0963   0.7942  4.5338
#> FitDTVARMxID_DTVAR_ID8.Rds     0.8849   0.0614  -0.0405   0.1103  1.0540
#> FitDTVARMxID_DTVAR_ID9.Rds    -0.6289  -0.4995   1.8863   1.2932  0.5315
#> FitDTVARMxID_DTVAR_ID10.Rds    0.1588   0.0221   0.7624   0.8425 -0.0165
#> FitDTVARMxID_DTVAR_ID11.Rds    0.7191   0.0136  -0.0087   0.6564  1.2674
#> FitDTVARMxID_DTVAR_ID12.Rds    0.5170  -0.5115   0.3667   1.2910  1.2196
#> FitDTVARMxID_DTVAR_ID13.Rds    0.7612  -0.0159   0.2921   0.9488  1.2360
#> FitDTVARMxID_DTVAR_ID15.Rds    0.6826  -0.1052   0.4497   0.7550  0.9062
#> FitDTVARMxID_DTVAR_ID16.Rds    0.6688  -0.2331  -0.2102   0.4289  1.1790
#> FitDTVARMxID_DTVAR_ID18.Rds    0.6349   0.2605   0.3082   0.6163  1.4671
#> FitDTVARMxID_DTVAR_ID19.Rds    0.6286  -0.3627   0.1509   0.3575  1.3292
#> FitDTVARMxID_DTVAR_ID23.Rds    0.4525  -0.3831   0.7131   1.0254 -0.0084
#> FitDTVARMxID_DTVAR_ID24.Rds    0.3835   0.0428  -0.0525   0.6258  1.0155
#> FitDTVARMxID_DTVAR_ID25.Rds    0.5131   0.4239   0.3571   0.5952 -0.0480
#> FitDTVARMxID_DTVAR_ID26.Rds    0.9219  -0.0752   0.2514   0.7324 -0.0625
#> FitDTVARMxID_DTVAR_ID27.Rds    0.7571  -0.3334   0.2941   1.0445  0.1136
#> FitDTVARMxID_DTVAR_ID28.Rds    0.7793  -0.1212   0.1448   0.6110  0.9863
#> FitDTVARMxID_DTVAR_ID29.Rds    0.8844   0.0327   0.0552   0.7076 -0.5290
#> FitDTVARMxID_DTVAR_ID30.Rds    0.8230   0.5493  -0.0206   0.7334  0.9118
#> FitDTVARMxID_DTVAR_ID31.Rds    0.6338   0.0130   0.0022   0.6066  1.0967
#> FitDTVARMxID_DTVAR_ID32.Rds    0.8659   0.0050   0.0911   0.4353  0.9654
#> FitDTVARMxID_DTVAR_ID33.Rds    0.7629   0.0435   0.2527   0.5594  1.2671
#> FitDTVARMxID_DTVAR_ID34.Rds    0.2499   0.0009   0.2742   0.6749  0.5999
#> FitDTVARMxID_DTVAR_ID35.Rds    0.5162  -0.3196   0.3657   0.9984  1.3975
#> FitDTVARMxID_DTVAR_ID36.Rds    0.3587  -0.1479   0.2536   0.5754  2.1259
#> FitDTVARMxID_DTVAR_ID37.Rds    0.7599   0.2390   0.2367   0.6675  1.7645
#> FitDTVARMxID_DTVAR_ID38.Rds    0.9373   0.7346  -0.0606   0.1573  1.4889
#> FitDTVARMxID_DTVAR_ID39.Rds    0.6891  -0.3306  -0.0184   0.5497  1.2390
#> FitDTVARMxID_DTVAR_ID40.Rds    0.9265   0.1671  -0.2860   0.6926  1.1596
#> FitDTVARMxID_DTVAR_ID41.Rds    0.8615   0.0697   0.1949   0.5173  1.2405
#> FitDTVARMxID_DTVAR_ID42.Rds    0.2728   0.0715   0.0573   0.4462  1.4600
#> FitDTVARMxID_DTVAR_ID43.Rds    0.8679  -0.0185   0.2697   0.6863  1.1807
#> FitDTVARMxID_DTVAR_ID44.Rds    0.6531  -0.3635   0.5249   0.8528  1.1572
#> FitDTVARMxID_DTVAR_ID45.Rds    0.4640   0.1358   0.5888   0.7362  0.2183
#> FitDTVARMxID_DTVAR_ID46.Rds    0.4390   0.0536   0.2810   0.3936  1.5890
#> FitDTVARMxID_DTVAR_ID47.Rds    0.7732  -0.1255   0.3016   0.8802  0.8979
#> FitDTVARMxID_DTVAR_ID48.Rds    0.7370  -0.1355   0.6191   0.9539  0.8220
#> FitDTVARMxID_DTVAR_ID49.Rds    0.6671   0.3299  -0.1570   1.0620  1.3241
#> FitDTVARMxID_DTVAR_ID50.Rds    0.5601  -0.0271   0.1044   0.9259  1.8190
#> FitDTVARMxID_DTVAR_ID51.Rds   -0.0176  -0.4068   0.9572   1.3799  4.2000
#> FitDTVARMxID_DTVAR_ID52.Rds    0.7154  -0.1442  -0.0519   0.3791  1.7338
#> FitDTVARMxID_DTVAR_ID53.Rds    0.6782  -0.1955   0.4130   0.7008  1.5480
#> FitDTVARMxID_DTVAR_ID54.Rds    0.8446  -0.0252   0.0500   0.3894 -0.2846
#> FitDTVARMxID_DTVAR_ID55.Rds    0.4462   0.1911   0.0557   0.5447  0.9231
#> FitDTVARMxID_DTVAR_ID56.Rds    0.3408   0.3320   0.1035   0.4321  0.6562
#> FitDTVARMxID_DTVAR_ID57.Rds    0.2978  -0.0057   0.2551   0.7991  1.0134
#> FitDTVARMxID_DTVAR_ID58.Rds    0.8040   0.0999  -0.1182   0.8582  1.3436
#> FitDTVARMxID_DTVAR_ID59.Rds   -1.1787  -2.2892   0.5461   1.1584  1.2505
#> FitDTVARMxID_DTVAR_ID60.Rds    0.6228   0.0158  -0.0313   0.9145  1.2110
#> FitDTVARMxID_DTVAR_ID61.Rds    0.8723   0.1612  -0.0064   0.5381  0.8668
#> FitDTVARMxID_DTVAR_ID62.Rds    0.6699   0.0825   0.0352   0.8071  0.2267
#> FitDTVARMxID_DTVAR_ID63.Rds    0.5296  -0.3095   0.4603   1.1567  1.0460
#> FitDTVARMxID_DTVAR_ID64.Rds    0.7388   0.3510   0.2201   0.4390  0.1169
#> FitDTVARMxID_DTVAR_ID65.Rds    0.8379   0.4976   0.0074   0.4086  0.9305
#> FitDTVARMxID_DTVAR_ID66.Rds    0.7395  -0.0274   0.1321   0.6423  0.2544
#> FitDTVARMxID_DTVAR_ID67.Rds    0.0596  -0.0163   0.5554   0.9384  2.1762
#> FitDTVARMxID_DTVAR_ID68.Rds   -0.7432  -0.0430   1.0199   0.8255  1.1533
#> FitDTVARMxID_DTVAR_ID69.Rds    0.2621  -0.2601   0.5884   1.0360  0.6903
#> FitDTVARMxID_DTVAR_ID70.Rds    1.1516   0.8435  -0.1611   0.4697  1.2175
#> FitDTVARMxID_DTVAR_ID71.Rds    1.2905   0.7678  -0.3460   0.3035 -0.1097
#> FitDTVARMxID_DTVAR_ID73.Rds    0.6152   0.0067   0.1340   0.7430  3.0640
#> FitDTVARMxID_DTVAR_ID74.Rds    0.6713  -0.1527   0.1719   0.9671  0.0935
#> FitDTVARMxID_DTVAR_ID75.Rds    0.5985  -0.1488   0.2988   0.8158  1.0781
#> FitDTVARMxID_DTVAR_ID76.Rds    0.1928  -0.0843  -0.1987   0.6934  1.2389
#> FitDTVARMxID_DTVAR_ID77.Rds    0.7484   0.1417  -0.0445   0.4219  1.0559
#> FitDTVARMxID_DTVAR_ID78.Rds    0.2390  -0.0688   0.5035   0.9521  1.8487
#> FitDTVARMxID_DTVAR_ID79.Rds   -0.1548  -0.9750   0.9678   1.7370  0.8710
#> FitDTVARMxID_DTVAR_ID80.Rds    0.7560  -0.0324   0.2228   0.5806  1.6780
#> FitDTVARMxID_DTVAR_ID81.Rds    0.6939   1.3473   0.0162   0.7044  1.4168
#> FitDTVARMxID_DTVAR_ID82.Rds    0.3872   0.0853   0.4759   0.8542  1.6939
#> FitDTVARMxID_DTVAR_ID83.Rds    0.6759   0.2115   0.1222   0.6165  0.7022
#> FitDTVARMxID_DTVAR_ID84.Rds    0.9757   0.1176  -0.1019   0.8392  0.4417
#> FitDTVARMxID_DTVAR_ID85.Rds   -0.2269   0.5498   0.4974   0.3554  0.6827
#> FitDTVARMxID_DTVAR_ID86.Rds    0.8185  -0.0894   0.4395   0.8368 -0.0664
#> FitDTVARMxID_DTVAR_ID87.Rds    0.6613   0.2773  -0.0001   0.3009  0.9771
#> FitDTVARMxID_DTVAR_ID88.Rds    0.8449   0.3676  -0.1965   0.7395  1.1814
#> FitDTVARMxID_DTVAR_ID89.Rds    0.1207  -0.3026  -0.0109   0.8068  0.8004
#> FitDTVARMxID_DTVAR_ID90.Rds    0.6929  -0.1234   0.3722   0.8588  0.8886
#> FitDTVARMxID_DTVAR_ID91.Rds    0.8712   0.5130  -0.0987   0.2477  0.9049
#> FitDTVARMxID_DTVAR_ID92.Rds    0.8740   0.6993  -0.0486   0.5039  0.0926
#> FitDTVARMxID_DTVAR_ID93.Rds    0.9258   0.1757   0.0463   0.8749  1.1860
#> FitDTVARMxID_DTVAR_ID94.Rds    0.9691   0.3890  -0.2049   0.6436 -0.1967
#> FitDTVARMxID_DTVAR_ID95.Rds    0.2472  -0.1863   0.5139   0.6753  1.2852
#> FitDTVARMxID_DTVAR_ID96.Rds   -0.0244  -0.4275   0.4673   1.0794  1.2036
#> FitDTVARMxID_DTVAR_ID97.Rds    0.8658   0.2802   0.0559   0.3708  1.5672
#> FitDTVARMxID_DTVAR_ID98.Rds    0.5185  -0.2641   0.3980   0.7708  1.9733
#> FitDTVARMxID_DTVAR_ID99.Rds    0.9529   0.3514  -0.1887   0.5989  1.2377
#> FitDTVARMxID_DTVAR_ID100.Rds   0.6835  -0.6725   0.1572   0.4271  0.6305
#>                               nu_2_1 psi_l_2_1 psi_d_1_1 psi_d_2_1 theta_d_1_1
#> FitDTVARMxID_DTVAR_ID1.Rds    1.4957    0.2156   -0.2174   -1.6435     -1.8009
#> FitDTVARMxID_DTVAR_ID2.Rds    1.0381    4.8057   -3.9411  -20.8134     -0.2522
#> FitDTVARMxID_DTVAR_ID3.Rds    1.1114    0.2736  -22.4037   -2.5146      0.1152
#> FitDTVARMxID_DTVAR_ID4.Rds    0.0823    0.4902   -0.6169   -1.1120     -1.1217
#> FitDTVARMxID_DTVAR_ID5.Rds    0.3517    1.2254   -1.6724  -26.4514     -0.0343
#> FitDTVARMxID_DTVAR_ID6.Rds    1.4698    0.0802   -0.3145   -0.7825     -1.4241
#> FitDTVARMxID_DTVAR_ID7.Rds    5.3978    0.5140   -0.2579   -1.2592     -1.0519
#> FitDTVARMxID_DTVAR_ID8.Rds    0.7520    2.4841   -2.0385   -1.2233      0.2405
#> FitDTVARMxID_DTVAR_ID9.Rds    1.2646    0.2047   -0.0690   -3.8667    -19.2625
#> FitDTVARMxID_DTVAR_ID10.Rds   0.5543    0.1760    0.6128   -1.4990    -17.8298
#> FitDTVARMxID_DTVAR_ID11.Rds   0.7822    1.2669   -1.3564   -2.4594     -0.3172
#> FitDTVARMxID_DTVAR_ID12.Rds   0.6288   -0.5249   -3.5969  -21.1253      0.1464
#> FitDTVARMxID_DTVAR_ID13.Rds   1.0678    0.4678   -0.7874   -2.2456     -0.3676
#> FitDTVARMxID_DTVAR_ID15.Rds   1.0725    0.6312   -0.7225   -3.0907     -0.2198
#> FitDTVARMxID_DTVAR_ID16.Rds   1.0893    1.5423   -1.6995   -0.4831      0.1576
#> FitDTVARMxID_DTVAR_ID18.Rds   0.8399   -0.0869   -0.8605   -1.1651     -0.3514
#> FitDTVARMxID_DTVAR_ID19.Rds   1.2235    0.8480   -0.9397   -0.1393     -0.4931
#> FitDTVARMxID_DTVAR_ID23.Rds   0.5104    1.3740   -3.1912   -4.9832      0.0322
#> FitDTVARMxID_DTVAR_ID24.Rds   1.2218    0.7409   -0.4578   -1.8443     -0.9602
#> FitDTVARMxID_DTVAR_ID25.Rds   0.0279    2.7872   -2.3075  -18.7735     -0.2348
#> FitDTVARMxID_DTVAR_ID26.Rds   1.2351    0.9395   -1.9573   -1.1227     -0.1473
#> FitDTVARMxID_DTVAR_ID27.Rds  -0.0381    0.6659   -1.0654   -1.3274      0.0595
#> FitDTVARMxID_DTVAR_ID28.Rds   0.3747    0.9144   -1.5044   -4.1623     -0.3636
#> FitDTVARMxID_DTVAR_ID29.Rds  -0.1765    2.3555   -2.0095   -3.1377     -0.2225
#> FitDTVARMxID_DTVAR_ID30.Rds   0.4609    0.2158   -1.3054   -0.8950     -0.5915
#> FitDTVARMxID_DTVAR_ID31.Rds   0.9222    0.5996   -0.2858   -0.7171     -0.4633
#> FitDTVARMxID_DTVAR_ID32.Rds   1.3509    0.6899   -1.4522   -1.5863     -0.8263
#> FitDTVARMxID_DTVAR_ID33.Rds   1.8231    0.3613   -1.5458   -0.8185     -0.1190
#> FitDTVARMxID_DTVAR_ID34.Rds   0.4353    0.6567   -0.4464   -0.5655     -1.0307
#> FitDTVARMxID_DTVAR_ID35.Rds   1.0913    0.5647   -0.7763   -1.0897     -0.7311
#> FitDTVARMxID_DTVAR_ID36.Rds   2.0147   -0.1904   -0.8300   -0.9250     -0.6047
#> FitDTVARMxID_DTVAR_ID37.Rds   2.1381   -0.0638   -1.3812   -0.9558     -0.7457
#> FitDTVARMxID_DTVAR_ID38.Rds   1.6734    1.5149   -1.6518   -0.2346     -0.6451
#> FitDTVARMxID_DTVAR_ID39.Rds   0.9363    0.5952   -0.1599    0.1560     -0.5559
#> FitDTVARMxID_DTVAR_ID40.Rds   1.1980    1.0258   -0.6360   -2.6358     -0.0141
#> FitDTVARMxID_DTVAR_ID41.Rds   0.6939    0.5132   -1.2998    0.2575     -0.4772
#> FitDTVARMxID_DTVAR_ID42.Rds   1.3944    0.0998    0.5459   -1.1081    -19.5248
#> FitDTVARMxID_DTVAR_ID43.Rds   1.4991    0.0237   -1.2518   -1.5495     -0.5670
#> FitDTVARMxID_DTVAR_ID44.Rds   1.7204    0.9039   -1.8498   -3.0028      0.0866
#> FitDTVARMxID_DTVAR_ID45.Rds   0.0814    0.1821    0.2071   -1.3655    -20.5314
#> FitDTVARMxID_DTVAR_ID46.Rds   1.8810    0.1601    0.7115    0.4359    -19.9655
#> FitDTVARMxID_DTVAR_ID47.Rds   0.8320    0.3720   -0.2183   -4.0034     -0.8901
#> FitDTVARMxID_DTVAR_ID48.Rds   0.9839    0.3094   -1.2262   -1.9205     -0.7308
#> FitDTVARMxID_DTVAR_ID49.Rds   0.9298    1.2759   -3.3772   -1.4504      0.2237
#> FitDTVARMxID_DTVAR_ID50.Rds   1.4184    1.2514   -1.3453  -20.1661      0.2077
#> FitDTVARMxID_DTVAR_ID51.Rds   4.4792   -0.0848   -0.6103  -19.7341     -1.2175
#> FitDTVARMxID_DTVAR_ID52.Rds   1.3598    0.7116   -0.9078   -0.6684     -0.7407
#> FitDTVARMxID_DTVAR_ID53.Rds   1.6181    0.4122   -0.7925   -1.0185     -0.1347
#> FitDTVARMxID_DTVAR_ID54.Rds   0.2914    0.3052   -0.9018   -0.3358     -0.3075
#> FitDTVARMxID_DTVAR_ID55.Rds   0.9036    0.2406    0.0565   -0.7760     -1.3681
#> FitDTVARMxID_DTVAR_ID56.Rds   0.6253   -0.1569   -1.4545   -0.6766     -0.8843
#> FitDTVARMxID_DTVAR_ID57.Rds   0.6558    0.1501    0.5189   -2.4826    -19.3776
#> FitDTVARMxID_DTVAR_ID58.Rds   1.5217    1.7157   -3.3811   -3.0568     -0.1477
#> FitDTVARMxID_DTVAR_ID59.Rds   0.9717   -0.3379   -3.5647   -1.4515     -0.3868
#> FitDTVARMxID_DTVAR_ID60.Rds   1.4995    0.4942   -0.5669   -1.3480     -0.5785
#> FitDTVARMxID_DTVAR_ID61.Rds   1.1115    1.0768   -0.9481   -0.9360     -0.3373
#> FitDTVARMxID_DTVAR_ID62.Rds  -0.0353    0.1660   -0.1586   -0.3961     -2.1142
#> FitDTVARMxID_DTVAR_ID63.Rds   1.2040    0.7663   -1.3638   -3.9658     -0.2453
#> FitDTVARMxID_DTVAR_ID64.Rds   0.7830    0.1817   -0.5702    0.3455     -0.5789
#> FitDTVARMxID_DTVAR_ID65.Rds   0.9507    0.3112   -0.8036    0.2793     -0.2997
#> FitDTVARMxID_DTVAR_ID66.Rds   0.4959    0.3216   -0.8749   -2.0108     -0.0519
#> FitDTVARMxID_DTVAR_ID67.Rds   2.7060    0.1791    0.1176   -1.2941    -15.2665
#> FitDTVARMxID_DTVAR_ID68.Rds   1.0025    1.0256   -0.9269   -2.1120     -0.7740
#> FitDTVARMxID_DTVAR_ID69.Rds   0.7698    0.0216   -1.5837   -1.9182     -0.3508
#> FitDTVARMxID_DTVAR_ID70.Rds   2.2479    0.9130   -1.8115   -1.9623     -0.3059
#> FitDTVARMxID_DTVAR_ID71.Rds   0.0722   -0.6801   -2.5465  -19.0712      0.1400
#> FitDTVARMxID_DTVAR_ID73.Rds   3.0942    0.6695   -0.5092   -1.1758     -1.0585
#> FitDTVARMxID_DTVAR_ID74.Rds   0.2177    0.3690   -0.5537   -2.5202     -1.0894
#> FitDTVARMxID_DTVAR_ID75.Rds   1.0430    1.5606   -1.2785   -2.4162      0.0469
#> FitDTVARMxID_DTVAR_ID76.Rds   0.9512    0.2433    0.0976   -1.5878     -1.9833
#> FitDTVARMxID_DTVAR_ID77.Rds   0.6820    0.1924   -1.5715   -0.2820     -0.3341
#> FitDTVARMxID_DTVAR_ID78.Rds   2.0707    0.5074   -0.5043   -1.3208     -0.3834
#> FitDTVARMxID_DTVAR_ID79.Rds   0.7791    0.7481   -1.3465   -5.7784     -0.4415
#> FitDTVARMxID_DTVAR_ID80.Rds   1.1480    0.6153   -0.7790   -0.5574     -0.6852
#> FitDTVARMxID_DTVAR_ID81.Rds   1.0685    0.2895   -2.5854  -18.9545     -0.2579
#> FitDTVARMxID_DTVAR_ID82.Rds   2.0358    0.0563   -0.1174   -1.0820    -20.3190
#> FitDTVARMxID_DTVAR_ID83.Rds   0.7982    0.5067   -0.7354   -0.8063     -0.9614
#> FitDTVARMxID_DTVAR_ID84.Rds   0.7696    1.2736   -2.6142   -5.1872     -0.2795
#> FitDTVARMxID_DTVAR_ID85.Rds   1.1401    3.9869   -3.2443  -16.0992      0.2855
#> FitDTVARMxID_DTVAR_ID86.Rds   0.7696    0.9836   -1.3841   -1.5136     -0.2701
#> FitDTVARMxID_DTVAR_ID87.Rds   1.1428    0.7322   -0.7170    0.2883     -0.6164
#> FitDTVARMxID_DTVAR_ID88.Rds   1.7654    0.5836   -0.4655   -1.1507     -0.4401
#> FitDTVARMxID_DTVAR_ID89.Rds   0.9335    0.2162    0.4659   -1.4732    -18.6103
#> FitDTVARMxID_DTVAR_ID90.Rds   0.3814    0.4133   -0.4989   -1.2479     -0.3682
#> FitDTVARMxID_DTVAR_ID91.Rds   1.3477    0.9314   -0.8719   -0.0692     -0.6843
#> FitDTVARMxID_DTVAR_ID92.Rds   0.0569    1.2524   -1.8228   -0.9249      0.1434
#> FitDTVARMxID_DTVAR_ID93.Rds   1.2487    0.1173   -0.6059   -1.8949     -1.2482
#> FitDTVARMxID_DTVAR_ID94.Rds  -0.2806    0.8499   -1.6975  -21.5655     -0.3693
#> FitDTVARMxID_DTVAR_ID95.Rds   0.5530    0.7443   -0.3966   -1.4449     -0.8380
#> FitDTVARMxID_DTVAR_ID96.Rds   1.1469    0.2891    0.0328   -3.2921     -2.2366
#> FitDTVARMxID_DTVAR_ID97.Rds   1.5830    1.4026   -1.2681   -0.8840     -0.2105
#> FitDTVARMxID_DTVAR_ID98.Rds   2.4267    0.8624   -0.9847  -21.6565     -0.2269
#> FitDTVARMxID_DTVAR_ID99.Rds   1.4006    0.6235   -1.9963   -2.9816     -0.6341
#> FitDTVARMxID_DTVAR_ID100.Rds  1.0814    4.2440   -3.1251  -21.2629      0.4684
#>                              theta_d_2_1
#> FitDTVARMxID_DTVAR_ID1.Rds       -0.3538
#> FitDTVARMxID_DTVAR_ID2.Rds       -0.7772
#> FitDTVARMxID_DTVAR_ID3.Rds        0.0331
#> FitDTVARMxID_DTVAR_ID4.Rds       -0.1192
#> FitDTVARMxID_DTVAR_ID5.Rds        0.0741
#> FitDTVARMxID_DTVAR_ID6.Rds       -0.1309
#> FitDTVARMxID_DTVAR_ID7.Rds       -0.5814
#> FitDTVARMxID_DTVAR_ID8.Rds      -18.8081
#> FitDTVARMxID_DTVAR_ID9.Rds        0.5636
#> FitDTVARMxID_DTVAR_ID10.Rds      -0.2350
#> FitDTVARMxID_DTVAR_ID11.Rds      -0.3935
#> FitDTVARMxID_DTVAR_ID12.Rds      -0.1638
#> FitDTVARMxID_DTVAR_ID13.Rds      -0.2090
#> FitDTVARMxID_DTVAR_ID15.Rds      -0.0764
#> FitDTVARMxID_DTVAR_ID16.Rds     -19.7815
#> FitDTVARMxID_DTVAR_ID18.Rds      -0.1832
#> FitDTVARMxID_DTVAR_ID19.Rds      -1.6144
#> FitDTVARMxID_DTVAR_ID23.Rds      -0.0549
#> FitDTVARMxID_DTVAR_ID24.Rds      -0.2999
#> FitDTVARMxID_DTVAR_ID25.Rds      -0.7699
#> FitDTVARMxID_DTVAR_ID26.Rds      -0.5164
#> FitDTVARMxID_DTVAR_ID27.Rds      -0.8464
#> FitDTVARMxID_DTVAR_ID28.Rds       0.3767
#> FitDTVARMxID_DTVAR_ID29.Rds      -1.1739
#> FitDTVARMxID_DTVAR_ID30.Rds      -0.3197
#> FitDTVARMxID_DTVAR_ID31.Rds      -1.1027
#> FitDTVARMxID_DTVAR_ID32.Rds       0.0992
#> FitDTVARMxID_DTVAR_ID33.Rds      -0.8096
#> FitDTVARMxID_DTVAR_ID34.Rds      -1.0711
#> FitDTVARMxID_DTVAR_ID35.Rds      -0.4753
#> FitDTVARMxID_DTVAR_ID36.Rds      -0.6412
#> FitDTVARMxID_DTVAR_ID37.Rds      -0.4624
#> FitDTVARMxID_DTVAR_ID38.Rds     -18.5303
#> FitDTVARMxID_DTVAR_ID39.Rds      -1.4429
#> FitDTVARMxID_DTVAR_ID40.Rds      -0.7689
#> FitDTVARMxID_DTVAR_ID41.Rds      -1.4031
#> FitDTVARMxID_DTVAR_ID42.Rds      -0.3200
#> FitDTVARMxID_DTVAR_ID43.Rds      -0.6586
#> FitDTVARMxID_DTVAR_ID44.Rds      -0.4795
#> FitDTVARMxID_DTVAR_ID45.Rds      -0.1801
#> FitDTVARMxID_DTVAR_ID46.Rds      -3.9113
#> FitDTVARMxID_DTVAR_ID47.Rds       0.3732
#> FitDTVARMxID_DTVAR_ID48.Rds      -0.4462
#> FitDTVARMxID_DTVAR_ID49.Rds      -0.4975
#> FitDTVARMxID_DTVAR_ID50.Rds       0.0361
#> FitDTVARMxID_DTVAR_ID51.Rds      -0.1438
#> FitDTVARMxID_DTVAR_ID52.Rds      -1.6855
#> FitDTVARMxID_DTVAR_ID53.Rds      -0.4633
#> FitDTVARMxID_DTVAR_ID54.Rds      -1.8703
#> FitDTVARMxID_DTVAR_ID55.Rds      -0.6597
#> FitDTVARMxID_DTVAR_ID56.Rds      -0.9247
#> FitDTVARMxID_DTVAR_ID57.Rds      -0.4979
#> FitDTVARMxID_DTVAR_ID58.Rds      -0.4233
#> FitDTVARMxID_DTVAR_ID59.Rds      -0.6123
#> FitDTVARMxID_DTVAR_ID60.Rds      -0.0978
#> FitDTVARMxID_DTVAR_ID61.Rds      -0.6407
#> FitDTVARMxID_DTVAR_ID62.Rds      -0.9654
#> FitDTVARMxID_DTVAR_ID63.Rds      -0.1385
#> FitDTVARMxID_DTVAR_ID64.Rds      -3.2443
#> FitDTVARMxID_DTVAR_ID65.Rds     -19.6351
#> FitDTVARMxID_DTVAR_ID66.Rds      -0.3138
#> FitDTVARMxID_DTVAR_ID67.Rds      -0.1556
#> FitDTVARMxID_DTVAR_ID68.Rds      -0.6516
#> FitDTVARMxID_DTVAR_ID69.Rds      -0.6218
#> FitDTVARMxID_DTVAR_ID70.Rds      -0.1599
#> FitDTVARMxID_DTVAR_ID71.Rds      -0.1865
#> FitDTVARMxID_DTVAR_ID73.Rds      -0.6367
#> FitDTVARMxID_DTVAR_ID74.Rds      -0.1096
#> FitDTVARMxID_DTVAR_ID75.Rds      -0.4939
#> FitDTVARMxID_DTVAR_ID76.Rds       0.0785
#> FitDTVARMxID_DTVAR_ID77.Rds      -0.7954
#> FitDTVARMxID_DTVAR_ID78.Rds      -0.8605
#> FitDTVARMxID_DTVAR_ID79.Rds       0.2294
#> FitDTVARMxID_DTVAR_ID80.Rds      -1.0015
#> FitDTVARMxID_DTVAR_ID81.Rds      -0.3659
#> FitDTVARMxID_DTVAR_ID82.Rds       0.0004
#> FitDTVARMxID_DTVAR_ID83.Rds      -0.8392
#> FitDTVARMxID_DTVAR_ID84.Rds      -0.3495
#> FitDTVARMxID_DTVAR_ID85.Rds      -1.2549
#> FitDTVARMxID_DTVAR_ID86.Rds      -0.2835
#> FitDTVARMxID_DTVAR_ID87.Rds     -19.9405
#> FitDTVARMxID_DTVAR_ID88.Rds      -0.3312
#> FitDTVARMxID_DTVAR_ID89.Rds      -0.1431
#> FitDTVARMxID_DTVAR_ID90.Rds      -0.4986
#> FitDTVARMxID_DTVAR_ID91.Rds      -1.5729
#> FitDTVARMxID_DTVAR_ID92.Rds      -0.8045
#> FitDTVARMxID_DTVAR_ID93.Rds      -0.0523
#> FitDTVARMxID_DTVAR_ID94.Rds       0.0898
#> FitDTVARMxID_DTVAR_ID95.Rds      -0.1675
#> FitDTVARMxID_DTVAR_ID96.Rds      -0.1965
#> FitDTVARMxID_DTVAR_ID97.Rds     -19.9936
#> FitDTVARMxID_DTVAR_ID98.Rds      -0.6594
#> FitDTVARMxID_DTVAR_ID99.Rds      -0.0945
#> FitDTVARMxID_DTVAR_ID100.Rds    -24.5753

Proportion of converged cases

converged(
  fit,
  theta_tol = 0.01,
  prop = TRUE
)
#> [1] 0.78

Fixed-Effect Meta-Analysis of Measurement Error

When fitting DT-VAR models per person, separating process noise (𝚿\boldsymbol{\Psi}) from measurement error (𝚯\boldsymbol{\Theta}) can be unstable for some individuals. To stabilize inference, we first pool the person-level 𝚯i\boldsymbol{\Theta}_{i} estimates from only the converged fits using a fixed-effect meta-analysis. This yields a high-precision estimate of the common measurement-error covariance that we will then hold fixed in a second pass of model fitting.

What the code does: - Selects individuals that converged and whose 𝚯i\boldsymbol{\Theta}_i diagonals exceed a small threshold (theta_tol), filtering out near-zero or ill-conditioned solutions. - Extracts each person’s LDL’ diagonal parameters for 𝚯i\boldsymbol{\Theta}_i and their sampling covariance matrices. - Computes the inverse-variance-weighted pooled estimate (fixed effect), returning it on the same LDL’ parameterization used by FitDTVARMxID().

library(metaVAR)
fixed_theta <- MetaVARMx(
  fit,
  random = FALSE, # TRUE by default
  effects = FALSE, # TRUE by default
  cov_meas = TRUE, # FALSE by default
  theta_tol = 0.01
)

You can read summary(fixed_theta) as providing the pooled (fixed) measurement-error scale that is common across persons. If individual instruments truly share the same reliability structure, fixing 𝚯\boldsymbol{\Theta} to this pooled value improves stability and often reduces bias in the dynamic parameters.

Note: Fixed-effect pooling assumes a common 𝚯\boldsymbol{\Theta} across individuals.

coef(fixed_theta)
#>  alpha_1_1  alpha_2_1 
#> -0.2662903 -0.2659464
summary(fixed_theta)
#> Call:
#> MetaVARMx(object = fit, random = FALSE, effects = FALSE, cov_meas = TRUE, 
#>     theta_tol = 0.01)
#>                est     se       z p    2.5%   97.5%
#> alpha[1,1] -0.2663 0.0407 -6.5489 0 -0.3460 -0.1866
#> alpha[2,1] -0.2659 0.0437 -6.0805 0 -0.3517 -0.1802
theta_d_values <- coef(fixed_theta)

Refit the model with fixed measurement error covariance matrix

We refit the individual models using the pooled 𝚯\boldsymbol{\Theta} as a fixed measurement-error covariance matrix.

fit <- FitDTVARMxID(
  data = data,
  observed = c("y1", "y2"),
  id = "id",
  beta_values = beta_values,
  psi_d_values = psi_d_values,
  psi_l_values = psi_l_values,
  nu_values = nu_values,
  theta_fixed = TRUE,
  theta_d_values = theta_d_values,
  mu0_values = mu0_values,
  sigma0_d_values = sigma0_d_values,
  sigma0_l_values = sigma0_l_values,
  ncores = parallel::detectCores()
)

With 𝚯\boldsymbol{\Theta} fixed, the re-estimation focuses on the dynamic structure (𝛃\boldsymbol{\beta}, 𝚿\boldsymbol{\Psi}) and intercepts (𝛎\boldsymbol{\nu}). In practice, this often increases the proportion of converged fits and yields more stable cross-lag estimates.

Proportion of converged cases

converged(
  fit,
  prop = TRUE
)
#> Error in i$output: $ operator is invalid for atomic vectors

Random-Effects Meta-Analysis of Person-Specific Dynamics and Means

Having stabilized 𝚯\boldsymbol{\Theta}, we synthesize the person-specific estimates to recover population-level effects and their between-person variability. We use a random-effects model so the pooled mean reflects both within-person estimation uncertainty and between-person heterogeneity.

random <- MetaVARMx(
  fit,
  effects = TRUE,
  int_meas = TRUE
)
#> Error in i$output: $ operator is invalid for atomic vectors
summary(random)
#> Error: object 'random' not found
  • The fixed part of the random-effects model gives pooled means 𝛂=𝔼[Vec(𝛃),𝛎]\boldsymbol{\alpha} = \mathbb{E} \left[ \mathrm{Vec} \left( \boldsymbol{\beta} \right), \boldsymbol{\nu} \right].
  • The random part yields between-person covariances (𝛕2\boldsymbol{\tau}^{2}) quantifying heterogeneity in dynamics (𝛃\boldsymbol{\beta}) and means (𝛎\boldsymbol{\nu}) across individuals.
means <- extract(random, what = "alpha")
#> Error: object 'random' not found
means
#> Error: object 'means' not found
covariances <- extract(random, what = "tau_sqr")
#> Error: object 'random' not found
covariances
#> Error: object 'covariances' not found

Finally, we compare the meta-analytic population estimates to the known generating values.

beta_pop_mean
#> [1] 0.65031073 0.06000725 0.11823754 0.68938515
beta_pop_cov
#>              [,1]          [,2]         [,3]          [,4]
#> [1,]  0.021743819  0.0060586395  0.002589428 -0.0012545187
#> [2,]  0.006058639  0.0190971474 -0.003970398  0.0009518974
#> [3,]  0.002589428 -0.0039703984  0.020935929  0.0068157911
#> [4,] -0.001254519  0.0009518974  0.006815791  0.0202598637
nu_mu
#> [1] 1 1
nu_sigma
#>      [,1] [,2]
#> [1,] 0.25 0.20
#> [2,] 0.20 0.25

Summary

This vignette demonstrates a two-stage hierarchical estimation approach for dynamic systems: 1. individual-level DT-VAR estimation with stabilized measurement error, and
2. population-level meta-analysis of person-specific dynamics and means.

References

Hunter, M. D. (2017). State space modeling in an open source, modular, structural equation modeling environment. Structural Equation Modeling: A Multidisciplinary Journal, 25(2), 307–324. https://doi.org/10.1080/10705511.2017.1369354
Neale, M. C., Hunter, M. D., Pritikin, J. N., Zahery, M., Brick, T. R., Kirkpatrick, R. M., Estabrook, R., Bates, T. C., Maes, H. H., & Boker, S. M. (2015). OpenMx 2.0: Extended structural equation and statistical modeling. Psychometrika, 81(2), 535–549. https://doi.org/10.1007/s11336-014-9435-8
R Core Team. (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/