MCMedStd {cTMed} | R Documentation |
Monte Carlo Sampling Distribution of Standardized Total, Direct, and Indirect Effects of X on Y Through M Over a Specific Time Interval or a Range of Time Intervals
Description
This function generates a Monte Carlo method
sampling distribution
of the standardized total, direct and indirect effects
of the independent variable X
on the dependent variable Y
through mediator variables \mathbf{m}
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}
and process noise covariance matrix \boldsymbol{\Sigma}
.
Usage
MCMedStd(
phi,
sigma,
vcov_theta,
delta_t,
from,
to,
med,
R,
test_phi = TRUE,
ncores = NULL,
seed = NULL,
tol = 0.01
)
Arguments
phi |
Numeric matrix.
The drift matrix ( |
sigma |
Numeric matrix.
The process noise covariance matrix ( |
vcov_theta |
Numeric matrix.
The sampling variance-covariance matrix of
|
delta_t |
Numeric.
Time interval
( |
from |
Character string.
Name of the independent variable |
to |
Character string.
Name of the dependent variable |
med |
Character vector.
Name/s of the mediator variable/s in |
R |
Positive integer. Number of replications. |
test_phi |
Logical.
If |
ncores |
Positive integer.
Number of cores to use.
If |
seed |
Random seed. |
tol |
Numeric. Smallest possible time interval to allow. |
Details
See TotalStd()
,
DirectStd()
, and
IndirectStd()
for more details.
Monte Carlo Method
Let \boldsymbol{\theta}
be
a vector that combines
\mathrm{vec} \left( \boldsymbol{\Phi} \right)
,
that is,
the elements of the \boldsymbol{\Phi}
matrix
in vector form sorted column-wise and
\mathrm{vech} \left( \boldsymbol{\Sigma} \right)
,
that is,
the unique elements of the \boldsymbol{\Sigma}
matrix
in vector form sorted column-wise.
Let \hat{\boldsymbol{\theta}}
be
a vector that combines
\mathrm{vec} \left( \hat{\boldsymbol{\Phi}} \right)
and
\mathrm{vech} \left( \hat{\boldsymbol{\Sigma}} \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.
Value
Returns an object
of class ctmedmc
which is a list with the following elements:
- call
Function call.
- args
Function arguments.
- fun
Function used ("MCMedStd").
- output
A list with length of
length(delta_t)
.
Each element in the output
list has the following elements:
- est
A vector of standardized total, direct, and indirect effects.
- thetahatstar
A matrix of Monte Carlo standardized total, direct, and indirect effects.
Author(s)
Ivan Jacob Agaloos Pesigan
References
Bollen, K. A. (1987). Total, direct, and indirect effects in structural equation models. Sociological Methodology, 17, 37. 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. 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. doi:10.1007/s11336-021-09767-0
See Also
Other Continuous Time Mediation Functions:
BootBeta()
,
BootBetaStd()
,
BootMed()
,
BootMedStd()
,
DeltaBeta()
,
DeltaBetaStd()
,
DeltaIndirectCentral()
,
DeltaMed()
,
DeltaMedStd()
,
DeltaTotalCentral()
,
Direct()
,
DirectStd()
,
ExpCov()
,
ExpMean()
,
Indirect()
,
IndirectCentral()
,
IndirectStd()
,
MCBeta()
,
MCBetaStd()
,
MCIndirectCentral()
,
MCMed()
,
MCPhi()
,
MCTotalCentral()
,
Med()
,
MedStd()
,
PosteriorBeta()
,
PosteriorIndirectCentral()
,
PosteriorMed()
,
PosteriorTotalCentral()
,
Total()
,
TotalCentral()
,
TotalStd()
,
Trajectory()
Examples
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")
sigma <- matrix(
data = c(
0.24455556, 0.02201587, -0.05004762,
0.02201587, 0.07067800, 0.01539456,
-0.05004762, 0.01539456, 0.07553061
),
nrow = 3
)
vcov_theta <- matrix(
data = c(
0.00843, 0.00040, -0.00151, -0.00600, -0.00033,
0.00110, 0.00324, 0.00020, -0.00061, -0.00115,
0.00011, 0.00015, 0.00001, -0.00002, -0.00001,
0.00040, 0.00374, 0.00016, -0.00022, -0.00273,
-0.00016, 0.00009, 0.00150, 0.00012, -0.00010,
-0.00026, 0.00002, 0.00012, 0.00004, -0.00001,
-0.00151, 0.00016, 0.00389, 0.00103, -0.00007,
-0.00283, -0.00050, 0.00000, 0.00156, 0.00021,
-0.00005, -0.00031, 0.00001, 0.00007, 0.00006,
-0.00600, -0.00022, 0.00103, 0.00644, 0.00031,
-0.00119, -0.00374, -0.00021, 0.00070, 0.00064,
-0.00015, -0.00005, 0.00000, 0.00003, -0.00001,
-0.00033, -0.00273, -0.00007, 0.00031, 0.00287,
0.00013, -0.00014, -0.00170, -0.00012, 0.00006,
0.00014, -0.00001, -0.00015, 0.00000, 0.00001,
0.00110, -0.00016, -0.00283, -0.00119, 0.00013,
0.00297, 0.00063, -0.00004, -0.00177, -0.00013,
0.00005, 0.00017, -0.00002, -0.00008, 0.00001,
0.00324, 0.00009, -0.00050, -0.00374, -0.00014,
0.00063, 0.00495, 0.00024, -0.00093, -0.00020,
0.00006, -0.00010, 0.00000, -0.00001, 0.00004,
0.00020, 0.00150, 0.00000, -0.00021, -0.00170,
-0.00004, 0.00024, 0.00214, 0.00012, -0.00002,
-0.00004, 0.00000, 0.00006, -0.00005, -0.00001,
-0.00061, 0.00012, 0.00156, 0.00070, -0.00012,
-0.00177, -0.00093, 0.00012, 0.00223, 0.00004,
-0.00002, -0.00003, 0.00001, 0.00003, -0.00013,
-0.00115, -0.00010, 0.00021, 0.00064, 0.00006,
-0.00013, -0.00020, -0.00002, 0.00004, 0.00057,
0.00001, -0.00009, 0.00000, 0.00000, 0.00001,
0.00011, -0.00026, -0.00005, -0.00015, 0.00014,
0.00005, 0.00006, -0.00004, -0.00002, 0.00001,
0.00012, 0.00001, 0.00000, -0.00002, 0.00000,
0.00015, 0.00002, -0.00031, -0.00005, -0.00001,
0.00017, -0.00010, 0.00000, -0.00003, -0.00009,
0.00001, 0.00014, 0.00000, 0.00000, -0.00005,
0.00001, 0.00012, 0.00001, 0.00000, -0.00015,
-0.00002, 0.00000, 0.00006, 0.00001, 0.00000,
0.00000, 0.00000, 0.00010, 0.00001, 0.00000,
-0.00002, 0.00004, 0.00007, 0.00003, 0.00000,
-0.00008, -0.00001, -0.00005, 0.00003, 0.00000,
-0.00002, 0.00000, 0.00001, 0.00005, 0.00001,
-0.00001, -0.00001, 0.00006, -0.00001, 0.00001,
0.00001, 0.00004, -0.00001, -0.00013, 0.00001,
0.00000, -0.00005, 0.00000, 0.00001, 0.00012
),
nrow = 15
)
# Specific time interval ----------------------------------------------------
MCMedStd(
phi = phi,
sigma = sigma,
vcov_theta = vcov_theta,
delta_t = 1,
from = "x",
to = "y",
med = "m",
R = 100L # use a large value for R in actual research
)
# Range of time intervals ---------------------------------------------------
mc <- MCMedStd(
phi = phi,
sigma = sigma,
vcov_theta = vcov_theta,
delta_t = 1:5,
from = "x",
to = "y",
med = "m",
R = 100L # use a large value for R in actual research
)
plot(mc)
# Methods -------------------------------------------------------------------
# MCMedStd has a number of methods including
# print, summary, confint, and plot
print(mc)
summary(mc)
confint(mc, level = 0.95)