View source: R/cTMed-mc-beta.R
MCBeta | R Documentation |
This function generates a Monte Carlo method
sampling distribution
for the elements of the matrix of lagged coefficients
\boldsymbol{\beta}
over a specific time interval \Delta t
or a range of time intervals
using the first-order stochastic differential equation model
drift matrix \boldsymbol{\Phi}
.
MCBeta(
phi,
vcov_phi_vec,
delta_t,
R,
test_phi = TRUE,
ncores = NULL,
seed = NULL
)
phi |
Numeric matrix.
The drift matrix ( |
vcov_phi_vec |
Numeric matrix.
The sampling variance-covariance matrix of
|
delta_t |
Numeric.
Time interval
( |
R |
Positive integer. Number of replications. |
test_phi |
Logical.
If |
ncores |
Positive integer.
Number of cores to use.
If |
seed |
Random seed. |
See Total()
.
Let \boldsymbol{\theta}
be
\mathrm{vec} \left( \boldsymbol{\Phi} \right)
,
that is,
the elements of the \boldsymbol{\Phi}
matrix
in vector form sorted column-wise.
Let \hat{\boldsymbol{\theta}}
be
\mathrm{vec} \left( \hat{\boldsymbol{\Phi}} \right)
.
Based on the asymptotic properties of maximum likelihood estimators,
we can assume that estimators are normally distributed
around the population parameters.
\hat{\boldsymbol{\theta}}
\sim
\mathcal{N}
\left(
\boldsymbol{\theta},
\mathbb{V} \left( \hat{\boldsymbol{\theta}} \right)
\right)
Using this distributional assumption,
a sampling distribution of \hat{\boldsymbol{\theta}}
which we refer to as \hat{\boldsymbol{\theta}}^{\ast}
can be generated by replacing the population parameters
with sample estimates,
that is,
\hat{\boldsymbol{\theta}}^{\ast}
\sim
\mathcal{N}
\left(
\hat{\boldsymbol{\theta}},
\hat{\mathbb{V}} \left( \hat{\boldsymbol{\theta}} \right)
\right) .
Let
\mathbf{g} \left( \hat{\boldsymbol{\theta}} \right)
be a parameter that is a function of the estimated parameters.
A sampling distribution of
\mathbf{g} \left( \hat{\boldsymbol{\theta}} \right)
,
which we refer to as
\mathbf{g} \left( \hat{\boldsymbol{\theta}}^{\ast} \right)
,
can be generated by using the simulated estimates
to calculate
\mathbf{g}
.
The standard deviations of the simulated estimates
are the standard errors.
Percentiles corresponding to
100 \left( 1 - \alpha \right) \%
are the confidence intervals.
Returns an object
of class ctmedmc
which is a list with the following elements:
Function call.
Function arguments.
Function used ("MCBeta").
A list the length of which is equal to
the length of delta_t
.
Each element in the output
list has the following elements:
A vector of total, direct, and indirect effects.
A matrix of Monte Carlo total, direct, and indirect effects.
Ivan Jacob Agaloos Pesigan
Bollen, K. A. (1987). Total, direct, and indirect effects in structural equation models. Sociological Methodology, 17, 37. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2307/271028")}
Deboeck, P. R., & Preacher, K. J. (2015). No need to be discrete: A method for continuous time mediation analysis. Structural Equation Modeling: A Multidisciplinary Journal, 23 (1), 61–75. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/10705511.2014.973960")}
Ryan, O., & Hamaker, E. L. (2021). Time to intervene: A continuous-time approach to network analysis and centrality. Psychometrika, 87 (1), 214–252. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s11336-021-09767-0")}
Other Continuous Time Mediation Functions:
DeltaBeta()
,
DeltaIndirectCentral()
,
DeltaMed()
,
DeltaTotalCentral()
,
Direct()
,
Indirect()
,
IndirectCentral()
,
MCIndirectCentral()
,
MCMed()
,
MCPhi()
,
MCTotalCentral()
,
Med()
,
PosteriorBeta()
,
PosteriorIndirectCentral()
,
PosteriorMed()
,
PosteriorPhi()
,
PosteriorTotalCentral()
,
Total()
,
TotalCentral()
,
Trajectory()
set.seed(42)
phi <- matrix(
data = c(
-0.357, 0.771, -0.450,
0.0, -0.511, 0.729,
0, 0, -0.693
),
nrow = 3
)
colnames(phi) <- rownames(phi) <- c("x", "m", "y")
vcov_phi_vec <- matrix(
data = c(
0.002704274, -0.001475275, 0.000949122,
-0.001619422, 0.000885122, -0.000569404,
0.00085493, -0.000465824, 0.000297815,
-0.001475275, 0.004428442, -0.002642303,
0.000980573, -0.00271817, 0.001618805,
-0.000586921, 0.001478421, -0.000871547,
0.000949122, -0.002642303, 0.006402668,
-0.000697798, 0.001813471, -0.004043138,
0.000463086, -0.001120949, 0.002271711,
-0.001619422, 0.000980573, -0.000697798,
0.002079286, -0.001152501, 0.000753,
-0.001528701, 0.000820587, -0.000517524,
0.000885122, -0.00271817, 0.001813471,
-0.001152501, 0.00342605, -0.002075005,
0.000899165, -0.002532849, 0.001475579,
-0.000569404, 0.001618805, -0.004043138,
0.000753, -0.002075005, 0.004984032,
-0.000622255, 0.001634917, -0.003705661,
0.00085493, -0.000586921, 0.000463086,
-0.001528701, 0.000899165, -0.000622255,
0.002060076, -0.001096684, 0.000686386,
-0.000465824, 0.001478421, -0.001120949,
0.000820587, -0.002532849, 0.001634917,
-0.001096684, 0.003328692, -0.001926088,
0.000297815, -0.000871547, 0.002271711,
-0.000517524, 0.001475579, -0.003705661,
0.000686386, -0.001926088, 0.004726235
),
nrow = 9
)
# Specific time interval ----------------------------------------------------
MCBeta(
phi = phi,
vcov_phi_vec = vcov_phi_vec,
delta_t = 1,
R = 100L # use a large value for R in actual research
)
# Range of time intervals ---------------------------------------------------
mc <- MCBeta(
phi = phi,
vcov_phi_vec = vcov_phi_vec,
delta_t = 1:5,
R = 100L # use a large value for R in actual research
)
plot(mc)
# Methods -------------------------------------------------------------------
# MCBeta has a number of methods including
# print, summary, confint, and plot
print(mc)
summary(mc)
confint(mc, level = 0.95)
plot(mc)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.