orthoDr_reg {orthoDr}R Documentation

Semiparametric dimension reduction method from Ma & Zhu (2012).

Description

Performs the semiparametric dimension reduction method associated with Ma & Zhu (2012).

Usage

orthoDr_reg(
  x,
  y,
  method = "sir",
  ndr = 2,
  B.initial = NULL,
  bw = NULL,
  keep.data = FALSE,
  control = list(),
  maxitr = 500,
  verbose = FALSE,
  ncore = 0
)

Arguments

x

A matrix or data.frame for features (continous only). The algorithm will not scale the columns to unit variance

y

A vector of continuous outcome

method

Dimension reduction methods (semi-): "sir", "save", "phd", "local" or "seff". Currently only "sir" and "phd" are available.

ndr

The number of directions

B.initial

Initial B values. If specified, must be a matrix with ncol(x) rows and ndr columns. Will be processed by Gram-Schmidt if not orthogonal. If the initial value is not given, three initial values ("sir", "save" and "phd") using the traditional method will be tested. The one with smallest l2 norm of the estimating equation will be used.

bw

A Kernel bandwidth, assuming each variables have unit variance

keep.data

Should the original data be kept for prediction. Default is FALSE.

control

A list of tuning variables for optimization. epsilon is the size for numerically approximating the gradient. For others, see Wen and Yin (2013).

maxitr

Maximum number of iterations

verbose

Should information be displayed

ncore

Number of cores for parallel computing. The default is the maximum number of threads.

Value

A orthoDr object consisting of list with named elements:

B

The optimal B value

fn

The final functional value

itr

The number of iterations

converge

convergence code

References

Ma, Y., & Zhu, L. (2012). A semiparametric approach to dimension reduction. Journal of the American Statistical Association, 107(497), 168-179. DOI: doi:10.1080/01621459.2011.646925

Ma, Y., & Zhu, L. (2013). Efficient estimation in sufficient dimension reduction. Annals of statistics, 41(1), 250. DOI: doi:10.1214/12-AOS1072

Examples

# generate some regression data
set.seed(1)
N <- 100
P <- 4
dataX <- matrix(rnorm(N * P), N, P)
Y <- -1 + dataX[, 1] + rnorm(N)

# fit the semi-sir model
orthoDr_reg(dataX, Y, ndr = 1, method = "sir")

# fit the semi-phd model
Y <- -1 + dataX[, 1]^2 + rnorm(N)
orthoDr_reg(dataX, Y, ndr = 1, method = "phd")

[Package orthoDr version 0.6.8 Index]