0
$\begingroup$

I'm trying to model a survival situation like the following: Say I have 100 data points, and each will survive some number of days before dying at some point. In my problem I know that over a span of 70 days, only one data point will die each day. So by the end of 70 days, 70 are dead, and 30 are left. (And along the way - at day 20, 20 will be dead and 80 left, at day 30 30 dead and 70 left, etc.). Important is that at day X, once a point has died on that day, I KNOW nothing else can die until day X+1. In the end I'd like to be able to produce a curve for each test data point showing likelihood of being available at day X, but also be able to update those curves along the way, such that once I know the first points that have died up until day X, I have updated curves for each point remaining. In the end I'll also always have some data points still alive. I have a bunch of covariate data for each point, so it's like a regression survival problem, and I have plenty of training data.

(I don't need to directly predict at what day X I think each point will die, just likelihood of death at day X.)

I know the basics of survival modeling, but not enough to know if there's something out there that fits my situation. I've been looking at parametric survival models and correlated survival models, but hoping someone can point me in the right direction (and bonus points for any python or R code that would be related).

$\endgroup$
2
  • $\begingroup$ Is it also true that 1 must die on every single day? That seems to be implied in the question, but I'm not sure if that's what you actually mean. $\endgroup$
    – EdM
    Commented Mar 28, 2022 at 16:39
  • $\begingroup$ @EdM yes, 1 must die on every single day. So exactly one per day no more no less. (However there will be fewer days than samples, so there will be some alive at the end.) Thanks for clarifying. $\endgroup$
    – lilyrobin
    Commented Mar 28, 2022 at 17:12

1 Answer 1

1
$\begingroup$

The requirement of exactly 1 "death" per day provides a defined ordering of the events over time. A survival model that assumes independence among event times, like typical fully parametric models, doesn't seem appropriate. Any method that can evaluate sequential outcomes (event times) while handling censoring at the highest outcome value would, however, seem to work.

This could be modeled by any such method that can assess probability of an event at a given time as a function of (potentially time-dependent) covariate values.

A Cox model can do this under a proportional-hazards assumption. Although Cox models are usually thought about as working in continuous time, they are based on covariate values in place at discrete event times; the actual timing between events does not enter into the calculations.

Ordinal logistic regression can model the log-odds of surviving beyond a certain time point. Those still surviving at the end of the study would just be in the highest-outcome group. The orm() function in the R rms package efficiently handles cases with effectively continuous outcomes like this. I think that would work OK with your large number of non-event cases as the highest outcome level, although I don't have experience with your type of data.

If covariates aren't time-varying and you are willing to make assumptions similar to linear regression, you might consider a Buckley-James model as implemented in the bj() function of the rms package. (If there aren't censored outcome observations it's identical to ordinary least squares multiple regression.) I haven't thought through whether those assumptions make sense in this situation, however.

For further reference, Tutz and Schmid discuss several non-parametric and parametric approaches in Modeling Discrete Time-to-Event Data.

$\endgroup$
1
  • $\begingroup$ This is very helpful, thank you!! $\endgroup$
    – lilyrobin
    Commented Mar 31, 2022 at 18:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.