mable.po: Mable fit of proportional odds rate regression model

View source: R/mable-po-model.r

mable.poR Documentation

Mable fit of proportional odds rate regression model

Description

Maximum approximate Bernstein/Beta likelihood estimation in general proportional odds regression model based on interal censored event time data.

Usage

mable.po(
  formula,
  data,
  M,
  g = NULL,
  tau,
  x0 = NULL,
  controls = mable.ctrl(),
  progress = TRUE
)

Arguments

formula

regression formula. Response must be cbind. See 'Details'.

data

a data frame containing variables in formula.

M

a 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.

g

an initial guess of d-vector of regression coefficients. See 'Details'.

tau

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

x0

a data frame specifying working baseline covariates on the right-hand-side of formula. See 'Details'.

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

Details

Consider PO model with covariate for interval-censored failure time data: [1-S(t|x)]/S(t|x) = \exp[\gamma'(x-x_0)][1-S(t|x_0)]/S(t|x_0), where x_0 satisfies \gamma'(x-x_0)\ge 0, where x and x_0 may contain dummy variables and interaction terms. The working baseline x0 in arguments contains only the values of terms excluding dummy variables and interaction terms in the right-hand-side of formula. Thus g is the initial guess of the coefficients \gamma of x-x_0 and could be longer than x0. Let f(t|x) and F(t|x) = 1-S(t|x) be the density and cumulative distribution functions of the event time given X = x, respectively. Then f(t|x_0) on [0, \tau] can be approximated by f_m(t|x_0, p) = \tau^{-1}\sum_{i=0}^m p_i\beta_{mi}(t/\tau), where p_i \ge 0, i = 0, \ldots, m, \sum_{i=0}^mp_i = 1, \beta_{mi}(u) is the beta denity with shapes i+1 and m-i+1, and \tau is the right endpoint of support interval of the baseline density. We can approximate S(t|x_0) on [0,\tau] by S_m(t|x_0; p) = \sum_{i=0}^{m} 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.

Response variable should be of the form cbind(l,u), where (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 if l = 0. The associated covariate contains d columns. The baseline x0 should chosen so that \gamma'(x-x_0) is nonnegative for all the observed x and all \gamma in a neighborhood of its true value.

A missing initial value of g is imputed by ic_sp() of package icenReg with model="po". The search for optimal degree m stops if either m1 is reached or the test for change-point results in a p-value pval smaller than sig.level. This process takes longer than maple.po to select an optimal degree.

Value

A list with components

  • m the selected/preselected optimal degree m

  • p the estimate of p = (p_0, \dots, p_m), the coefficients of Bernstein polynomial of degree m

  • coefficients the estimated regression coefficients of the PO model

  • SE the standard errors of the estimated regression coefficients

  • z the z-scores of the estimated regression coefficients

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

  • tau.n maximum observed time \tau_n

  • tau right endpoint of support [0, \tau]

  • x0 the working baseline covariates

  • egx0 the value of e^{\gamma'x_0}

  • convergence an integer code, 1 indicates either the EM-like iteration for finding maximum likelihood reached the maximum iteration for at least one m or the search of an optimal degree using change-point method reached the maximum candidate degree, 2 indicates both occured, and 0 indicates a successful completion.

  • delta the final delta if m0 = m1 or the final pval of the change-point for searching the optimal degree m;

and, if m0<m1,

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

  • 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\}

  • 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

Author(s)

Zhong Guan <zguan@iu.edu>

References

Guan, Z. Maximum Likelihood Estimation in Proportional Odds Regression Model Based on Interval-Censored Event-time Data

See Also

maple.ph

Examples


# Veteran's Administration Lung Cancer Data 
require(survival)
require(icenReg)
require(mable)
l<-veteran$time->u
u[veteran$status==0]<-Inf
veteran1<-data.frame(l=l, u=u, karno=veteran$karno, celltype=veteran$celltype, 
           trt=veteran$trt, age=veteran$age, prior=veteran$prior>0) 
fit.sp<-ic_sp(cbind(l,u) ~ karno+celltype, data = veteran1,  model="po") 
x0<-data.frame(karno=100, celltype="squamous")
tau<-2000
res<-mable.po(cbind(l,u) ~ karno+celltype, data = veteran1, M=c(1,35),                               
     g=-fit.sp$coefficients, x0=x0, tau=tau)                          
op<-par(mfrow=c(2,2))
plot(res, which = "likelihood")
plot(res, which = "change-point")
plot(res, y=data.frame(karno=20, celltype="squamous"), which="survival", 
      add=FALSE, type="l", xlab="Days", 
      main=expression(paste("Survival: ", bold(x)==0)))
plot(res, y=data.frame(karno=80, celltype="smallcell"), which="survival", 
      add=FALSE, type="l", xlab="Days", 
      main=expression(paste("Survival: ", bold(x)==bold(x)[0])))
par(op)



mable documentation built on Oct. 1, 2024, 9:06 a.m.