zoukankan      html  css  js  c++  java
  • Cox回归模型【生存分析】

    参考:《复杂数据统计方法——基于R的应用》 吴喜之

    在生存分析中,研究的主要对象是寿命超过某一时间的概率。还可以描述其他一些事情发生的概率,例如产品的失效、出狱犯人第一次犯罪、失业人员第一次找到工作、青少年第一次吸毒等等。

    生存函数S(t):

    S(t)=P(T>t)=1-P(T<=t),t>0

    T:表示寿命的随机变量

    t:特定时间

    综合生存函数图:用到包survival

    案例:口腔癌数据

     实验分成两组:

    TX=1:仅放疗

    TX=2:放疗+化疗

    #读取数据
    u=read.csv("pharynx1.csv")
    #因子化定性变量
    x=1:11
    (x=x[-c(5,11)]) #去掉第五个和第11个(定性变量的下标)
    for(i in x) u[,i]=factor(u[,i]) #把定性变量从数值型转换成因子型
    #回归分析
    a=lm(TIME~.,data=u)
    summary(a)

    R2和调整R2不高,结果不理想。同时正态性条件不满足,所以检验得到的p-值也没有多大意义。

    对TIME做指数变换

    Box-Cox变换是统计建模中常用的一种数据变换,用于连续的响应变量不满足正态分布的情况。

    MASS包中的boxcox()函数可以寻找λ。

    #BOX-COX变换
    library(MASS)
    b=boxcox(TIME~.,data=u)
    I=which(b$y==max(b$y)) #which用于找到值在数组中的位置  使对数似然最大的λ位置
    b$x[I]
    

     

     尝试用TIME的0.4次方作为因变量来拟合数据

    a=lm(TIME^0.4~INST+SEX+TX+AGE+COND+T.STAGE+N.STAGE+STATYS,data=u)
    b=step(a)
    summary(b)
    anova(b)
    shapiro.test(b$res)

    拟合并不好。

  • 相关阅读:
    2020寒假简记
    感知神经网络模型与学习算法
    信息检索模型与评估
    Diffie-Hellman密钥交换
    RSA密码体制
    MySQL基准测试(benchmark)
    MySQL数据引擎
    MySQL 多版本并发控制(MVCC)
    MySQL事务管理
    利用dotnet restore 导入本地 .nupkg 包
  • 原文地址:https://www.cnblogs.com/zzhzhao/p/5930157.html
Copyright © 2011-2022 走看看