MyNixOS website logo
Description

Adaptive Lasso for the Cox Regression with Interval Censored and Possibly Left Truncated Data.

Penalized variable selection tools for the Cox proportional hazards model with interval censored and possibly left truncated data. It performs variable selection via penalized nonparametric maximum likelihood estimation with an adaptive lasso penalty. The optimal thresholding parameter can be searched by the package based on the profile Bayesian information criterion (BIC). The asymptotic validity of the methodology is established in Li et al. (2019 <doi:10.1177/0962280219856238>). The unpenalized nonparametric maximum likelihood estimation for interval censored and possibly left truncated data is also available.

ALassoSurvIC

The ALassoSurvIC package provides penalized variable selection tools for the Cox proportional hazards model with interval censored and possibly left truncated data. The main function alacoxIC performs the variable selection via penalized nonparametric maximum likelihood estimation with an adaptive lasso penalty. The function also finds the optimal thresholding parameter automatically by minimizing the Bayesian information criterion (BIC). The unpenalized Non-Parametric Maximum Likelihood Estimate (NPMLE) for interval censored and possibly left truncated data is also available with another main function unpencoxIC. The asymptotic validity of the methodology is established in Li et al. (2019).

Installation

install.packages("ALassoSurvIC")
intsall.packages("parallel") # required for parallel computing

Overview

The package contains two main functions (alacoxIC and unpencoxIC) and two methods (baseline and plot) for the objects returned by the main functions. The cluster object, created by makeCluster in the parallel package, can be supplied with the cl argument in the main functions to reduce computation time via parallel computing. The parallel computing will be used when searching the optimal thresholding parameter and calculating the hessian matrix of the log profile likelihood. How to use the parallel computing is illustrated in one of the examples given below.

  • alacoxIC : The function performs variable selection for interval censored data or for interval censored and left truncated data. The users can supply the value of a theresholding parameter with the argument theta in the function. If theta is not supplied by users, the function will automatically find the optimal thresholding parameter using a grid search algorithm, based on the Bayesian information criterion (BIC).

  • unpencoxIC: The function allows users to get unpenalized NPMLEs along with standard errors and 95% confidence intervals.

  • basline: The method to extract the NPMLEs for the baseline cumulative hazard function from an object returned by the alacoxIC function or the unpencoxIC function.

  • plot: The method to plot the estimated baseline cumulative hazard function or the estimated baseline survival function from an object returned by the alacoxIC function or the unpencoxIC function.

Example

The examples below show how to use the main functions and the methods with two virtual data sets; ex_IC is interval censored data and ex_ICLT is interval censored and left truncated data. Any inference cannot be drawn from these data sets.

Example 1: Interval censored data

library(ALassoSurvIC)

data(ex_IC) # 'ex_IC' is interval censored data
lowerIC <- ex_IC$lowerIC
upperIC <- ex_IC$upperIC
X <- ex_IC[, -c(1:2)]

## Performing the variable selection algorithm using a single core
## Use the `cl` argument to reduce computation time.
res <- alacoxIC(lowerIC, upperIC, X)
res           # main result
baseline(res) # obtaining the baseline cumulative hazard estimate
plot(res)     # plotting the estimated baseline cumulative hazard function by default
plot(res, what = "survival")  # plotting the estimated baseline survival hazard function

## Getting the unpenalized NPMLEs for interval censored data
res2 <- unpencoxIC(lowerIC, upperIC, X)
res2

Example 2: Interval censored and left truncated data

data(ex_ICLT) # 'ex_ICLT' is interval censored and left truncated data
lowerIC <- ex_ICLT$lowerIC
upperIC <- ex_ICLT$upperIC
trunc <- ex_ICLT$trunc
X <- ex_ICLT[, -c(1:3)]

## Performing the variable selection algorithm using a single core
## Use the `cl` argument to reduce computation time.
res3 <- alacoxIC(lowerIC, upperIC, X, trunc)
res3
baseline(res3)
plot(res3)
plot(res3, what = "survival")

## Getting the unpenalized NPMLEs for interval censored data
res4 <- unpencoxIC(lowerIC, upperIC, X, trunc)
res4

Example 3: Reducing computation time using parallel computing

data(ex_IC) # 'ex_IC' is interval censored data
lowerIC <- ex_IC$lowerIC
upperIC <- ex_IC$upperIC
X <- ex_IC[, -c(1:2)]

library(parallel)
cl <- makeCluster(2L)  # making the cluster object 'cl' with two CPU cores
# cl <- makeCluster(detectCores()) # run this code instead to use all available CPU cores

## Compare two computation times
## Note that the `unpencoxIC` function also allows users to use the `cl` argument.
system.time(res_parallel <- alacoxIC(lowerIC, upperIC, X, cl = cl)) # Use two cores
system.time(res <- alacoxIC(lowerIC, upperIC, X)) # Use a single core

Reference

Li, C., Pak, D., & Todem, D. (2019). Adaptive lasso for the Cox regression with interval censored and possibly left truncated data. Statistical methods in medical research, in press.

Metadata

Version

0.1.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD 13
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd13
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd13
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows