0

我有一个生存对象(S),我正在使用 R 中的 survreg 函数和 weibull 分布对其进行 weibull 拟合。

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

如何提取本质上是一条线性线的 Weibull 拟合的 R 平方值?或者有没有计算相关系数值Rho的函数?

基本上,我想计算拟合优度。

4

1 回答 1

2

查看pam.censorPAmeasures 包,它会产生类似 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。

另一个想法是,对于没有协变量的 Weibull 模型,我们有 S(t) = exp(- (lambda * t)^p) 所以 log(-log(S(t))) 在 log(t) 中是线性的,因此我们可以使用相应回归的 R 平方来衡量模型对 Weibull 的拟合程度。

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)

对于没有协变量的卵巢数据,93% 的 R^2 很高,但该图确实表明系统性偏离线性,因此它可能不是真正的 Weibull。

其他

不确定这是否有趣,但 eha 包具有check.dist可用于将参数基线风险模型与 cox 比例风险模型进行视觉比较的功能。请参阅文档以及: 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 包具有三个函数,可为 cox 比例风险模型( 和 )提供 r 平方类型OXS统计Nagelk信息XO

于 2018-07-02T19:55:12.223 回答