| maple.aft {mable} | R Documentation |
Mable fit of AFT model with given regression coefficients
Description
Maximum approximate profile likelihood estimation of Bernstein polynomial model in accelerated failure time based on interal censored event time data with given regression coefficients which are efficient estimates provided by other semiparametric methods.
Usage
maple.aft(
formula,
data,
M,
g,
tau = NULL,
p = NULL,
x0 = NULL,
controls = mable.ctrl(),
progress = TRUE
)
Arguments
formula |
regression formula. Response must be |
data |
a dataset |
M |
a positive integer or a vector |
g |
the given |
tau |
the right endpoint of the support or truncation interval |
p |
an initial coefficients of Bernstein polynomial of degree |
x0 |
a working baseline covariate |
controls |
Object of class |
progress |
if |
Details
Consider the accelerated failure time model with covariate for interval-censored failure time data:
S(t|x) = S(t \exp(\gamma^T(x-x_0))|x_0), where x_0 is a baseline covariate.
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 a support or truncation interval [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 larger than 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|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) 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 data if l = 0.
The truncation time tau and the baseline x0 should be chosen so that
S(t|x) = S(t \exp(\gamma^T(x-x_0))|x_0) on [\tau, \infty) is negligible for
all the observed x.
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.
Value
A list with components
-
mthe selected optimal degreem -
pthe estimate ofp=(p_0, \dots, p_m), the coefficients of Bernstein polynomial of degreem -
coefficientsthe given regression coefficients of the AFT model -
SEthe standard errors of the estimated regression coefficients -
zthe z-scores of the estimated regression coefficients -
mloglikthe maximum log-likelihood at an optimal degreem -
tau.nmaximum observed time\tau_n -
tauright endpoint of trucation interval[0, \tau) -
x0the working baseline covariates -
egx0the value ofe^{\gamma^T x_0} -
convergencean integer code, 1 indicates either the EM-like iteration for finding maximum likelihood reached the maximum iteration for at least onemor 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. -
deltathe finaldeltaifm0 = m1or the finalpvalof the change-point for searching the optimal degreem;
and, if m0<m1,
-
Mthe vector(m0, m1), wherem1is the last candidate when the search stoped -
lklog-likelihoods evaluated atm \in \{m_0, \ldots, m_1\} -
lrlikelihood ratios for change-points evaluated atm \in \{m_0+1, \ldots, m_1\} -
pvalthe p-values of the change-point tests for choosing optimal model degree -
chptsthe change-points chosen with the given candidate model degrees
Author(s)
Zhong Guan <zguan@iusb.edu>
References
Guan, Z. (2019) Maximum Approximate Likelihood Estimation in Accelerated Failure Time Model for Interval-Censored Data, arXiv:1911.07087.
See Also
Examples
## Breast Cosmesis Data
bcos=cosmesis
bcos2<-data.frame(bcos[,1:2], x=1*(bcos$treat=="RCT"))
g<-0.41 #Hanson and Johnson 2004, JCGS,
res1<-maple.aft(cbind(left, right)~x, data=bcos2, M=c(1,30), g=g, tau=100, x0=1)
op<-par(mfrow=c(1,2), lwd=1.5)
plot(x=res1, which="likelihood")
plot(x=res1, y=data.frame(x=0), which="survival", model='aft', type="l", col=1,
add=FALSE, main="Survival Function")
plot(x=res1, y=data.frame(x=1), which="survival", model='aft', lty=2, col=1)
legend("bottomleft", bty="n", lty=1:2, col=1, c("Radiation Only", "Radiation and Chemotherapy"))
par(op)