生存模型(Survival Model)介绍
https://www.cnblogs.com/BinbinChen/p/3416972.html
生存分析,维基上的解释是: 生存分析(Survival analysis)是指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析或存活率分析。
生存分析的方法也可以用在其他的商业应用中,比如顾客流失,等模型。大概可以从两个方向上去考虑生存分析的研究对象
1. 估计(各期的)生存函数,某个人病人可以活多久(e.g. 5年)的概率。常用的是Kanplan-Meier 估计。
2. 研究影响生存期长短的因素及关系,这个关系有两种,
a) 哪些素是最主要的因素,侧重qulitative,可以用决策树,随机森林等模型
b)各因素的相关系的数量表示,侧重quantitative。可以用cox,等等模型。
一、关于删失数据(censored data)
删失数据是生存分析的一个最主要的特征。删失数据不是缺失数据,它是可以观察到的,但是数据常常由于各种原因而被截断。主要有三种
- 右删失:这个是最常见的类型。比如,一项肺癌的研究,某些人活了6年之后,他移民了,那么这个数据就是删失的,信息是,这个人至少活了6年。
- 左删失:
- 区间删失:这个也比较常见。比如一项关于艾滋病的研究,某个患者是大概2012.6-2013.1得的艾滋病,因为他没半年会做一次检查。
由于删失数据的存在导致传统的一些方便需要作一些调整,比如后面给要提到的利用极大似然估计(MLE)去估计参数时,会稍有不同。
二、描述生存时间分布规律的函数
- 生存率:又称为生存概率或生存函数,它表示一个病人的生存时间长于时间t的概率,用S(t) 表示: s(t)=P(T³t)。生存率是一条下降的曲线。
- 概率密度函数:它表示死亡速率的大小。如以t为横坐,f(t) 为纵坐标作出的曲线称为密度曲线,由曲线上可看出不同时间的死亡速率及死亡高峰时间。纵坐标越大,其死亡速率越高,如曲线呈现单调下降,则死亡速率越来越小,如呈现峰值,则为死亡高峰。
- 危险函数:称为生存到时间t的病人在时间t的瞬时死亡率或条件死亡速率或年龄别死亡速率。当用t作横坐标,h(t)为纵坐标所绘的曲线,如递增,则表示条件死亡速率随时间而增加,如平行于横轴,则表示没有随时间而加速(或减少)死亡的情况。风险函数的不同情况:
- 常数, 如:死于飞机失事。
- 下降, 如:急性损伤。
- 上升, 如:持续接触危险因素。
- 澡盆样,如:人的一生。
二、非参数法估计生存函数
估计生存分析函数是生存分析一块很重要的部分,它可以给人一些基本的直观的信息。比如说,某个患者是采用化疗,还是手术会活的长久, 某个新药对治疗某种疾病是否有显著的效果。最常用的方法是Kanplan-Meier。非参数的方法的优势在于,只需要生存时间和数据是否是删失,就可以给人一个直观的图形,从图形也可以看到患者能活多久的概率是多少。一下是用R做的一个乳腺癌的案例:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!