列线图是一张把复杂的统计模型(比如 Logistic 回归或 Cox 回归)变成一张“可视化评分卡”的图。其通常在医学、金融或社会科学研究中使用,在构建完成模型(比如二元Logit或者Cox回归)之后,如果需要预测一个结果发生的概率(比如:患者的康复概率、贷款的违约风险),此时需要套用复杂的数学公式进行计算,但这并不直观,列线图作用即可视化这种复杂公式,其 它将模型中的各个影响因素(如年龄、血压、性别等)分别画成带刻度的横线,并给每个因素赋分,只需要根据实际情况在图上打分、求和,就能一眼看出最终结果发生的概率。
某研究人员拟观察一种新型癌症药物的疗效情况,首先将50名癌症患者随机分成两组,对照组使用传统治疗方式,实验组使用新式药物治疗方式。并且随访时间为2年,以是否死亡为作为结局。希望通过研究了解到新式药物是否对于生存时间带来影响,同时性别和年龄有可能对于生存时间产生影响,因而性别和年龄也考虑在内。
原始数据如下图,下图中药物组别0表示传统治疗,1表示新式药物;性别0表示女性,1表示男性;年龄0表示50以下,1表示50及以上;生存时间以周为单位;生存状态1表示死亡,0表示生存。
当前使用Cox回归研究药物对于疗效的影响作用,并且将性别和年龄纳入考虑范畴中,并希望生成列线图来直观展示预测情况。
SPSSAU中进行列线图时,其共支持二元Logit回归和Cox回归两类模型,并且均支持放入定类或者定量数据,关于列线图的解读上,如下述:
比如上图是cox回归之后,可以得到很多个X,比如age, male sex, smoker, hypertension, dyslipidemia, diabeter…等的回归系数。按cox回归的原理来看,这些X的具体取值(假定其它不变化时)时会对应有一个Points即第1行的数字。比如Age为60的时候大概可对应着55,Smoker为1的时候对应18左右。每个变量的具体值时可对应一个Points,然后全部加起来就有个total points去对应。
比如新来一个病人,60岁吸烟然后其它X的属性都有,然后就可以快速的计算得到各个points并且得到total points。Total points得到后,目的是得到比如该病人5年的生存概率,也或者10年的生存概率,也或者15年的生存概率,比如上图时total points为165左右,大概来看,5年的生存概率是0.7(70%),10年是0.48即48%,15年为0.25即25%。
当前研究药物对于疗效的影响作用,并且将性别和年龄纳入考虑范畴中,药物和性别均是定类数据,年龄分成两组(数字0表示50以下,数字1表示50及以上),因此也是定类数据,操作如下图所示:
回归模型处下拉选择为‘Cox回归’,以及分别放入生成时间和生存状态项。将年龄选择进入‘定量’下拉框中,以及‘定类’下拉框中选择药物组别和性别。需要提供如下:
关于‘展示标签’,选中该项后,列线图上的坐标轴将显示变量的具体分类名称(比如男或者女),如果在SPSSAU并没有设置过标签其依旧会展示成对应的数字比如1或者2,可通过SPSSAU数据处理之数据标签功能进行设置后分析即可。
关于‘列线图设置’,预测时间点共包括3个时间点,完全不填写或者填写1/2/3个预测时间点均可,另时间点有着单位,比如本案例的单位为‘周’,那么比如希望研究10周的生存概率,那么就填入数字10,后面内容为比如“10 weeks survival”。
关于‘展示线性预测’,其被选中后,列线图中会生成一行‘Linear Predictor’来标识,其表示各变量分值汇总后的原始回归系数,实际意义很小通常可忽略,也可不展示在列线图中。
SPSSAU共输出列线图和一个列线图评价表格:
列线图的解读上,首先计算出各项X因素的得分,比如某个病人,使用传统治疗方式并且是女性并且50以下,那么分别对应的分值Points分别是:100、2左右和42左右,那么3项Points加和的Total Points为144分左右,其对应的‘10 weeks survival’大约为0.69左右,也即意味着10周的生存率为69%左右。
列线图评价是具体列线图的数字展示,比如上述中传统治疗方式为100分,女性为2.022分,年龄50以下为41.222分,也可通过列线图评价表格进行查看。
涉及以下几个关键点,分别如下:
SPSSAU中进行列线图分析时,支持二元Logit和Cox回归共两种模型;
SPSSAU中进行列线图分析时,预测时间点的设置需要介于‘生存时间’的范围内,可通过SPSSAU通用方法模块里面的描述分析,查看‘生存时间’项的最小值和最大值,并且确保预测时间点的设置介于数据范围内。
如果数据有设置好数据标签,则会在列线图中展示出对应的标签信息,如果没有设置,可通过数据处理里面的数据标签功能设置好标签之后,再进行分析即可。