Learn R Programming

mable (version 4.1.1)

mable.ic: Mable fit based on one-sample interval censored data

Description

Maximum approximate Bernstein/Beta likelihood estimation of density and cumulative/survival distributions functions based on interal censored event time data.

Usage

mable.ic(
  data,
  M,
  pi0 = NULL,
  tau = Inf,
  IC = c("none", "aic", "hqic", "all"),
  controls = mable.ctrl(),
  progress = TRUE
)

Value

a class 'mable' object with components

  • p the estimated p with degree m selected by the change-point method

  • mloglik the maximum log-likelihood at an optimal degree m

  • interval support/truncation interval (0, b)

  • M the vector (m0,m1), where m1 is the last candidate when the search stoped

  • m the selected optimal degree by the method of change-point

  • lk log-likelihoods evaluated at \(m \in \{m_0, \ldots, m_1\}\)

  • lr likelihood ratios for change-points evaluated at \(m \in \{m_0+1, \ldots, m_1\}\)

  • tau.n maximum observed time \(\tau_n\)

  • tau right endpoint of support \([0, \tau)\)

  • ic a list containing the selected information criterion(s)

  • pval the p-values of the change-point tests for choosing optimal model degree

  • chpts the change-points chosen with the given candidate model degrees

  • convergence an integer code. 0 indicates successful completion(the iteration is convergent). 1 indicates that the maximum candidate degree had been reached in the calculation;

  • delta the final pval of the change-point for selecting the optimal degree m;

Arguments

data

a dataset either data.frame or an n x 2 matrix.

M

an positive integer or a vector (m0, m1). If M = m or m0 = m1 = m, then m is a preselected degree. If m0 < m1 it specifies the set of consective candidate model degrees m0:m1 for searching an optimal degree, where m1-m0>3.

pi0

Initial guess of \(\pi = F(\tau_n)\). Without right censored data, pi0 = 1. See 'Details'.

tau

right endpoint of support \([0, \tau)\) must be greater than or equal to the maximum observed time

IC

information criterion(s) in addition to Bayesian information criterion (BIC). Current choices are "aic" (Akaike information criterion) and/or "qhic" (Hannan–Quinn information criterion).

controls

Object of class mable.ctrl() specifying iteration limit and other control options. Default is mable.ctrl.

progress

if TRUE a text progressbar is displayed

Author

Zhong Guan <zguan@iu.edu>

Details

Let \(f(t)\) and \(F(t) = 1 - S(t)\) be the density and cumulative distribution functions of the event time, respectively. Then \(f(t)\) on \([0, \tau_n]\) can be approximated by \(f_m(t; p) = \tau_n^{-1}\sum_{i=0}^m p_i\beta_{mi}(t/\tau_n)\), where \(p_i \ge 0\), \(i = 0, \ldots, m\), \(\sum_{i=0}^mp_i = 1-p_{m+1}\), \(\beta_{mi}(u)\) is the beta denity with shapes \(i+1\) and \(m-i+1\), and \(\tau_n\) is the largest observed time, either uncensored time, or right endpoint of interval/left censored, or left endpoint of right censored time. We can approximate \(S(t)\) on \([0, \tau]\) by \(S_m(t; p) = \sum_{i=0}^{m+1} p_i \bar B_{mi}(t/\tau)\), where \(\bar B_{mi}(u)\), \(i = 0, \ldots, m\), is the beta survival function with shapes \(i+1\) and \(m-i+1\), \(\bar B_{m,m+1}(t) = 1\), \(p_{m+1} = 1 - \pi\), and \(\pi = F(\tau_n)\). For data without right-censored time, \(p_{m+1} = 1-\pi=0\). The search for optimal degree m is stoped if either m1 is reached or the test for change-point results in a p-value pval smaller than sig.level.

Each row of data, (l, u), is the interval containing the event time. Data is uncensored if l = u, right censored if u = Inf or u = NA, and left censored data if l = 0.

References

Guan, Z. (2019) Maximum Approximate Bernstein Likelihood Estimation in Proportional Hazard Model for Interval-Censored Data, arXiv:1906.08882 .

See Also

mable.group

Examples

Run this code
# \donttest{
 library(mable) 
 bcos=cosmesis
 bc.res0<-mable.ic(bcos[bcos$treat=="RT",1:2], M=c(1,50), IC="none")
 bc.res1<-mable.ic(bcos[bcos$treat=="RCT",1:2], M=c(1,50), IC="none")
 op<-par(mfrow=c(2,2),lwd=2)
 plot(bc.res0, which="change-point", lgd.x="right")
 plot(bc.res1, which="change-point", lgd.x="right")
 plot(bc.res0, which="survival", add=FALSE, xlab="Months", ylim=c(0,1), main="Radiation Only")
 legend("topright", bty="n", lty=1:2, col=1:2, c(expression(hat(S)[CP]),
               expression(hat(S)[BIC])))
 plot(bc.res1, which="survival", add=FALSE, xlab="Months", main="Radiation and Chemotherapy")
 legend("topright", bty="n", lty=1:2, col=1:2, c(expression(hat(S)[CP]),
               expression(hat(S)[BIC])))
 par(op)
# }

Run the code above in your browser using DataLab