weibfit {MCPModBC} | R Documentation |
Computes different estimators for the censored Weibull regression model
Description
Computes the maximum likelihood estimators (MLE) for the censored Weibull regression model. The bias-corrected estimators based on the Cox and Snell's and Firth's methods also are available. In addition, for the covariance matrix the corrected estimators discussed in Magalhaes et al. 2021 also are available.
Usage
weibfit(formula, data, L = Inf, estimator = "MLE",
corrected.var = FALSE)
Arguments
formula |
A formula that contains on the left hand side an object of the type Surv and on the right hand side the covariates definition |
data |
A data.frame in which the formula argument can be evaluated |
L |
the prefixed censoring times. |
estimator |
the class of estimator used: MLE (maximum likelihood estimator, by default), BCE (bias-corrected estimator based on the Cox and Snell's method) and Firth (bias-corrected estimator based on the Firth's method). |
corrected.var |
should the covariance-corrected estimator be used? (FALSE by default). See details. |
Details
The Weibull distribution considered here has probability density function
The regression structure is incorporated as
For
the computation of the bias-corrected estimators, is assumed as
fixed in the jackknife estimator based on the traditional MLE.
The Fisher information matrix for is given by
, where
,
, and
with and
denoting the
th order statistic from
, with
and
for types I and II censoring,
respectively. (See Magalhaes et al. 2019 for details).
The bias-corrected maximum likelihood estimator based on the Cox and Snell's
method (say ) is based on a corrective approach
given by
, where
with ,
,
is a diagonal matrix with diagonal given by the
diagonal of
,
diag
,
and
is a
-dimensional vector of ones.
The bias-corrected maximum likelihood estimator based on the Firth's method
(say ) is based on a preventive approach, which is
the solution for the equation
,
where
The covariance correction is based on the general result of Magalhaes et al. 2021 given by
where
, with
and
where diag
,
,
, with
representing a direct
product of matrices (Hadamard product),
is a
diagonal matrix, with
as its diagonal,
diag
,
,
indicating the second-order covariance matrix of the MLE
denoted by
and
indicating the second-order covariance matrix of the BCE
denoted by
.
Value
coefficients |
a vector with the estimated coefficients for
|
var |
a matrix with the estimated covariance matrix
for the estimates of the regression coefficients |
scale |
the estimated scale parameter |
loglik |
the
value for the logarithm of the likelihood function evaluated in the
estimates of |
linear.predictors |
a
vector with the estimated linear predictor |
y |
a vector with the observed times (possibly censored) |
estimator |
the estimator used for |
corrected.var |
logical. TRUE if a correction for the covariance was used, FALSE otherwise. |
Author(s)
Gallardo D.I., Diniz, M.A., Magalhaes, T.M.
References
Cox, D.R., Snell E.J. A general definition of residuals Journal of the Royal Statistical Society. Series B (Methodological). 1968;30:248-275.
Diniz, Márcio A. and Gallardo, Diego I. and Magalhães, Tiago M. (2023). Improved inference for MCP-Mod approach for time-to-event endpoints with small sample sizes. arXiv <doi.org/10.48550/arXiv.2301.00325>
Firth, D. Bias reduction of maximum likelihood estimates Biometrika. 1993;80:27-38.
Magalhaes Tiago M., Botter Denise A., Sandoval Monica C. A general expression for second- order covariance matrices - an application to dispersion models Brazilian Journal of Probability and Statistics. 2021;35:37-49.
Examples
require(survival)
set.seed(2100)
##Generating covariates
n=20;
x<-runif(n, max=10)
lambda<-exp(1.2-0.5*x); sigma<-1.5
##Drawing T from Weibull model and fixing censoring at 1.5
T<-rweibull(n, shape=1/sigma, scale=lambda); L<-rep(1.5, n)
##Defining the observed times and indicators of failure
y<-pmin(T,L);
delta<-ifelse(T<=L, 1, 0)
data=data.frame(y=y, delta=delta, x=x)
##Fitting for Weibull regression model
##Traditional MLE with corrected variance
ex1=weibfit(Surv(y,delta)~x, data=data, L=L, estimator="MLE",
corrected.var=TRUE)
summary(ex1)
##BCE without corrected variance
ex2=weibfit(Surv(y,delta)~x, data=data, L=L, estimator="BCE",
corrected.var=FALSE)
summary(ex2)
##BCE with corrected variance
ex3=weibfit(Surv(y,delta)~x, data=data, L=L, estimator="BCE",
corrected.var=TRUE)
summary(ex3)
##Firth's correction without corrected variance
ex4=weibfit(Surv(y,delta)~x, data=data, L=L, estimator="BCE",
corrected.var=FALSE)
summary(ex4)