为非线性数据开发良好解释模型的一般方法和技术

机器算法验证 回归 非线性 转换 解释模型
2022-03-29 19:00:18

我最近通过逻辑回归对某些数据进行建模的各种努力……都没有成功。虽然还有更多数据需要查看,但我也一直想探索数据中的非线性依赖关系。

是否有比逻辑回归(或一般的线性回归)具有更好拟合能力的技术仍然保持易于解释和解释能力(即不是神经网络或其他“黑匣子”技术)?

我最初的直觉是将变换应用于各个变量及其组合。对于变量x1...xn, 可能性包括采取log(xi),xim,xmi 或者xixj等三阶关系(即xixjxk) 将被省略,因为它们不容易可视化或绘制图表。

不用说,即使对于少量的变量,这些转换后的变量的数量也很容易膨胀到难以处理的大小,而要系统尝试的这些变量的组合数量也同样巨大。此外,给定变量的各种变换之间会存在多重共线性问题xi.

编辑:我现在正在考虑对连续变量使用正交多项式,对不同类型的分类变量使用逻辑组合( $x_i & x_j* )。我觉得我在这里重新发明了轮子,但仍然没有找到关于明智地做这类事情的有用信息。任何帮助将不胜感激。

3个回答

我认为值得考虑使用广义加法模型(GAM)。GAM 能够封装响应变量​​和结果变量之间的非线性关系,并且可以直接解释。它们在统计界广为人知并被广泛使用。完全非正式的方式:GAM 实际上是带有开箱即用的半自动基础扩展模块的 GLM。无需定义古怪x14,sin(2πx)等变换,将自动选择最佳非线性关系。GAM 非常适合可视化(可能)变化的影响x关于结果y.

有大量关于在线使用 GAM 的好资源(例如这里这里),印刷版(例如这里这里),并且 CV 确实有几十个关于广义加法模型的有见地的问题和答案。R 有两个非常好的 GAM 包gammgcv. 我建议你从mgcv方便起见开始。

我建议你也看看FAT/ML(机器学习中的公平、责任和透明度)倡议。它有一些很棒的新颖想法。关于 GAM,我建议您参考 Rich Caruana 的 2017 年受邀演讲“朋友不要让朋友部署黑盒模型”;它展示了 GAM 扩展(称为 GA2M)的应用,该扩展用于代替标准 ML 技术(随机森林),并给出了相似准确度但也完全可解释的结果。

我将把问题转为我认为可以澄清手头问题的术语——我们如何在保持可解释性的同时增加模型的灵活性,而不是大幅增加模型方差(在偏差/方差权衡的意义上)?

对特征和交互应用许多转换是增加模型灵活性的合理方法。正则化回归,例如LASSO弹性网络,可以应用于合成特征集的顶部,以拟合相对灵活的模型,同时执行特征选择和缩小模型可变性。此外,正则化将缩小或彻底删除相关特征的模型参数。通过正确归因效应大小,这使得拟合模型中单个效应的解释更加可靠。

但是,这种方法需要从业者确定模型的功能形式。例如,如何决定应用哪些转换?哪些功能可以交互以及它们的程度?根据上下文,例如领域知识或数据大小和稀疏性,这可能不切实际。在这种情况下,我们更喜欢更灵活的方法,例如神经网络或树集成,而不牺牲可解释性,而神经网络和树集成通常会这样做。

一个这样的模型是 RuleFit(初始发布简短解释)。这个想法是使用决策规则在数据中拟合任意形状(灵活性),然后使用一小部分规则(可变性)构建模型。这是使用树集合来完成规则生成,然后使用 LASSO 进行规则选择。树深度用于控制特征之间的交互程度。请注意,最终结果仍然是具有典型可解释性的线性模型。拟合模型中的最终规则集可以通过识别响应变化很大的数据中的拆分来提供额外的见解。

最后一点 - 虽然可解释的模型是可取的,但可以使用与模型无关的方法对“黑盒”模型执行多种类型的诊断和推理。

作为一名来自物理领域的工程师,我理解这件事的重要性。

如果您需要多维“平滑”拟合,高斯过程回归通常效果很好。然后可以通过投影图对数据进行分析(最多同时处理 2 个或 3 个输入参数)。您没有得到任何数据的分析表达式,但仍然可以将其与您对问题的了解联系起来。

我听说过(但我自己从未尝试过)的另一个很好的解决方案是使用 Sobol 指数的全局敏感性分析。此方法基于将您的问题分解为第一、第二等顺序,其中n-th 阶对应于 n 个输入参数的子集的组合(在总数中N)。

最后,我喜欢一种监督学习技术,因为它是一种白盒方法:分类和回归树。你得到一个可以很容易解释的二叉树,因为它直接作用于输入参数。通过研究树的更深层可以找到几个输入参数的组合影响。