sievePHipw {sievePH} | R Documentation |
Semiparametric Inverse Probability Weighted Complete-Case Estimation of Coefficients in a Mark-Specific Proportional Hazards Model with a Multivariate Continuous Mark, Missing-at-Random in Some Failures
Description
sievePHipw
implements the semiparametric inverse probability weighted (IPW) complete-case estimation method of Juraska and Gilbert (2015) for the multivariate mark-
specific hazard ratio, with the mark subject to missingness at random. It extends Juraska and Gilbert (2013) by weighting complete cases by the inverse of their estimated
probabilities given auxiliary covariates and/or treatment. The probabilities are estimated by fitting a logistic regression model with a user-specified linear predictor.
Coefficients in the treatment-to-placebo mark density ratio model (Qin, 1998) are estimated by solving the IPW estimating equations. The ordinary method of maximum partial likelihood
estimation is employed for estimating the overall log hazard ratio in the Cox model.
Usage
sievePHipw(
eventTime,
eventInd,
mark,
tx,
aux = NULL,
strata = NULL,
formulaMiss
)
Arguments
eventTime |
a numeric vector specifying the observed right-censored event time |
eventInd |
a numeric vector indicating the event of interest (1 if event, 0 if right-censored) |
mark |
either a numeric vector specifying a univariate continuous mark or a data frame specifying a multivariate continuous mark subject to missingness at random. Missing mark values should be set to |
tx |
a numeric vector indicating the treatment group (1 if treatment, 0 if placebo) |
aux |
a data frame specifying auxiliary covariates predictive of the probability of observing the mark. The mark missingness model only requires that the auxiliary covariates be observed in subjects who experienced the event of interest. For subjects with |
strata |
a numeric vector specifying baseline strata ( |
formulaMiss |
a one-sided formula object specifying (on the right side of the |
Details
sievePHipw
considers data from a randomized placebo-controlled treatment efficacy trial with a time-to-event endpoint.
The parameter of interest, the mark-specific hazard ratio, is the ratio (treatment/placebo) of the conditional mark-specific hazard functions.
It factors as the product of the mark density ratio (treatment/placebo) and the ordinary marginal hazard function ignoring mark data.
The mark density ratio is estimated using the IPW complete-case estimation method, extending Qin (1998), and
the marginal hazard ratio is estimated using coxph()
in the survival
package.
The asymptotic properties of the IPW complete-case estimator are detailed in Juraska and Gilbert (2015).
Value
An object of class sievePH
which can be processed by
summary.sievePH
to obtain or print a summary of the results. An object of class
sievePH
is a list containing the following components:
-
DRcoef
: a numeric vector of estimates of coefficients\phi
in the weight functiong(v, \phi)
in the density ratio model -
DRlambda
: an estimate of the Lagrange multiplier in the profile score functions for\phi
(that arises by profiling out the nuisance parameter) -
DRconverged
: a logical value indicating whether the estimation procedure in the density ratio model converged -
logHR
: an estimate of the marginal log hazard ratio fromcoxph()
in thesurvival
package -
cov
: the estimated joint covariance matrix ofDRcoef
andlogHR
-
coxphFit
: an object returned by the call ofcoxph()
-
nPlaEvents
: the number of events observed in the placebo group -
nTxEvents
: the number of events observed in the treatment group -
mark
: the input object -
tx
: the input object
References
Juraska, M., and Gilbert, P. B. (2015), Mark-specific hazard ratio model with missing multivariate marks. Lifetime Data Analysis 22(4): 606-25.
Juraska, M. and Gilbert, P. B. (2013), Mark-specific hazard ratio model with multivariate continuous marks: an application to vaccine efficacy. Biometrics 69(2):328-337.
Qin, J. (1998), Inferences for case-control and semiparametric two-sample density ratio models. Biometrika 85, 619-630.
See Also
summary.sievePH
, plot.summary.sievePH
, testIndepTimeMark
and testDensRatioGOF
Examples
n <- 500
tx <- rep(0:1, each=n / 2)
tm <- c(rexp(n / 2, 0.2), rexp(n / 2, 0.2 * exp(-0.4)))
cens <- runif(n, 0, 15)
eventTime <- pmin(tm, cens, 3)
eventInd <- as.numeric(tm <= pmin(cens, 3))
mark1 <- ifelse(eventInd==1, c(rbeta(n / 2, 2, 5), rbeta(n / 2, 2, 2)), NA)
mark2 <- ifelse(eventInd==1, c(rbeta(n / 2, 1, 3), rbeta(n / 2, 5, 1)), NA)
# a continuous auxiliary covariate
A <- (mark1 + 0.4 * runif(n)) / 1.4
linPred <- -0.8 + 0.4 * tx + 0.8 * A
probs <- exp(linPred) / (1 + exp(linPred))
R <- rep(NA, length(probs))
while (sum(R, na.rm=TRUE) < 10){
R[eventInd==1] <- sapply(probs[eventInd==1], function(p){ rbinom(1, 1, p) })
}
# produce missing-at-random marks
mark1[eventInd==1] <- ifelse(R[eventInd==1]==1, mark1[eventInd==1], NA)
mark2[eventInd==1] <- ifelse(R[eventInd==1]==1, mark2[eventInd==1], NA)
# fit a model with a bivariate mark
fit <- sievePHipw(eventTime, eventInd, mark=data.frame(mark1, mark2), tx,
aux=data.frame(A), formulaMiss= ~ tx * A)