のヘルプページをお読みくださいpredict.coxph
。それらのどれも確率ではないはずです。共変量の特定のセットの線形予測子は、すべての予測値の平均を使用した仮説の (そして存在しない可能性が非常に高い) ケースに対する対数ハザード比です。「予想」はイベントの予測数であるため、確率に最も近くなりますが、時間の指定が必要であり、観測の開始時に危険にさらされている数で割る必要があります。
のヘルプ ページで提供されている例の場合、predict
予測されたイベントの合計が実際の数に近いことがわかります。
> sum(predict(fit,type="expected"), na.rm=TRUE)
[1] 163
> sum(lung$status==2)
[1] 165
survfit
イベントの確率は1-生存確率であるため、代わりに関数を使用したいと思うかもしれません。
?survfit.coxph
同様の質問のコードがここに表示されます: R での Cox 回帰後のデータフレームへの予測ハザード比の列の追加
膀胱 1 データセットの使用を提案したので、これは time=5 の仕様のコードになります。
summary(survfit(coxmodel), time=5)
#------------------
Call: survfit(formula = coxmodel)
time n.risk n.event survival std.err lower 95% CI upper 95% CI
5 302 26 0.928 0.0141 0.901 0.956
これは、次の名前のリスト要素として生存予測を含むリストとして返されます$surv
。
> str(summary(survfit(coxmodel), time=5))
List of 14
$ n : int 340
$ time : num 5
$ n.risk : num 302
$ n.event : num 26
$ conf.int: num 0.95
$ type : chr "right"
$ table : Named num [1:7] 340 340 340 112 NA 51 NA
..- attr(*, "names")= chr [1:7] "records" "n.max" "n.start" "events" ...
$ n.censor: num 19
$ surv : num 0.928
$ std.err : num 0.0141
$ lower : num 0.901
$ upper : num 0.956
$ cumhaz : num 0.0744
$ call : language survfit(formula = coxmodel)
- attr(*, "class")= chr "summary.survfit"
> summary(survfit(coxmodel), time=5)$surv
[1] 0.9282944