Guten Tag passen,Coxph Prognosen nicht die Koeffizienten
ich reproduzierbaren Code schreiben könnte und wird sicherlich, wenn sich alle einig, dass etwas nicht in Ordnung ist, aber jetzt denke ich, meine Frage ist ganz einfach und wird jemand zeigen Sie mir die richtige Weg.
ich in einem Datensatz wie folgt arbeite:
created_as_free_user t c
<fctr> <int> <int>
1 true 36 0
2 true 36 0
3 true 0 1
4 true 28 0
5 true 9 0
6 true 0 1
7 true 13 0
8 true 19 0
9 true 9 0
10 true 16 0
I ausgerüstet ist, ein Modell der Cox-Regression wie folgt aus:
fit_train = coxph(Surv(time = t,event = c) ~ created_as_free_user ,data = teste)
summary(fit_train)
Und erhalten:
Call:
coxph(formula = Surv(time = t, event = c) ~ created_as_free_user,
data = teste)
n= 9000, number of events= 1233
coef exp(coef) se(coef) z Pr(>|z|)
created_as_free_usertrue -0.7205 0.4865 0.1628 -4.426 9.59e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
created_as_free_usertrue 0.4865 2.055 0.3536 0.6693
Concordance= 0.511 (se = 0.002)
Rsquare= 0.002 (max possible= 0.908)
Likelihood ratio test= 15.81 on 1 df, p=7e-05
Wald test = 19.59 on 1 df, p=9.589e-06
Score (logrank) test = 20.45 on 1 df, p=6.109e-06
So weit, so gut. Nächster Schritt: Vorhersagen der Ergebnisse zu neuen Daten. Ich verstehe die verschiedenen Arten von Vorhersagen, die vorhersagen.coxph kann mir geben (oder zumindest ich denke, dass ich es tue). Lassen Sie uns die type = "lp" verwenden:
head(predict(fit_train,validacao,type = "lp"),n=20)
Und erhalten:
1 2 3 4 5 6 7 8 9 10
-0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854
11 12 13 14 15 16 17 18 19 20
-0.01208854 -0.01208854 0.70842049 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854 -0.01208854
OK. Aber wenn ich mir die Daten anschauen, die ich zu schätzen, ich versuche:
# A tibble: 9,000 × 3
created_as_free_user t c
<fctr> <int> <int>
1 true 20 0
2 true 12 0
3 true 0 1
4 true 10 0
5 true 51 0
6 true 36 0
7 true 44 0
8 true 0 1
9 true 27 0
10 true 6 0
# ... with 8,990 more rows
Es macht mich zu verwirren ....
Die type = „lp“ ist wohl nicht, dass Sie die linearen Prognosen geben? Für diese Daten oben, die ich versuche zu schätzen, da die created_as_free_user Variable gleich wahr ist, bin ich falsch, die Typ = "lp" Vorhersage zu erwarten ist genau -0.7205 (der Koeffizient des obigen Modells)? Woher kommt der -0.01208854? Ich vermute, es ist eine Art Maßstabssituation, aber ich konnte die Antwort nicht online finden.
Mein letztes Ziel ist das h (t), das durch den Prädiktionstyp = "expected" angegeben wird, aber ich bin nicht so komfortabel damit, weil es diesen -0.01208854-Wert verwendet, den ich nicht vollständig verstehe.
Vielen Dank