以SHAP值为基础的变量间关系分析(cox版本)
以下都是基于个人认识的观点,请大家酌情参考。
变量间关系分析,在医学中称做独立危险因素分析,作用是描述变量间的关系,也为后期构建预测模型奠定基础。
为什么以SHAP值为基础进行分析
如果分析某变量对结局变量的贡献,
- shap值反映一个变量对结局变量的贡献,且各个变量对结局变量的贡献可以进行比较,所以可以比较出各个变量对结局变量恭喜的大小;
- SHAP值计算的是边际贡献,当SHAP值为0的时候代表改变量对结局变量的贡献即将发生方向上的变化,比如结局变量是二分类变量,此时该变量从支持这一类结局变为支持另一类结局;
- SHAP值是在其它变量存在的情况下计算出来的,因此考虑了其他变量的影响,类似与多因素回归中的变量的权重。
- 传统的变量间关系分析中,如果两个变量都是连续变量是最理想的,SHAP值分析可以将分类变量和cox变量转变为连续变量(SHAP值),从而便利了分析过程。
SHAP值以上的特点,让我们可以在传统变量间关系之外,有了观察变量间关系的另外的角度。为了展现以SHAP分析为基础的变量间关系的分析,制作了两个web APP进行展示,一个是这里的cox版本,另外一个是二分类和连续变量版本。
我的APP特点
- 变量筛选模块,使用的是Boruta算法,筛选出的变量可以进入后续的SHAP分析。
2.SHAP分析模块,计算SHAP值,使用的模块是treeshap包。cox数据中需要考虑时间因素计算的是累计风险SHAP值,也可以计算指定时间点的累计风险SHAP值,但是因为技术原因没有移植到APP中,但是观察对分析结果影响不大。
3.RCS分析, RCS分析用于拟合变量值和该变量SHAP值之间的曲线关系,并标记出SHAP为0时的关键点。
总结
以上模块在常规变量间关系的分析之外,从另一个角度对变量间的关系进行了描述,有助于我们更全面地了解变量间关系。CSDN的VIP用户可以通过链接下载相关的代码。