View source: R/mable-po-model.r
mable.po | R Documentation |
Maximum approximate Bernstein/Beta likelihood estimation in general proportional odds regression model based on interal censored event time data.
mable.po(
formula,
data,
M,
g = NULL,
tau,
x0 = NULL,
controls = mable.ctrl(),
progress = TRUE
)
formula |
regression formula. Response must be |
data |
a data frame containing variables in |
M |
a positive integer or a vector |
g |
an initial guess of |
tau |
right endpoint of support |
x0 |
a data frame specifying working baseline covariates on the right-hand-side of |
controls |
Object of class |
progress |
if |
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.
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
Zhong Guan <zguan@iu.edu>
Guan, Z. Maximum Likelihood Estimation in Proportional Odds Regression Model Based on Interval-Censored Event-time Data
maple.ph
# 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.