milr: Maximum likelihood estimation of multiple-instance logistic...

Description Usage Arguments Value Examples

Description

Please refer to milr-package.

Usage

1
2
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 x must be equal to the length of y.

bag

a vector, bag id.

lambda

the tuning parameter for LASSO-penalty. If lambda is a real value number, then the milr fits the model based on this lambda value. Second, if lambda is vector, then the optimal lambda value would be be chosen based on the optimality criterion, lambdaCriterion. Finally, if lambda = -1, then the optimal lambda value would be chosen automatically. The default is 0.

numLambda

An integer, the maximum length of LASSO-penalty. in atuo-tunning mode (lambda = -1). The default is 20.

lambdaCriterion

a string, the used optimality criterion for tuning the lambda value. It can be specified with lambdaCriterion = "BIC" or lambdaCriterion = "deviance".

nfold

an integer, the number of fold for cross-validation to choose the optimal lambda when lambdaCriterion = "deviance".

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 when lambdaCriterion = "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

 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
set.seed(100)
beta <- runif(5, -5, 5)
trainData <- DGP(70, 3, beta)
testData <- DGP(30, 3, beta)
# default (not use LASSO)
milr_result <- milr(trainData$Z, trainData$X, trainData$ID)
summary(milr_result)   # summary milr
coef(milr_result)      # coefficients
fitted(milr_result)    # fitted bag labels
fitted(milr_result, type = "instance")    # fitted instance labels
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
milr_result <- milr(trainData$Z, trainData$X, trainData$ID,
  exp(seq(log(0.01), log(50),length = 30)))
summary(milr_result)   # summary milr
coef(milr_result)      # coefficients

# use auto-tuning
milr_result <- milr(trainData$Z, trainData$X, trainData$ID, lambda = -1)
coef(milr_result)      # coefficients

# use cv in auto-tuning
milr_result <- milr(trainData$Z, trainData$X, trainData$ID, 
                    lambda = -1, lambdaCriterion = "deviance")
coef(milr_result)      # coefficients


Search within the milr package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.