想了解更多相关内容,请关注公众号“极智分析”。
在临床研究分析中,机器学习的建模方法在数据量较大时展现出超越传统统计方法的优异表现。然而,对于大多数临床研究员,合理利用机器学习仍然存在较高的门槛。为了解决这一痛点,极智分析云平台“智能AI分析”模块应运而生。
在接下来几个月的时间里,我们一方面将结合用户需求对这一模块进行不断优化和提升,另一方面将持续在公众号内推出“智能AI分析"模块的使用教程,希望在提供功能服务的同时也进行相关知识的分享。作为本系列的第一篇,我们从”自变量重要度分析“入手对相关知识和使用教程进行展开介绍。
01
为什么要进行自变量的重要度分析?
事实上,重要度分析从属于另一个更广泛的主题——可解释性机器学习(预告:我们将在近期上线通用的模型解释功能,敬请期待)。就其使用而言,重要度分析有两种动机:
(1)在建模之前对不同变量进行粗糙挑选;
(2)在建模之后对相关变量的贡献进行分析。
其中第二点将需要更一般性的解释框架来解决,是一个学界和业界都在探讨的共同前沿课题,极智即将上线的模型解释功能将提供这一服务;而平台现有的“自变量重要度排序”则主要针对第一类需求设计,也即进行粗糙的变量挑选。
# 知识点补充:
理论上:应用机器学习建模时,变量筛选使用的模型应该和最终建模的模型保持一致,换言之,最可靠的变量筛选是posterior的,也就回到了一般性的解释框架里,这是因为不同的建模方法对变量的依赖程度不尽相同,其中最典型的例子就是多数tree-based模型(包括gradient boost,random forest),对数据的标准化几乎没有任何要求,但是基于线性回归的方法则对变量的取值范围非常敏感。
实际应用上:出于对计算资源的考虑,变量预挑选往往会使用一个与最终建模模型不同的简化模型做近似处理,从而依赖近似模型而非建模模型本身进行重要度分析。基于最终建模需求的不同,重要度分析简化模型的选取也可随之调整。
02
回归型建模重要度分析
针对回归型建模需求,平台提供了基于回归系数的线性简化模型进行重要度分析。已上线的两种方法及其适用情况如下:
(1)Lasso线性回归:Lasso回归在变量剔除中往往更加有效——它会将部分变量的回归系数调整为0,使得它们在最终拟合中被完全剔除,也因此常被应用于变量筛选中。
(2)Ridge线性回归:Ridge回归在自变量中存在大量多重共线性(multicolinearity)时表现更好——所谓共线性,也就是指不同变量的相关性很高。
下图是一个变量筛选的示例:选择Lasso作为排序分析模型后,可进一步指定最终显示的重要度最高的变量个数数字( 默认情况下为10个)

自动寻参功能开启时,平台将自动对不同超参数进行比较(其中最重要的是正则化系数)

# 知识点补充:
注意:线性回归类模型对变量的范围非常敏感,因此在进行重要度分析时,有必要提前对数据进行标准化处理。由于简化模型的线性属性,变量的重要度将直接同回归系数(绝对值)挂钩。
03
分类型建模重要度分析
针对分类型需求,平台提供了通用分类中表现最佳的模型——XGBoost(极端提度提升树)进行重要度分析,并且提供了多重指标,如权重重要度,(总)收益,(总)覆盖,最终的排序主要依靠权重重要度。这些指标的计算是基于对所有模型树的所有分叉进行的汇总。下图是一个示例:

# 知识点补充:
一般情况下,树模型对变量范围的依赖不高,所以即使不做标准化处理也可以得到较好的表现。但一些情况下选取标准化处理可以使得不同指标的排序结果更加一致。