Predizione nella regressione di Cox


38

Sto facendo una regressione multivariata di Cox, ho le mie significative variabili indipendenti e valori beta. Il modello si adatta molto bene ai miei dati.

Ora, vorrei usare il mio modello e prevedere la sopravvivenza di una nuova osservazione. Non sono chiaro come farlo con un modello Cox. In una regressione lineare o logistica, sarebbe facile, basta inserire i valori di nuova osservazione nella regressione e moltiplicarli con i beta e quindi ho la previsione del mio risultato.

Come posso determinare il mio rischio di base? Ne ho bisogno oltre a calcolare la previsione.

Come viene fatto in un modello Cox?

Risposte:


30

Seguente modello Cox, il rischio stimato per individuo con vettore covariate x i ha la forma h i ( t ) = h 0 ( t ) exp ( x ' i β ) , dove β è trovato massimizzando la probabilità parziale , mentre h 0 consegue stimatore Nelson-Aalen, h 0 ( t i ) = d iioXio

h^io(t)=h^0(t)exp(Xio'β^),
β^h^0 cont1,t2,...i cronologici distinti ediil numero di morti sulti (vedere, per esempio,sezione 3.6).
h^0(tio)=dioΣj:tjtioexp(Xj'β^)
t1t2,...diotio

S^io(t)=S^0(t)exp(Xio'β^)
S^0(t)=exp(-Λ^0(t))
Λ^0(t)=Σj:tjth^0(tj).

EDIT: questo potrebbe anche essere di interesse :-)


1
Questa è esattamente la mia domanda ... Ho bisogno di una stima della funzione di rischio di base per poter avere la previsione, corretta? Conosci qualche metodo per stimarlo?
Marja,

2
@Marjan the jackknife potrebbe non riflettere correttamente l'incertezza causata dalla selezione delle variabili. Il bootstrap mostra correttamente più variabilità in cui le variabili sono etichettate come "significative". Se si desidera eseguire una "convalida relativa", è possibile dimostrare che la discriminazione predittiva è buona dopo aver corretto per eccesso. Ciò non richiede di affrontare il rischio di base, ma sta convalidando le stime relative del rischio di log. La validatefunzione nel rmspacchetto R insieme alla cphfunzione lo farà. L'unico algoritmo stepwise implementato in validateè il stepdown all'indietro.
Frank Harrell,

1
Ottenere i rischi relativi previsti (ovvero il predittore lineare) è abbastanza semplice. Ma ho smesso di usare SAS nel 1991.
Frank Harrell,

8
Il collegamento è morto :-(.
gung - Ripristina Monica

2
C'è un modo per prevedere il tempo di sopravvivenza T per un individuo specifico? Voglio dire che, dato un elenco di valori per le covariate, qual è il modo per scoprire il tempo dopo il quale l'individuo ha maggiori probabilità di morire?
statBeginner,

14

La funzione predictSurvProbnel pecpacchetto può fornire stime di rischio assolute per nuovi dati basate su un modello cox esistente se si utilizza R.

I dettagli matematici che non posso spiegare.

EDIT: La funzione fornisce probabilità di sopravvivenza, che ho preso finora come 1- (Probabilità dell'evento).

MODIFICA 2:

Si può fare a meno del pacchetto pec. Utilizzando solo il pacchetto di sopravvivenza, la seguente funzione restituisce un rischio assoluto basato su un modello Cox

risk = function(model, newdata, time) {
  as.numeric(1-summary(survfit(model, newdata = newdata, se.fit = F, conf.int = F), times = time)$surv)
}

1-La probabilità di sopravvivenza è il rischio cumulativo. Penso che l'OP richieda la funzione di rischio istantaneo (della linea di base) o una sorta di stima liscia di esso ( muhazpacchetti in R).
ECII

1
1-La probabilità di sopravvivenza non è il rischio cumulativo. In assenza di rischi concorrenti i due sono collegati come dettagliato su en.wikipedia.org/wiki/… .
miura,

1-Probabilità di sopravvivenza = Tasso di fallimento (presupponendo solo 1x metodo di fallimento). Il rapporto tra probabilità di sopravvivenza e rischio cumulativo è delineato nella risposta accettata: S(t)=exp(−Λ(t))dov'è Λ(t)il rischio cumulativo.
NickBraunagel,

11

Forse ti piacerebbe provare anche qualcosa del genere? Montare un modello di rischio proporzionale Cox e utilizzarlo per ottenere la curva di sopravvivenza prevista per una nuova istanza.

Estratto dal file di aiuto per survfit.coxph in R (ho appena aggiunto la parte delle righe)

# fit a Cox proportional hazards model and plot the  
# predicted survival for a 60 year old 
fit <- coxph(Surv(futime, fustat) ~ age, data=ovarian) 
plot(survfit(fit, newdata=data.frame(age=60)),
     xscale=365.25, xlab="Years", ylab="Survival", conf.int=F) 
# also plot the predicted survival for a 70 year old
lines(survfit(fit, newdata=data.frame(age=70)),
     xscale=365.25, xlab="Years", ylab="Survival") 

È necessario tenere presente, tuttavia, affinché l'assunzione dei rischi proporzionali rimanga valida per la previsione, il paziente per il quale si prevede dovrebbe appartenere a un gruppo qualitativamente uguale a quello utilizzato per derivare il modello dei rischi proporzionali di Cox utilizzato per il predizione.


6

La basehazfunzione dei survivalpacchetti fornisce il rischio di base nei punti temporali dell'evento. Da ciò puoi risalire la matematica fornita da ocram e includere gli OR delle tue stime di coxph.


2

Il punto centrale del modello Cox è l'assunzione del rischio proporzionale e l'uso della verosimiglianza parziale. La probabilità parziale ha la funzione di rischio basale eliminata. Quindi non è necessario specificarne uno. Questa è la bellezza!


2
Se tuttavia si desidera ottenere una stima del rischio o della sopravvivenza per un determinato valore del vettore covariata, è necessario una stima del rischio o della sopravvivenza di base. La stima di Nelson-Aalen di solito fa il lavoro ...
ocram,

1
Spesso con il modello Cox si stanno confrontando due funzioni di sopravvivenza e la chiave è il rapporto di rischio piuttosto che la funzione di pericolo. Il rischio di base è come un parametro di disturbo che Cox ha eliminato in modo così intelligente dal problema usando il presupposto dei rischi proporzionali. Qualunque metodo si desideri utilizzare per stimare la funzione di pericolo e / o il rischio di base nel contesto del modello richiederebbe l'utilizzo della forma Cox del modello che forza la proporzionalità.
Michael R. Chernick,

Grazie mille, sarebbe bello se vedessi il mio commento sulla risposta di Ocram. Forse potresti aiutarmi anche tu?
Marja,

3
Puoi anche stratificare su fattori che non presentano rischi proporzionali. Ma in ogni caso il modello Cox e il suo stimatore post-adattamento del rischio di base possono essere utilizzati per ottenere quantili previsti di tempo di sopravvivenza, varie probabilità di sopravvivenza e tempo medio di sopravvivenza previsto se si ha un follow-up a lungo termine. Tutte queste quantità sono facili da ottenere nel pacchetto R rms.
Frank Harrell,

Non è necessario specificarlo, ma è stimato.
DWin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.