milr {milr} | R Documentation |
Maximum likelihood estimation of multiple-instance logistic regression with LASSO penalty
Description
Please refer to milr-package.
Usage
milr(
y,
x,
bag,
lambda = 0,
numLambda = 20L,
lambdaCriterion = "BIC",
nfold = 10L,
maxit = 500L
)
Arguments
y |
a vector. Bag-level binary labels. |
x |
the design matrix. The number of rows of |
bag |
a vector, bag id. |
lambda |
the tuning parameter for LASSO-penalty. If |
numLambda |
An integer, the maximum length of LASSO-penalty. in atuo-tunning mode
( |
lambdaCriterion |
a string, the used optimality criterion for tuning the |
nfold |
an integer, the number of fold for cross-validation to choose the optimal |
maxit |
an integer, the maximum iteration for the EM algorithm. The default is 500. |
Value
An object with S3 class "milr".
lambdaa vector of candidate lambda values.
cva vector of predictive deviance via
nfold
-fold cross validation whenlambdaCriterion = "deviance"
.deviancea vector of deviance of candidate model for each candidate lambda value.
BICa vector of BIC of candidate model for each candidate lambda value.
best_indexan integer, indicates the index of the best model among candidate lambda values.
best_modela list of the information for the best model including deviance (not cv deviance), BIC, chosen lambda, coefficients, fitted values, log-likelihood and variances of coefficients.
Examples
set.seed(100)
beta <- runif(5, -5, 5)
trainData <- DGP(40, 3, beta)
testData <- DGP(5, 3, beta)
# default (not use LASSO)
milr_result <- milr(trainData$Z, trainData$X, trainData$ID)
coef(milr_result) # coefficients
fitted(milr_result) # fitted bag labels
fitted(milr_result, type = "instance") # fitted instance labels
summary(milr_result) # summary milr
predict(milr_result, testData$X, testData$ID) # predicted bag labels
predict(milr_result, testData$X, testData$ID, type = "instance") # predicted instance labels
# use BIC to choose penalty (not run)
#milr_result <- milr(trainData$Z, trainData$X, trainData$ID,
# exp(seq(log(0.01), log(50), length = 30)))
#coef(milr_result) # coefficients
#fitted(milr_result) # fitted bag labels
#fitted(milr_result, type = "instance") # fitted instance labels
#summary(milr_result) # summary milr
#predict(milr_result, testData$X, testData$ID) # predicted bag labels
#predict(milr_result, testData$X, testData$ID, type = "instance") # predicted instance labels
# use auto-tuning (not run)
#milr_result <- milr(trainData$Z, trainData$X, trainData$ID, lambda = -1, numLambda = 20)
#coef(milr_result) # coefficients
#fitted(milr_result) # fitted bag labels
#fitted(milr_result, type = "instance") # fitted instance labels
#summary(milr_result) # summary milr
#predict(milr_result, testData$X, testData$ID) # predicted bag labels
#predict(milr_result, testData$X, testData$ID, type = "instance") # predicted instance labels
# use cv in auto-tuning (not run)
#milr_result <- milr(trainData$Z, trainData$X, trainData$ID,
# lambda = -1, numLambda = 20, lambdaCriterion = "deviance")
#coef(milr_result) # coefficients
#fitted(milr_result) # fitted bag labels
#fitted(milr_result, type = "instance") # fitted instance labels
#summary(milr_result) # summary milr
#predict(milr_result, testData$X, testData$ID) # predicted bag labels
#predict(milr_result, testData$X, testData$ID, type = "instance") # predicted instance labels