disoph: Fit Double Isotonic Proportional Hazards Model

View source: R/03.disoph.R

disophR Documentation

Fit Double Isotonic Proportional Hazards Model

Description

Nonparametric estimation of monotone baseline hazard and monotone covariate effect functions in the proportional hazards model.

Usage

  disoph(formula, bshape, data, maxiter, eps)

Arguments

formula

formula object: response ~ iso(z,shape="increasing")+x_1+x_2+...+x_p. The response must be right-censored survival outcome using the Surv function in the survival package. The iso function attributes the covariate z' name, shape and anchor point.

bshape

direnction of the baseline hazard function (bshape="increasing" or "decreasing").

data

data.frame includes variables named in the formula argument.

maxiter

maximum number of iteration (default is 10^4).

eps

stopping convergence criteria (default is 10^-3).

Details

The disoph function computes (\lambda0, \psi, \beta) in the isotonic proportional hazards model, defined as

\lambda(t|z,x)=\lambda0(t)exp(\psi(z)+\beta_1x_1+\beta_2x_2+...+\beta_px_p),

based on the full likelihood, where \lambda0 is a monotone increasing (or decreasing) baseline hazard function, \psi is a monotone increasing (or decreasing) covariate effect function, z is a univariate variable, (x_1,x_2,...,x_p) is a set of covariates, and \beta=(\beta_1,\beta_2,...,\beta_p) is a set of corresponding regression parameters. It allows to estimate (\lambda0, \beta) only if iso(z,shape="increasing") is removed in the formula object. Likewise, It allows to estimate (\lambda0, \psi) only if x is removed in the formula object. Using the nonparametric maximum likelihood approaches, estimated \lambda0 and \psi are right continuous increasing (or left continuos decreasing) step functions. Compared to the standard partial likelihood approach, the full likelihood approach in the disoph function additionally use shape-information on \lambda0, resulting in more efficient estimators especially for a finate sampe size.

For the anchor constraint, one point has to be fixed with \psi(K)=0 to solve the identifiability problem, e.g. \lambda0(t)exp(\psi(z))=(\lambda0(t)exp(-c))(exp(\psi(z)+c)) for any constant c. K is called an anchor point. By default, we set K as a median of values of z's. The choice of anchor points are not important because, for example, different anchor points results in the same hazard ratios.

Value

A list of class fisoph:

iso.bh

data.frame with t and estimated \lambda0(t).

iso.cov

data.frame with z and estimated \psi(z).

beta

estimated \beta_1,\beta_2,...,\beta_p.

conv

algorithm convergence status.

iter

total number of iterations.

Zk

anchor satisfying estimated \psi(Zk)=0.

shape.bh

order restriction on \lambda0.

shape.cov

order restriction on \psi.

Author(s)

Yunro Chung [auth, cre]

References

Yunro Chung, Double Isotonic Proportional Hazards Models with Applications to Dose-Finding Studies. In preparation.

Examples

#test1
test1=data.frame(
  time=  c(2, 5, 1, 7, 9, 5, 3, 6, 8, 9, 7, 4, 5, 2, 8),
  status=c(0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1),
  z=     c(2, 1, 1, 3, 5, 6, 7, 9, 3, 0, 2, 7, 3, 9, 4)
)
disoph.fit1=disoph(Surv(time, status)~iso(z,shape="inc"),bshape="inc",data=test1)
print(disoph.fit1)
plot(disoph.fit1)

#test2
test2=data.frame(
  time=  c(2, 5, 1, 7, 9, 5, 3, 6, 8, 9, 7, 4, 5, 2, 8),
  status=c(0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1),
  z=     c(2, 1, 1, 3, 5, 6, 7, 9, 3, 0, 2, 7, 3, 9, 4),
  trt=   c(1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0),
  x=     c(1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6)
)
disoph.fit2=disoph(Surv(time, status)~iso(z,shape="inc")+trt+x,bshape="inc",data=test2)
print(disoph.fit2)
plot(disoph.fit2)

isoSurv documentation built on Sept. 2, 2023, 9:08 a.m.