FMA.concurrent.CV: Functional mediation analysis under concurrent regression...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/FMA.concurrent.CV.R

Description

This function performs functional mediation regression under the concurrent model. Tuning parameter is chosen based on cross-validation.

Usage

1
2
3
FMA.concurrent.CV(Z, M, Y, intercept = TRUE, basis = NULL, Ld2.basis = NULL, 
    basis.type = c("fourier"), nbasis = 3, timeinv = c(0, 1), timegrids = NULL, 
    lambda = NULL, nfolds = 5)

Arguments

Z

a data matrix. Z is the treatment trajectory in the mediation analysis. The number of rows is the number of subjects, and the number of columns is the number of measured time points.

M

a data matrix. M is the mediator trajectory in the mediation analysis. The number of rows is the number of subjects, and the number of columns is the number of measured time points.

Y

a data matrix. Y is the outcome trajectory in the mediation analysis. The number of rows is the number of subjects, and the number of columns is the number of measured time points.

intercept

a logic variable. Default is TRUE, an intercept term is included in the regression model.

basis

a data matrix. Basis function used in the functional data analysis. The number of columns is the number of basis function considered. If basis = NULL, Fourier basis functions will be generated.

Ld2.basis

a data matrix. The second derivative of the basis function. The number of columns is the number of basis function considered. If Ld2.basis = NULL, the second derivative of Fourier basis functions will be generated.

basis.type

a character of basis function type. Default is Fourier basis (basis.type = "fourier").

nbasis

an integer, the number of basis function included. If basis is provided, this argument will be ignored.

timeinv

a numeric vector of length two, the time interval considered in the analysis. Default is (0,1).

timegrids

a numeric vector of time grids of measurement. If timegrids = NULL, it is assumed the between measurement time interval is constant.

lambda

a numeric vector of tuning parameter values.

nfolds

a number gives the number of folds in cross-validation.

Details

The concurrent mediation model is

M(t)=Z(t)α(t)+ε_{1}(t),

Y(t)=Z(t)γ(t)+M(t)β(t)+ε_{2}(t),

where α(t), β(t), γ(t) are coefficient curves. The model coefficient curves are estimated by minimizing the penalized L_{2}-loss. Tuning parameter λ controls the smoothness of the estimated curves, and is chosen by cross-validation.

Value

basis

the basis functions used in the analysis.

M

a list of output for the mediator model

coefficient: the estimated coefficient with respect to the basis function

curve: the estimated coefficient curve

fitted: the fitted value of M

lambda: the chosen λ value

Y

a list of output for the outcome model

coefficient: the estimated coefficient with respect to the basis function

curve: the estimated coefficient curve

fitted: the fitted value of Y

lambda: the chosen λ value

IE

a list of output for the indirect effect comparing Z_{1}(t)=1 versus Z_{0}(t)=0

coefficients: the coefficient with respect to the basis function

curve: the estimated causal curve

DE

a list of output for the direct effect comparing Z_{1}(t)=1 versus Z_{0}(t)=0

coefficients: the coefficient with respect to the basis function

curve: the estimated causal curve

Author(s)

Yi Zhao, Johns Hopkins University, zhaoyi1026@gmail.com;

Xi Luo, Brown University xi.rossi.luo@gmail.com;

Martin Lindquist, Johns Hopkins University, mal2053@gmail.com;

Brian Caffo, Johns Hopkins University, bcaffo@gmail.com

References

Zhao et al. (2017). Functional Mediation Analysis with an Application to Functional Magnetic Resonance Imaging Data. arXiv preprint arXiv:1805.06923.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
##################################################
# Concurrent functional mediation model
data(env.concurrent)
Z<-get("Z",env.concurrent)
M<-get("M",env.concurrent)
Y<-get("Y",env.concurrent)

## Not run: 
# consider Fourier basis
fit<-FMA.concurrent.CV(Z,M,Y,intercept=FALSE,timeinv=c(0,300))

# estimate of alpha
plot(fit$M$curve[1,],type="l",lwd=5)
lines(get("alpha",env.concurrent),lty=2,lwd=2,col=2)

# estimate of gamma
plot(fit$Y$curve[1,],type="l",lwd=5)
lines(get("gamma",env.concurrent),lty=2,lwd=2,col=2)

# estimate of beta
plot(fit$Y$curve[2,],type="l",lwd=5)
lines(get("beta",env.concurrent),lty=2,lwd=2,col=2)

# estimate of causal curves
plot(fit$IE$curve,type="l",lwd=5)
plot(fit$DE$curve,type="l",lwd=5)

## End(Not run)
##################################################

neuroconductor-devel/cfma documentation built on May 6, 2021, 4:48 p.m.