Посмотрите на pam.censor
в пакете PAmeasures, который создает R ^ 2-подобную статистику. Использование набора данных яичников из пакета выживания:
library(PAmeasures)
library(survival)
fit.s <- survreg(Surv(futime, fustat) ~ age, data = ovarian, dist="weibull" )
p <- predict(fit.s, type = "response")
with(ovarian, pam.censor(futime, p, fustat))
Для данных яичников с регрессором возраста мы получаем значение только 0,0915.
Другая идея состоит в том, что для модели Вейбулла без ковариат мы имеем S (t) = exp (- (lambda * t) ^ p), поэтому log (-log (S (t))) линейно по log (t ) следовательно, мы могли бы использовать квадрат R соответствующей регрессии, чтобы измерить, насколько хорошо модель подходит к Вейбуллу.
library(survival)
fit1 <- survfit(Surv(futime, fustat) ~ 1, data = ovarian)
sum1 <- summary(fit1, times = ovarian$futime)
fo <- log(-log(surv)) ~ log(time)
d <- as.data.frame(sum1[c("time", "surv")])
fit.lm <- lm(fo, d)
summary(fit.lm)$r.sq
plot(fo, d)
abline(fit.lm)
Для данных по яичникам без ковариат R ^ 2 на 93% высока, но график действительно предлагает систематические отклонения от линейности, поэтому в действительности это может быть не Вейбулл.
Другое
Не уверен, что это представляет интерес, но пакет eha имеет функцию check.dist
, которую можно использовать для визуального сравнения параметрической базовой модели опасности с моделью пропорционального риска Кокса. Смотрите документацию, а также:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5233524/
Использование набора данных яичников из выживания:
library(eha)
library(surival)
fit.c <- coxreg(Surv(futime, fustat) ~ age, data = ovarian)
fit.p <- phreg(Surv(futime, fustat) ~ age, data = ovarian, dist = "weibull")
check.dist(fit.c, fit.p)
Пакет SurvAUC имеет три функции, которые предоставляют статистику типа r в квадрате для моделей пропорциональных рисков Кокса (OXS
, Nagelk
и XO
).