revisedStacking: Fit Models using Revised Stacking Algorithm

MTPSR Documentation

Fit Models using Revised Stacking Algorithm

Description

Fit a model using standard stacking algorithm or revised stacking algorithms to simultaneous predicte multiple outcomes

Usage

MTPS(xmat, ymat, family,
  cv = FALSE, residual = TRUE, nfold = 5,
  method.step1, method.step2,
  resid.type = c("deviance", "pearson", "raw"), resid.std = FALSE)

Arguments

xmat

Predictor matrix, each row is an observation vector

ymat

Responses matrix. Quantitative for family = "gaussian" and a factor of two levels for family = "binomial"

family

Response type for each response. If all response variable are within the same family it can be "gaussian" or "binomial", otherwise it is a vector with elements "gaussian" and "binomial" to indicate each response family

cv

Logical, indicate if use Cross-Validation Stacking algorithm

residual

Logical, indicate if use Residual Stacking algorithm

nfold

Integer, number of folds for Cross-Validation Stacking algorithm. The default value is 5

method.step1

Base Learners for fitting models in Step 1 of Stacking Algorithm. It can be one base learner function for all outcomes or a list of base learner functions for each outcome. The list of all base learners can be obtained by list.learners()

method.step2

Base Learners for fitting models in Step 2 of Stacking Algorithm. (see above)

resid.type

The residual type for Residual Stacking

resid.std

Logical, whether or not use standardized residual

Value

It returns a MTPS object. It is a list of 4 parameters containing information about step 1 and step 2 models and the revised stacking algorithm method.

Examples

data("HIV")
set.seed(1)
xmat <- as.matrix(XX)
ymat <- as.matrix(YY)
id <- createFolds(rowMeans(XX), k=5, list=FALSE)
training.id <- id != 1
y.train <- ymat[training.id, ]
y.test  <- ymat[!training.id, ]
x.train <- xmat[training.id, ]
x.test  <- xmat[!training.id, ]

# Residual Stacking
fit.rs <- MTPS(xmat = x.train, ymat = y.train,
  family = "gaussian",cv = FALSE, residual = TRUE,
  method.step1 = rpart1, method.step2 = lm1)
predict(fit.rs, x.test)

# using different base learners for different outcomes
 fit.mixOut <- MTPS(xmat=x.train, ymat=y.train,
  family="gaussian",cv = FALSE, residual = TRUE,
  method.step1 = c(rpart1,glmnet.ridge,rpart1,lm1,lm1),
  method.step2 = c(rpart1,lm1,lm1,lm1, glmnet.ridge))
predict(fit.mixOut, x.test)

MTPS documentation built on July 9, 2023, 7:46 p.m.