fitsem: Constructing Large Systems of Structural Equations

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/fitsem.R

Description

Use the two-stage penalized least squares (2SPLS) method proposed by Chen, Zhang and Zhang (2016) to construct a large system of structural equations, with the k-th structural equation as Y_k = Y_{-k}γ_k+X_{S_k}ψ_{S_k}+ε_k.

Usage

1
fitsem(y,x,sk,method='2SPLS')

Arguments

y

a data frame containing the endogenous variables Y_1, Y_2, ..., Y_p in the model.

x

a data frame containing the exogenous variables X_1, X_2, ..., X_q in the model.

sk

a list with the k-th element specifying S_k which includes the indices of exogenous variables appearing in the structural equation for k-th endogenous variable.

method

the method to be used; the default is "2SPLS".

Details

2SPLS fits a single regression model for each endogenous variable at each stage. It employs the L_2 penalty at the first stage to obtain consistent estimation of a set of well-defined surrogate variables, and the L_1 penalty at the second stage to consistently select regulatory effects among massive candidates.

Value

y.names

the names of the endogenous variables.

x.names

the names of the exogenous variables.

y.source

a list with the k-th element indicating all endogenous variables which affect the k-th endogenous variable, i.e., all endogenous variables having nozero coefficients on the right-hand of the k-th structural equation.

y.gamma

a list with k-th element the nonzero coefficients of γ_k.

y.sk

the same as the input sk.

Author(s)

Chen Chen <chen1167@stat.purdue.edu>, Dabao Zhang <zhangdb@stat.purdue.edu>.

References

Chen, C., Zhang, M., and Zhang, D. (2016) A Two-Stage Penalized Least Squares Method for Constructing Large Systems of Structural Equations. (Submitted)

See Also

bootsem for bootstrap analysis of the fitted system of structural equations.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
data(simdata)
attach(simdata)
#simsem <- fitsem(y=y,x=x,sk=sk)
#summary(simsem)

# Check the exogenous variables affecting Y_1
#simsem$x.names[simsem$y.sk[[1]]]
#cat(simsem$y.names[1],'<-',simsem$x.names[sk[[1]]],'\n')

# Check the endogenous variables affecting Y_1
#simsem$y.names[simsem$y.source[[1]]]
#cat(simsem$y.names[1],'<-',simsem$y.names[simsem$y.source[[1]]],'\n')

# Check gamma_1
#simsem$y.gamma[[1]]

Example output



BigSEM documentation built on May 2, 2019, 3:37 p.m.