Skip to contents

This function generates a posterior distribution of the indirect effect centrality over a specific time interval \(\Delta t\) or a range of time intervals using the posterior distribution of the first-order stochastic differential equation model drift matrix \(\boldsymbol{\Phi}\).

Usage

PosteriorIndirectCentral(phi, delta_t, ncores = NULL, tol = 0.01)

Arguments

phi

List of numeric matrices. Each element of the list is a sample from the posterior distribution of the drift matrix (\(\boldsymbol{\Phi}\)). Each matrix should have row and column names pertaining to the variables in the system.

delta_t

Numeric. Time interval (\(\Delta t\)).

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.

tol

Numeric. Smallest possible time interval to allow.

Value

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

call

Function call.

args

Function arguments.

fun

Function used ("PosteriorIndirectCentral").

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

Mean of the posterior distribution of the total, direct, and indirect effects.

thetahatstar

Posterior distribution of the total, direct, and indirect effects.

Details

See TotalCentral() for more details.

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

Author

Ivan Jacob Agaloos Pesigan

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")
vcov_phi_vec <- matrix(
  data = c(
    0.00843, 0.00040, -0.00151,
    -0.00600, -0.00033, 0.00110,
    0.00324, 0.00020, -0.00061,
    0.00040, 0.00374, 0.00016,
    -0.00022, -0.00273, -0.00016,
    0.00009, 0.00150, 0.00012,
    -0.00151, 0.00016, 0.00389,
    0.00103, -0.00007, -0.00283,
    -0.00050, 0.00000, 0.00156,
    -0.00600, -0.00022, 0.00103,
    0.00644, 0.00031, -0.00119,
    -0.00374, -0.00021, 0.00070,
    -0.00033, -0.00273, -0.00007,
    0.00031, 0.00287, 0.00013,
    -0.00014, -0.00170, -0.00012,
    0.00110, -0.00016, -0.00283,
    -0.00119, 0.00013, 0.00297,
    0.00063, -0.00004, -0.00177,
    0.00324, 0.00009, -0.00050,
    -0.00374, -0.00014, 0.00063,
    0.00495, 0.00024, -0.00093,
    0.00020, 0.00150, 0.00000,
    -0.00021, -0.00170, -0.00004,
    0.00024, 0.00214, 0.00012,
    -0.00061, 0.00012, 0.00156,
    0.00070, -0.00012, -0.00177,
    -0.00093, 0.00012, 0.00223
  ),
  nrow = 9
)

phi <- MCPhi(
  phi = phi,
  vcov_phi_vec = vcov_phi_vec,
  R = 1000L
)$output

# Specific time interval ----------------------------------------------------
PosteriorIndirectCentral(
  phi = phi,
  delta_t = 1
)
#> 
#> Indirect Effect Centrality
#> 
#> $`1`
#>   interval    est     se    R    2.5%  97.5%
#> x        1 0.0010 0.0196 1000 -0.0365 0.0408
#> m        1 0.1673 0.0174 1000  0.1356 0.2031
#> y        1 0.0007 0.0138 1000 -0.0259 0.0293
#> 

# Range of time intervals ---------------------------------------------------
posterior <- PosteriorIndirectCentral(
  phi = phi,
  delta_t = 1:5
)

# Methods -------------------------------------------------------------------
# PosteriorIndirectCentral has a number of methods including
# print, summary, confint, and plot
print(posterior)
#> 
#> Indirect Effect Centrality
#> 
#> $`1`
#>   interval    est     se    R    2.5%  97.5%
#> x        1 0.0010 0.0196 1000 -0.0365 0.0408
#> m        1 0.1673 0.0174 1000  0.1356 0.2031
#> y        1 0.0007 0.0138 1000 -0.0259 0.0293
#> 
#> $`2`
#>   interval    est     se    R    2.5%  97.5%
#> x        2 0.0016 0.0384 1000 -0.0729 0.0768
#> m        2 0.4015 0.0463 1000  0.3144 0.4969
#> y        2 0.0018 0.0319 1000 -0.0579 0.0654
#> 
#> $`3`
#>   interval    est     se    R    2.5%  97.5%
#> x        3 0.0011 0.0468 1000 -0.0900 0.0927
#> m        3 0.5453 0.0712 1000  0.4159 0.6905
#> y        3 0.0020 0.0482 1000 -0.0916 0.0989
#> 
#> $`4`
#>   interval    est     se    R    2.5%  97.5%
#> x        4 0.0001 0.0519 1000 -0.1003 0.1026
#> m        4 0.5887 0.0865 1000  0.4366 0.7730
#> y        4 0.0016 0.0643 1000 -0.1276 0.1303
#> 
#> $`5`
#>   interval     est     se    R    2.5%  97.5%
#> x        5 -0.0005 0.0563 1000 -0.1091 0.1095
#> m        5  0.5618 0.0922 1000  0.4060 0.7622
#> y        5  0.0010 0.0794 1000 -0.1603 0.1584
#> 
summary(posterior)
#>    variable interval           est         se    R        2.5%      97.5%
#> 1         x        1  9.788989e-04 0.01963524 1000 -0.03647796 0.04076700
#> 2         m        1  1.672889e-01 0.01742462 1000  0.13564951 0.20305417
#> 3         y        1  7.418121e-04 0.01377097 1000 -0.02593465 0.02930916
#> 4         x        2  1.617078e-03 0.03840207 1000 -0.07287037 0.07677278
#> 5         m        2  4.014789e-01 0.04628090 1000  0.31443159 0.49687180
#> 6         y        2  1.778912e-03 0.03188078 1000 -0.05793438 0.06544479
#> 7         x        3  1.052455e-03 0.04682777 1000 -0.09002373 0.09270965
#> 8         m        3  5.453302e-01 0.07116259 1000  0.41588177 0.69045225
#> 9         y        3  2.041489e-03 0.04815189 1000 -0.09164859 0.09891248
#> 10        x        4  8.969429e-05 0.05193365 1000 -0.10030898 0.10255031
#> 11        m        4  5.886870e-01 0.08649085 1000  0.43655572 0.77296511
#> 12        y        4  1.641055e-03 0.06426294 1000 -0.12757086 0.13034183
#> 13        x        5 -4.715698e-04 0.05628920 1000 -0.10912895 0.10945063
#> 14        m        5  5.617592e-01 0.09215539 1000  0.40597962 0.76217923
#> 15        y        5  9.847401e-04 0.07942688 1000 -0.16027596 0.15841405
confint(posterior, level = 0.95)
#>    variable interval       2.5 %     97.5 %
#> 1         x        1 -0.03647796 0.04076700
#> 2         m        1  0.13564951 0.20305417
#> 3         y        1 -0.02593465 0.02930916
#> 4         x        2 -0.07287037 0.07677278
#> 5         m        2  0.31443159 0.49687180
#> 6         y        2 -0.05793438 0.06544479
#> 7         x        3 -0.09002373 0.09270965
#> 8         m        3  0.41588177 0.69045225
#> 9         y        3 -0.09164859 0.09891248
#> 10        x        4 -0.10030898 0.10255031
#> 11        m        4  0.43655572 0.77296511
#> 12        y        4 -0.12757086 0.13034183
#> 13        x        5 -0.10912895 0.10945063
#> 14        m        5  0.40597962 0.76217923
#> 15        y        5 -0.16027596 0.15841405
plot(posterior)