Найти R-квадрат значения Вейбулла (модель выживания) в R - PullRequest
0 голосов
/ 02 июля 2018

У меня есть объект выживания (S), для которого я делаю подборку Вейбулла с использованием функции Survreg и распределения Вейбулла в R.

S = Surv(data$ValueX, data$ValueY)
W = Survreg(S ~ 1, data=data, dist="weibull") 

Как извлечь значение R-квадрата из подгонки Вейбулла, которая по сути является линейной линией? Или есть функция для расчета значения коэффициента корреляции Rho?

По сути, я хочу посчитать, насколько хорошо подходит.

1 Ответ

0 голосов
/ 02 июля 2018

Посмотрите на 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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...