
作者:丁点helper
来源:丁点帮你
今天我们开始一个新的主题——生存分析。什么叫生存分析?为什么要采用生存分析呢?
前面我们一起学习的多重线性回归和Logistic回归都主要是用来分析某个结果的影响因素,比如教育程度对收入的影响,或者,糖尿病发生与否的影响因素,这些方法主要是在静态地分析某一个特定的结果。
可是,倘若我们不仅仅关心结果的发生情况(发病VS未发病),同时我们也想看看发生该结果所经历的时间长短,此时,简单的线性或Logistic回归就难以满足这个需求,而生存分析可以来回答这类似的问题。
生存数据
多重线性回归,一般是指有多个自变量X,只有一个因变量Y。前面我们主要是以简单线性回归为例在介绍,两者的差距主要在于自变量X的数量,在只有一个X时,就称简单线性回归。
一般来讲,在医学科研中,生存分析较多应用在肿瘤病人的治疗方案评价方面。
这是因为对于癌症患者,我们往往更加关注的是”生存时间“,比如经常听到的:5年存活率、3年存活率... 而某种治疗方法的价值也主要表现在延长患者的存活时间。
比如在一项针对肺癌患者的研究中,研究者可能会关注下面三个问题:
1)肺癌患者接受治疗后的生存状况如何?
2)哪种疗法的效果最好?
3)这些患者在接受治疗后的生存状况与哪些因素有关?
我们可以看到,这三个问题的答案不可能简单地通过最终的治疗结果来衡量:治愈VS未治愈。
原因很简单也很残酷,癌症不像感冒那样,不是看治好还是没治好,让患者存活更多时间、存活地更体面成为人们追求的目标。
好了,回到我们的主题,如何掌握生存分析,并且灵活地运用呢?
第一步是对下面几个基本的概念有一个清晰的认识。
生存数据:前面我们说到了,在某些研究中,除了要关注某结局事件的发生与否,还会考虑发生该结局所经历的时间长短,这种兼有时间和结局两种属性的数据,就被称作生存数据。
这种将事件结局的出现与否和达到终点所经历的时间结合起来的统计方法就被称作生存分析。
由此,在进行生存分析时对”起点”、”终点“、以及”所经历的时间“(生存时间)都有十分明确的定义。专业术语一般称为:
观察起点(或称起点事件)、观察终点(终点事件)和时间间隔。
生存时间的确定
多重线性回归,一般是指有多个自变量X,只有一个因变量Y。前面我们主要是以简单线性回归为例在介绍,两者的差距主要在于自变量X的数量,在只有一个X时,就称简单线性回归。
案例:某研究搜集了2013年1月1日至2015年12月31日间肺癌患者的资料,以了解患者接受治疗后的生存情况及其可能的影响因素。
前面谈到生存分析很关键的一点是确定生存时间,而确定生存时间最重要的是确定好观察起点和终点。
在本案例中,2013年1月1日是观察起点;2015年12月31日是观察终点,问题是并非所有人都是在起点进入观察,也并非在终点就正好发生结局(即死亡)。因此,我们需要做好相应的记录。
对于起点,观察对象可以在起点同时进入观察,也可以在不同时间点进入观察,如下A、B两种形式:
A:所有观察对象在同一时间点接受观察;
B:观察对象在不同时间点接受观察。
上图中,带点的空心圆圈表示出现终点事件,带加号的圆圈表示尚未出现终点事件。
对于终点的判断,要稍微复杂一下。
本案例的具体数据如下:
我们先不细看上面的数据,想这样一个问题:从开始观察(2013/1/1)到观察终止(2015/12/31),所有的观察对象会有哪些情况发生呢?
1)观察期内,能够正常的随访,但在观察终点前因肺癌死亡;
2)观察期内,正常随访一段时间就断了联系,后面的情况一概不清楚;
3)观察期内,能够正常随访,但在终点前因其他原因死亡的;
4)从开始观察到终止观察,一直存活的对象。
大家想想,是不是所有的观察对象都是这四种情况?是的
符合上面第一种情况的数据,我们一般称作完全数据(complete data),如上表中编号为1和3的患者,生存时间分别为23个月和13个月。
完全数据提供的是准确的生存时间。除了”完全数据“,其他的所有情况(即上面的2-4情况)所获得的数据均称作”删失数据“(censored data),有时也被称作”截尾数据“。
上表中的2号患者,属于”失访“导致的”删失“,患者可能变更联系方式、未继续就诊或拒绝访问等原因,无法继续随访,未能观察到终点事件。
另外两种”删失“情况对应上面第3)和第4)种情况:
比如表格中的编号4的患者,虽然死亡,但是死于车祸,这种”删失“称作”退出“;
5号患者在观察终点时仍然存活,这种情况称作”终止“。
一般来讲,我们会在删失数据的”生存时间“数据右上角标记”+“,表示真实的生存时间可能长于观察到的时间,但是未知。
对于生存时间单位的选择并没有特别的限制,可以是年、月、日,或小时等,一般呈现非正态分布,所以在进行生存分析时需进行特定的调整,对此,我们后续再谈。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
SQL Server 中 CONVERT 函数的日期转换:从基础用法到实战优化 在 SQL Server 的数据处理中,日期格式转换是高频需求 —— 无论 ...
2025-09-18MySQL 大表拆分与关联查询效率:打破 “拆分必慢” 的认知误区 在 MySQL 数据库管理中,“大表” 始终是性能优化绕不开的话题。 ...
2025-09-18CDA 数据分析师:表结构数据 “获取 - 加工 - 使用” 全流程的赋能者 表结构数据(如数据库表、Excel 表、CSV 文件)是企业数字 ...
2025-09-18DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12CDA 数据分析师:业务数据分析步骤的落地者与价值优化者 业务数据分析是企业解决日常运营问题、提升执行效率的核心手段,其价值 ...
2025-09-12用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10