So schätzen Sie die Grundlinien-Gefährdungsfunktion im Cox-Modell mit R.

13

Ich muss die Grundlinien-Gefährdungsfunktion in einem zeitabhängigen Cox-Modell schätzenλ0(t)

λ(t)=λ0(t)exp(Z.(t)'β)

Während ich den Überlebenskurs belegte, erinnere ich mich, dass die direkte Ableitung der kumulativen Gefahrenfunktion ( λ0(t)dt=dΛ0(t) ) kein guter Schätzer wäre, da der Breslow-Schätzer eine Sprungfunktion ergibt.

Gibt es also eine Funktion in R, die ich direkt verwenden könnte? Oder eine Referenz zu diesem Thema?

Ich bin mir nicht sicher, ob es sich lohnt, eine weitere Frage zu stellen. Deshalb füge ich nur einige Hintergrundinformationen hinzu, warum die Grundlinien-Gefahrenfunktion für mich wichtig ist. Die folgende Formel schätzt die Wahrscheinlichkeit, dass die Überlebenszeit für ein Subjekt größer als für ein anderes ist. Bei einer Cox-Modelleinstellung ist die Basislinien-Gefahrenfunktion erforderlich. λ0(t)

P.(T.1>T.2)=- -0S.1(t)dS.2(t)=- -0S.1(t)S.2(t)λ2(t)dt

länglich
quelle
Über die Breslow-Schätzung: stats.stackexchange.com/questions/20747/…
Stéphane Laurent
Die Formel (4) dieses Papiers gibt eine Schätzung. jstor.org/stable/2530904
verlängern

Antworten:

20

Ein Cox-Modell wurde explizit entwickelt, um die Gefährdungsquoten abschätzen zu können, ohne die Grundgefährdungsfunktion abschätzen zu müssen. Dies ist eine Stärke und eine Schwäche. Die Stärke ist, dass Sie keine Fehler in Funktionen machen können, die Sie nicht schätzen. Dies ist eine echte Stärke und der Grund, warum die Leute es als "semi-parametrisch" bezeichnen und in hohem Maße für seine Popularität verantwortlich sind. Es ist jedoch auch eine echte Schwäche, da Sie, sobald Sie etwas anderes als die Gefährdungsquote wissen möchten, häufig die Grundlinien-Gefährdungsfunktion benötigen, die den eigentlichen Zweck eines Cox-Modells zunichte macht.

Daher benutze ich Cox-Modelle eher nur, wenn ich an Gefahrenquoten interessiert bin und sonst nichts. Wenn ich andere Dinge wissen möchte, gehe ich normalerweise zu anderen Modellen über, wie den hier diskutierten: http://www.stata.com/bookstore/flexible-parametric-survival-analysis-stata/

Maarten Buis
quelle
2
+1 Dies ist eine weitere Möglichkeit, die Basisdaten für
boscovich
3

Die Basislinien-Gefährdungsfunktion kann in R unter Verwendung der "Basehaz" -Funktion geschätzt werden. Die "Hilfedatei" gibt an, dass es sich um die Funktion "Vorausgesagtes Überleben" handelt, die es eindeutig nicht ist. Wenn man den Code inspiziert, ist es eindeutig die kumulative Gefahrenfunktion eines survfitObjekts. Für weitere Dummheit ist die Standardeinstellungcentered=TRUE dass a) keine Grundlinien-Gefährdungsfunktion ist (wie der Name vermuten lässt), und b) eine Vorhersage am Mittel verwendet, die in jedem praktischen Sinne als gültig diskreditiert wird.

Und zu Ihrem früheren Punkt: Ja, diese Funktion nutzt die Schrittfunktion. Sie können diesen Ausgang mithilfe der Glättung in eine Gefahrenfunktion umwandeln. Das Schlimmste daran ist, wie hoch das Unsicherheitsintervall für diese Vorhersage ist. Sie können eine Fields-Medaille erhalten, wenn Sie sie ableiten können. Ich glaube nicht, dass wir überhaupt wissen, ob Bootstrapping funktioniert oder nicht.

Als Beispiel:

set.seed(1234)
x <- rweibull(1000, 2, 3)
coxfit <- coxph(Surv(x) ~ 1)
bhest <- basehaz(coxfit)
haz <- exp(diff(bhest[, 1])*diff(bhest[, 2]))
time <- (bhest[-1,2] + bhest[-1000, 2])/2
b <- 2^-3

curve(3*b*x, from=0, to=max(x), xlab='Survival time', ylab='Weibull hazard')
points(t <- bhest[-1,2], h <- diff(bhest[, 1])/diff(bhest[, 2]), col='grey')
smooth <- loess.smooth(t, h)
lines(smooth$x, smooth$y, col='red')
legend('topright', lty=c(1,1,0), col=c('black', 'red', 'grey'), pch=c(NA,NA,1), c('Actual hazard fun', 'Smoothed hazard fun', 'Stepped discrete-time hazards'), bg='white')

Geben Sie hier die Bildbeschreibung ein

AdamO
quelle