我有一个生存对象(S),我正在使用survreg函数和R中的weibull分布对其进行weibull拟合。
S = Surv(data$ValueX, data$ValueY)
W = Survreg(S ~ 1, data=data, dist="weibull")
如何提取实际上是线性线的Weibull拟合的R平方值?还是有一个计算相关系数值Rho的函数?
基本上,我想计算适合度。
答案 0 :(得分:2)
查看PAmeasures包中的pam.censor
,它会产生类似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)
对于没有协变量的卵巢数据,R ^ 2为93%较高,但是该图确实暗示了线性度的系统偏离,因此它可能不是真正的威布尔(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软件包具有三个功能,可为考克斯比例风险模型(OXS
,Nagelk
和XO
)提供平方型统计量。