Package 'aisoph'

Title: Additive Isotonic Proportional Hazards Model
Description: Nonparametric estimation of additive isotonic covariate effects for proportional hazards model.
Authors: Yunro Chung [aut, cre]
Maintainer: Yunro Chung <[email protected]>
License: GPL (>= 2)
Version: 0.4
Built: 2024-11-16 04:03:49 UTC
Source: https://github.com/cran/aisoph

Help Index


Additive Isotonic Proportional Hazards Model

Description

Nonparametric estimation of additive isotonic covariate effects for proportional hazards model.

Details

Package: aisoph
Type: Package
Version: 0.4
Date: 2023-03-03
License: GPL (>= 2)

Author(s)

Yunro Chung [aut, cre] Maintainer: Yunro Chung <[email protected]>

References

Yunro Chung, Anastasia Ivanova, Jason P. Fine, Additive isotonic proportional hazards models (working in progress).


Fit Additive Isotonic Proportional Hazards Model

Description

Nonparametric estimation of additive isotonic covariate effects for proportional hazards model.

Usage

aisoph(time, status, z1, z2, x, shape1, shape2, K1, K2, maxiter, eps)

Arguments

time

survival time. It must be greater than 0.

status

censoring indication. It must be 0 or 1.

z1

First covariate under order-restriction.

z2

Second covariate under-order restriction.

x

Additional covariates (vector or data.frame). This argument is optional

shape1

Shape-restriction for z1z1, "increasing" or "decreasing".

shape2

Shape-restriction for z2z2, "increasing" or "decreasing".

K1

anchor constraint for z1z1.

K2

anchor constraint for z2z2.

maxiter

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

eps

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

Details

The aisoph function allows to analyze additive isotonic proportional hazards model, which is defined as

λ(tz1,z2,x)=λ0(t)exp(ψ1(z1)+ψ2(z2)+βx),\lambda(t|z1, z2, x)=\lambda0(t)exp(\psi1(z1)+\psi2(z2)+\beta x),

where λ0\lambda0 is an unspecified baseline hazard function, ψ1\psi1 and ψ2\psi2 are monotone increasing (or decreasing) functions in z1z1 and z2z2, respectively, xx is a covariate, and β\beta is a regression paramter. If xx is omitted in the formulation above, ψ1\psi1 and ψ2\psi2 are only estimated.

The model is not identifiable without the anchor constraint, ψ1(K1)=0\psi1(K1)=0 and ψ2(K2)=0\psi2(K2)=0. By default, K1K1 and K2K2 are set to medians of z1z1 and z2z2 values, respectively. The choice of the anchor points is less important in the sense that hazard ratios do not depend on the anchors.

Value

A list of class isoph:

iso1

data.frame estimated ψ1\psi1, estimated exp(ψ1)\exp(\psi1), and cens at z1z1, where exp(ψ1)\exp(\psi1) is a hazard ratio between z1z1 and K1K1, and cens="no" if (at least one) subject is not censored at z1z1 or cens="yes" otherwise.

iso2

data.frame estimated ψ2\psi2, estimated exp(ψ2)\exp(\psi2), and cens at z2z2, where exp(ψ2)\exp(\psi2) is a hazard ratio between z2z2 and K2K2, and cens="no" if (at least one) subject is not censored at z2z2 or cens="yes" otherwise.

est

data.frame with estimated β\beta, and exp(β)\exp(\beta).

conv

status of algorithm convergence.

shape1

shape-constrain for ψ1\psi1.

shape2

shape-constrain for ψ2\psi2.

K1

anchor point for K1.

K2

anchor point for K2.

Author(s)

Yunro Chung [aut, cre]

References

Yunro Chung, Anastasia Ivanova, Jason P. Fine, Additive isotonic proportional hazards models (working in progress).

Examples

#require(survival)
#require(Iso)

###
# 1. time-independent covariate with monotone increasing effect
###
# 1.1. create a test data set 1
time=  c(1, 6, 3, 6, 7, 8, 1, 4, 0, 2, 1, 5, 8, 7, 4)
status=c(1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
z1=     c(3, 1, 2, 4, 8, 3, 3, 4, 1, 9, 4, 2, 2, 8, 5)
z2=     c(1, 3, 5, 6, 1, 7, 6, 8, 3, 4, 8, 8, 5, 2, 3)

# 1.2. Fit isotonic proportional hazards model
res1 = aisoph(time=time, status=status, z1=z1, z2=z2, 
              shape1="increasing", shape2="increasing")

# 1.3. print result
res1

#1.4. plot
plot(res1)

###
# 2. time-independent covariate with monotone increasing effect
###
# 2.1. create a test data set 1
time=  c(0,4,8,9,5,6,9,8,2,7,4,2,6,2,5,9,4,3,8,2)
status=c(0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1)
z1=    c(3,2,1,1,3,1,8,4,3,6,2,9,9,0,7,7,2,3,4,6)
z2=    c(3,6,9,9,4,3,9,8,4,7,2,3,1,3,7,0,1,6,4,1)
trt=   c(0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1)

# 2.2. Fit isotonic proportional hazards model
res2 = aisoph(time=time, status=status, z1=z1, z2=z2, x=trt,
              shape1="increasing", shape2="increasing")

# 2.3. print result
res2

#2.4. plot
plot(res2)