50% off | Unlimited Data & AI Learning
Get 50% off unlimited learning

envlpaster (version 0.1-2)

selection: selection

Description

Finds the envelope eigenspace or dimension that is favored using AIC, BIC, or the LRT at a specified size.

Usage

selection(parm, index, model, data = NULL, alpha = 0.05, type = c("canonical","mean-value"), method = c("eigen","1d"))

Arguments

parm
The MLE of the parameter of interest.
index
The indices denoting which components of the canonical parameter vector are parameters of interest.
model
An aster model object.
data
An asterdata object.
alpha
The desired size of the LRT.
type
The parameterization of the aster model in which envelope methods are being applied.
method
The procedure used to obtain envelope estimators.

Value

aic
The eigenspace or envelope model dimension favored using AIC.
bic
The eigenspace or envelope model dimension favored using BIC.
LRT
The eigenspace or envelope model dimension favored using the LRT of size alpha.
out
The output table of all model selection criteria for all envelope estimators considered.

Details

This function provides the user with the envelope model dimension or indices of the eigenspace favored by AIC, BIC, and the likelihood ratio test of size alpha. There are four possible combinations of outputs. They are:
  1. [1.] The specification of method = "eigen" and type = "mean-value" provides the user with the indices of the eigenspace of estimated Fisher information used to construct an envelope estimator for $\tau$ favored by AIC, BIC, and the LRT of size alpha.
  2. [2.] The specification of method = "eigen" and type = "canonical" provides the user with the indices of the eigenspace of estimated Fisher information used to construct an envelope estimator for $\beta$ favored by AIC, BIC, and the LRT of size alpha.
  3. [3.] The specification of method = "1d" and type = "mean-value" provides the user with the envelope model dimension used to construct an envelope estimator for $\tau$ favored by AIC, BIC, and the LRT of size alpha.
  4. [4.] The specification of method = "1d" and type = "canonical" provides the user with the envelope model dimension used to construct an envelope estimator for $\beta$ favored by AIC, BIC, and the LRT of size alpha.

When one is interested in envelope model dimensions or eigenspaces with respect to $\beta$, then an asterdata object does not need to be specified. On the other hand, an asterdata is needed in order to map the estimated $\tau$ to its corresponding $\beta$ value. This is necessary because of the interface (or lack thereof) between current aster and aster2 software. The way in which aster model log likelihoods are evaluated is incorporated in aster software and changing parameterizations is carried out using aster2 software.

References

Cook, R.D. and Zhang, X. (2014). Foundations for Envelope Models and Methods. JASA, In Press.

Cook, R.D. and Zhang, X. (2015). Algorithms for Envelope Estimation. Journal of Computational and Graphical Statistics, Published online. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("#1")}10.1080/10618600.2015.1029577http://doi.org/10.1080/10618600.2015.1029577doi:\ifelse{latex}{\out{~}}{ }latex~ 10.1080/10618600.2015.1029577 . Eck, D. J., Geyer, C. J., and Cook, R. D. (2016). Enveloping the aster model. in prep.

Examples

Run this code
## Not run: 
#   set.seed(13)
#   library(envlpaster)
#   library(aster2)
#   data(generateddata)
#   m.null <- aster(resp ~ 0 + varb, fam = fam, pred = pred, 
#     varvar = varb, idvar = id, root = root, data = redata)
#   m1 <- aster(resp ~ 0 + varb + mass + timing, 
#     fam = fam, pred = pred, varvar = varb, idvar = id,
#     root = root, data = redata)
#   m2 <- aster(resp ~ 0 + varb + mass + timing + 
#     I(mass^2) + I(timing^2) + I(mass*timing), 
#     fam = fam, pred = pred, varvar = varb, idvar = id,
#     root = root, data = redata)
#   anova.table <- anova(m.null,m1,m2); anova.table
#   beta <- m1$coef
#   a <- grepl( "offsp", names(beta)) 
#   a <- a + grepl( "surviv", names(beta)) 
#   b <- which(a == 1)
#   target <- c(1:length(beta))[-b]
#   nnode <- ncol(m1$x)
#   data.aster <- asterdata(data, vars, pred, rep(0,nnode),
#     fam, families = list("bernoulli", "poisson", 
#     fam.zero.truncated.poisson()))
#   selection(parm  = beta, index = target, model = m1, 
#     data = data.aster, alpha = 0.05, type = "canonical", 
#     method = "eigen")
#   ## End(Not run)

Run the code above in your browser using DataLab