R: Fit Semiparametric Proportional 0dds Model for the competing...

prop.odds.subdist {timereg} | R Documentation

## Fit Semiparametric Proportional 0dds Model for the competing risks subdistribution

### Description

Fits a semiparametric proportional odds model:

logit(F_1(t;X,Z)) = log( A(t)) + β^T Z

where A(t) is increasing but otherwise unspecified. Model is fitted by maximising the modified partial likelihood. A goodness-of-fit test by considering the score functions is also computed by resampling methods.

### Usage

    prop.odds.subdist(formula, data = sys.parent(), cause = 1,
      beta = NULL, Nit = 10, detail = 0, start.time = 0,
      max.time = NULL, id = NULL, n.sim = 500, weighted.test = 0,
      profile = 1, sym = 0, cens.model = "KM", cens.formula = NULL,
      clusters = NULL, max.clust = 1000, baselinevar = 1,
      weights = NULL, cens.weights = NULL)

### Arguments

`formula` | a formula object, with the response on the left of a '~' operator, and the terms on the right. The response must be an object as returned by the ‘Event’ function.
`data` | a data.frame with the variables.
`cause` | cause indicator for competing risks.
`beta` | starting value for relative risk estimates
`Nit` | number of iterations for Newton-Raphson algorithm.
`detail` | if 0 no details is printed during iterations, if 1 details are given.
`start.time` | start of observation period where estimates are computed.
`max.time` | end of observation period where estimates are computed. Estimates thus computed from [start.time, max.time]. This is very useful to obtain stable estimates, especially for the baseline. Default is max of data.
`id` | For timevarying covariates the variable must associate each record with the id of a subject.
`n.sim` | number of simulations in resampling.
`weighted.test` | to compute a variance weighted version of the test-processes used for testing time-varying effects.
`profile` | use profile version of score equations.
`sym` | to use symmetrized second derivative in the case of the estimating equation approach (profile=0). This may improve the numerical performance.
`cens.model` | specifies censoring model. So far only Kaplan-Meier "KM".
`cens.formula` | possible formula for censoring distribution covariates. Default all !
`clusters` | to compute cluster based standard errors.
`max.clust` | number of maximum clusters to be used, to save time in iid decomposition.
`baselinevar` | set to 0 to save time on computations.
`weights` | additional weights.
`cens.weights` | specify censoring weights related to the observations.

### Details

An alternative way of writing the model :

F_1(t;X,Z) = \frac{ \exp( β^T Z )}{ (A(t)) + \exp( β^T Z) }

such that β is the log-odds-ratio of cause 1 before time t, and A(t) is the odds-ratio.

The modelling formula uses the standard survival modelling given in the survival package.

The data for a subject is presented as multiple rows or "observations", each of which applies to an interval of observation (start, stop]. The program essentially assumes no ties, and if such are present a little random noise is added to break the ties.

### Value

returns an object of type 'cox.aalen'. With the following arguments:

`cum` | cumulative timevarying regression coefficient estimates are computed within the estimation interval.
`var.cum` | the martingale based pointwise variance estimates.
`robvar.cum` | robust pointwise variances estimates.
`gamma` | estimate of proportional odds parameters of model.
`var.gamma` | variance for gamma.
`robvar.gamma` | robust variance for gamma.
`residuals` | list with residuals. Estimated martingale increments (dM) and corresponding time vector (time).
`obs.testBeq0` | observed absolute value of supremum of cumulative components scaled with the variance.
`pval.testBeq0` | p-value for covariate effects based on supremum test.
`sim.testBeq0` | resampled supremum values.
`obs.testBeqC` | observed absolute value of supremum of difference between observed cumulative process and estimate under null of constant effect.
`pval.testBeqC` | p-value based on resampling.
`sim.testBeqC` | resampled supremum values.
`obs.testBeqC.is` | observed integrated squared differences between observed cumulative and estimate under null of constant effect.
`pval.testBeqC.is` | p-value based on resampling.
`sim.testBeqC.is` | resampled supremum values.
`conf.band` | resampling based constant to construct robust 95% uniform confidence bands.
`test.procBeqC` | observed test-process of difference between observed cumulative process and estimate under null of constant effect over time.
`loglike` | modified partial likelihood, pseudo profile likelihood for regression parameters.
`D2linv` | inverse of the derivative of the score function.
`score` | value of score for final estimates.
`test.procProp` | observed score process for proportional odds regression effects.
`pval.Prop` | p-value based on resampling.
`sim.supProp` | re-sampled supremum values.
`sim.test.procProp` | list of 50 random realizations of test-processes for constant proportional odds under the model based on resampling.

### Author(s)

Thomas Scheike

### References

Eriksson, Li, Zhang and Scheike (2014), The proportional odds cumulative incidence model for competing risks, Biometrics, to appear.

Scheike, A flexible semiparametric transformation model for survival data, Lifetime Data Anal. (2007).

Martinussen and Scheike, Dynamic Regression Models for Survival Data, Springer (2006).

### Examples

    library(timereg)
    data(bmt)
    # Fits Proportional odds model
    out <- prop.odds.subdist(Event(time,cause)~platelet+age+tcell,data=bmt,
     cause=1,cens.model="KM",detail=0,n.sim=1000)
    summary(out)
    par(mfrow=c(2,3))
    plot(out,sim.ci=2);
    plot(out,score=1)

    # simple predict function without confidence calculations
    pout <- predictpropodds(out,X=model.matrix(~platelet+age+tcell,data=bmt)[,-1])
    matplot(pout$time,pout$pred,type="l")

    # predict function with confidence intervals
    pout2 <- predict(out,Z=c(1,0,1))
    plot(pout2,col=2)
    pout1 <- predictpropodds(out,X=c(1,0,1))
    lines(pout1$time,pout1$pred,type="l")

    # Fits Proportional odds model with stratified baseline, does not work yet!
    ###out <- Gprop.odds.subdist(Surv(time,cause==1)~-1+factor(platelet)+
    ###prop(age)+prop(tcell),data=bmt,cause=bmt$cause,
    ###cens.code=0,cens.model="KM",causeS=1,detail=0,n.sim=1000)
    ###summary(out)
    ###par(mfrow=c(2,3))
    ###plot(out,sim.ci=2);
    ###plot(out,score=1)

[Package timereg version 1.9.4 Index]