переменная.)
й день,
Я мог бы опубликовать воспроизводимый код и, конечно, сделаю это, если все согласятся, что что-то не так, но сейчас я думаю, что мой вопрос довольно прост, и кто-то укажет мне правильный путь.
Я работаю в наборе данных, как это:
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
Я установил модель регрессии Кокса следующим образом:
fit_train = coxph(Surv(time = t,event = c) ~ created_as_free_user ,data = teste)
summary(fit_train)
И получил:
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
Все идет нормально. Следующий шаг: предсказать результаты на новых данных. Я понимаю различные типы предсказаний, которые может дать мне Предикат.coxph (или, по крайней мере, я так думаю). Давайте использовать type = "lp":
head(predict(fit_train,validacao,type = "lp"),n=20)
И получить:
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
ХОРОШО. Но когда я смотрю на данные, которые пытаюсь оценить:
# 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
Это меня смущает ....
Type = "lp" не должен давать вам линейные предсказания? Для этих данных выше, которые я пытаюсь оценить, так как переменная create_as_free_user равна true, я ошибаюсь, ожидая, что прогноз type = "lp" будет точно -0,7205 (коэффициент модели выше)? Откуда взялся -0.01208854? Я подозреваю, что это какая-то масштабная ситуация, но не смог найти ответ онлайн.
Моя конечная цель - это h (t), который задается типом предсказания = «ожидаемый», но мне не очень удобно его использовать, потому что он использует значение -0.01208854, которое я не до конца понимаю.
большое спасибо