disoph {isoSurv}R 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(zz,shape="increasing")+x1+x2+...+xpx_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 zz' name, shape and anchor point.

bshape

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

data

data.frame includes variables named in the formula argument.

maxiter

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

eps

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

Details

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

λ(tz,x)=λ0(t)exp(ψ(z)+β1x1+β2x2+...+βpxp),\lambda(t|z,x)=\lambda0(t)exp(\psi(z)+\beta_1x_1+\beta_2x_2+...+\beta_px_p),

based on the full likelihood, where λ0\lambda0 is a monotone increasing (or decreasing) baseline hazard function, ψ\psi is a monotone increasing (or decreasing) covariate effect function, zz is a univariate variable, (x1,x2,...,xpx_1,x_2,...,x_p) is a set of covariates, and β=(β1,β2,...,βp\beta=(\beta_1,\beta_2,...,\beta_p) is a set of corresponding regression parameters. It allows to estimate (λ0,β)(\lambda0, \beta) only if iso(zz,shape="increasing") is removed in the formula object. Likewise, It allows to estimate (λ0,ψ)(\lambda0, \psi) only if xx is removed in the formula object. Using the nonparametric maximum likelihood approaches, estimated λ0\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 λ0\lambda0, resulting in more efficient estimators especially for a finate sampe size.

For the anchor constraint, one point has to be fixed with ψ(K)=0\psi(K)=0 to solve the identifiability problem, e.g. λ0(t)exp(ψ(z))=(λ0(t)exp(c))(exp(ψ(z)+c))\lambda0(t)exp(\psi(z))=(\lambda0(t)exp(-c))(exp(\psi(z)+c)) for any constant cc. KK is called an anchor point. By default, we set KK as a median of values of zz'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 tt and estimated λ0\lambda0(t).

iso.cov

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

beta

estimated β1,β2,...,βp\beta_1,\beta_2,...,\beta_p.

conv

algorithm convergence status.

iter

total number of iterations.

Zk

anchor satisfying estimated ψ(Zk)\psi(Zk)=0.

shape.bh

order restriction on λ0\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)

[Package isoSurv version 0.3.0 Index]