selection

Share:

Description

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

Usage

1
2
  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.

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 τ 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 β 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 τ 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 β favored by AIC, BIC, and the LRT of size alpha.

When one is interested in envelope model dimensions or eigenspaces with respect to β, then an asterdata object does not need to be specified. On the other hand, an asterdata is needed in order to map the estimated τ to its corresponding β 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.

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.

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("10.1080/10618600.2015.1029577")}.

Eck, D. J., Geyer, C. J., and Cook, R. D. (2016). Enveloping the aster model. in prep.

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
## 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)