MCTotalCentral: Monte Carlo Sampling Distribution of Total Effect Centrality...

View source: R/cTMed-mc-total-central.R

MCTotalCentralR Documentation

Monte Carlo Sampling Distribution of Total Effect Centrality Over a Specific Time Interval or a Range of Time Intervals

Description

This function generates a Monte Carlo method sampling distribution of the total effect centrality at a particular time interval \Delta t using the first-order stochastic differential equation model drift matrix \boldsymbol{\Phi}.

Usage

MCTotalCentral(
  phi,
  vcov_phi_vec,
  delta_t,
  R,
  test_phi = TRUE,
  ncores = NULL,
  seed = NULL
)

Arguments

phi

Numeric matrix. The drift matrix (\boldsymbol{\Phi}). phi should have row and column names pertaining to the variables in the system.

vcov_phi_vec

Numeric matrix. The sampling variance-covariance matrix of \mathrm{vec} \left( \boldsymbol{\Phi} \right).

delta_t

Numeric. Time interval (\Delta t).

R

Positive integer. Number of replications.

test_phi

Logical. If test_phi = TRUE, the function tests the stability of the generated drift matrix \boldsymbol{\Phi}. If the test returns FALSE, the function generates a new drift matrix \boldsymbol{\Phi} and runs the test recursively until the test returns TRUE.

ncores

Positive integer. Number of cores to use. If ncores = NULL, use a single core. Consider using multiple cores when number of replications R is a large value.

seed

Random seed.

Details

See TotalCentral() for more details.

Monte Carlo Method

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.

Value

Returns an object of class ctmedmc which is a list with the following elements:

call

Function call.

args

Function arguments.

fun

Function used ("MCTotalCentral").

output

A list the length of which is equal to the length of delta_t.

Each element in the output list has the following elements:

est

A vector of total effect centrality.

thetahatstar

A matrix of Monte Carlo total effect centrality.

Author(s)

Ivan Jacob Agaloos Pesigan

References

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")}

See Also

Other Continuous Time Mediation Functions: DeltaBeta(), DeltaIndirectCentral(), DeltaMed(), DeltaTotalCentral(), Direct(), Indirect(), IndirectCentral(), MCBeta(), MCIndirectCentral(), MCMed(), MCPhi(), Med(), PosteriorBeta(), PosteriorIndirectCentral(), PosteriorMed(), PosteriorPhi(), PosteriorTotalCentral(), Total(), TotalCentral(), Trajectory()

Examples

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 ----------------------------------------------------
MCTotalCentral(
  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 <- MCTotalCentral(
  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 -------------------------------------------------------------------
# MCTotalCentral has a number of methods including
# print, summary, confint, and plot
print(mc)
summary(mc)
confint(mc, level = 0.95)
plot(mc)


cTMed documentation built on Oct. 21, 2024, 5:08 p.m.