京公网安备 11010802034615号
经营许可证编号:京B2-20210330
公众号:丁点帮你
作者:丁点helper
最近的生存分析系列文章都是介绍生存曲线的估计方法的,其中一篇讲了如何通过每一例患者的生存时间绘制生存曲线、估计生存率,这种方法被称为K-M法,是因为该方法最早是由Kaplan和Meier这两个人提出的;另一篇讲了如何理解生存率的95%置信区间。
回顾一下前面讲过的例子:为了解肺癌患者接受某种治疗后的生存状况,研究者收集了12名肺癌患者治疗后的住院资料。我们将12名观察对象的生存时间由小到大依次排列,可以计算每个时间点的生存概率,进而计算每个时间点的生存率。
然而在实际工作中,经常会遇到样本含量较大的随访资料,例如大型的队列研究。研究人员只会在计划好的时间点对所有研究对象进行随访(例如每年一次),而不会与每个研究对象持续保持联系,准确记录结局发生/删失发生的具体时间。
因此,某些个体的结局/删失发生在两次随访之间,研究者就不能获得其确切的生存时间,只能确定生存时间的区间。在这种情况下,可将原始资料按照生存时间分组再进行分析。
下面我们用一个例子来看看这种方法是如何实现的。
案例:为了解尘肺患者的生存期,回顾性调查了某煤矿确诊为尘肺的患者1166人,其生存时间列于下表。
与K-M法相比,这一方法中的生存时间由一个确切时间变为了一个时间区间(上表中的『确诊年数 ti』这一列)。
这种变化类似于制作频数分布表的过程,上表是对1166名患者的生存时间做了一个频数分布表,比如第一行中的数据就表示,确诊为尘肺后,寿命少于2年的有51人。教科书中把这样整理数据并估计生存率的方法叫做寿命表法。
接下来我们来一步步搞懂上面这张表。
第(1)~(4)列
在背景中讲过,本案例中患者确切的生存时间无从知晓,只能知道在哪个区间。所以要想把1166名患者的生存时间整合起来,就需要按照生存时间的区间来整理,也就是统计每个区间的人数。
你可能会问,为什么上表是以2年为一个区间呢?其实这个区间的宽度是根据随访时间和观察例数来确定的,可根据实际情况合理调整。
一般每个区间为半闭半开区间,最后一个区间终点在无穷大。本例分成了22个时间区间。
在确定分组区间之后,就要统计每个区间内的死亡人数di、删失人数ci以及期初观察人数ni。第一个时间区间的期初观察人数是所有的观察例数;下一个区间的期初观察例数按以下公式计算:
,这和之前讲过的K-M法是一样的。
第(5)~(7)列
在计算某一时间区间内的死亡概率时,需要用该区间内的死亡人数除以该区间内的观察人数,即
。但是当区间内存在删失时,这些个体并未观察至区间的终点,因此这里用期初观察人数做分母不太妥当。只有当删失数为0时,区间内有效观察人数才等于ni。
在一个特定时间区间内,我们假定删失个体发生的时间是均匀分布的,有的在区间刚开始就删失了,有的则在区间快要结束时才删失。把这些删失个体看做一个整体,相当于一半的个体在区间开始时删失,而另一半则存活到了区间结束。因此,可以认为区间内的有效观察人数为:
也被称为期初校正人数。
接下来每一个时间区间的死亡概率和生存概率也就很好计算了:
比如第三个区间(
),66名患者死亡,死亡概率就是:66/1069.5;对应的生存概率就是:1 - 66/1069.5。
上面的计算中,分母是1069.5,这个数值是怎么来的?计算过程如下:
第(8)~(9)列
接下来的一列就是生存分析中最关心的『生存率
』这一指标了。和之前讲过的一样,各时间点的生存率就是各区间生存概率的乘积。
......注意各时间区间对应的生存率应是该区间上限时间点的生存率,例如上表中第5个区间 [8, 10)对应的生存率为0.7565,意思是某患者确诊为尘肺后预测其活过10年的生存率为75.65%,而不是活过8年的生存率。
最后,再说说为什么要出现表中最后一列『生存率的标准误
』。我们这个表中每个区间的生存率都是用样本计算出来的,要想通过样本了解总体的情况,或者说想估计总体生存率的95%置信区间,就需要用到
。具体解释和计算方法在前文中有详细介绍。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01在数据库设计与业务数据维护中,自增ID是数据表最常用的主键字段,用于唯一标识每一条业务数据,正常状态下ID应保持连续递增。但 ...
2026-08-31在数理统计、数据分析、经济测算与日常量化评估中,平均值是刻画数据集中趋势、反映整体水平的基础核心指标。在实际应用中,最常 ...
2026-08-31在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-08-31