模型融合-最新进展和应用 (SAS Enterprise Miner)

模型融合:最新进展和应用

摘要

模型融合是一种流行的方法,其用于组合两个或更多预测模型的后验概率,以创建更准确的模型。本文总结了近期集中技术的理论背景,并介绍实际应用的实例。这些新颖的融合技术的实例包括了通过一次添加一个模型来组合后验概率的平均或投票方法之外的预测概率的加权(诸如堆叠或混合)。比较了几个数据集的拟合统计数据,以此来突出每种方法的优缺点,并提供可用作SAS Entrprise Miner的融合模板的流程图。

简介

模型融合在论文、现实世界的应用和数据挖掘竞赛中得到了很好的应用——最著名的是Netflix奖,KDD Cup和Kaggle——通过结合多个基模型的结果来创建融合模型可以提高预测精度。组合的模型可以基于多种算法,例如回归、决策树和神经网络,或基于相同算法的变种,例如使用不同分割和修剪标准的多颗决策树。即使最简单的融合,不考虑每个模型的性能,在多数情况下可以比最准确的单一算法更准确的预测,如果各个模型预测不相关时所得到的模型模型改进最多。当以分类为目标的分类目标或响应变量时,简单的融合方法包括投票和平均。通过将Ensemble节点合并到流程图中,可以在SAS Enterprise Miner中轻松实现这两种方法。可以通过这种方式组合任意数量的一下类型的模型:贝叶斯网络、决策树、回归模型,神经网络和支持向量机。通过SAS代码节点将少量SAS代码合并到流中,并使用模型比较节点生成的大量拟合统计数据,可以将这些简单方法扩展到更复杂的融合中。本文讨论了加权平均,堆叠和集成技术的几种,并基于聚类的选择实现,确保组合的模型具有代表性和多样性,类似于K均值聚类——基于选择性的集合。

融合方法

在SAS Enterprise Miner流程图中为分类响应变量实现以下融合方法,通过使用Ensemble节点或SAS代码节点来实现。

  • 简单平均 对于分类响应变量,这类似于简单投票加权,对模型输出的响应后验概率的计算平均值进行分类。
  • Top-t选择 模型按照准确度排序,选择最好的t个模型并使用验证数据来确定t的最佳值。可以将此选择方法视为评估候选模型多个组合的替代方法,主要是一次添加一个模型来进行简单加权。
  • 爬山选择 与Top-t集合选择一样,首先通过准确度对模型进行排序。本文实现基于任何给定模型来提高准确率,并在融合中包含最能提高验证集中误分类率的模型的后验概率,最后的集成是基于测试中的误分类率来选择的。
  • 加权平均 计算每个响应变量的后验概率加权平均值,并应用模型特定权重。Top-t选择和爬山选择都可以被认为特定的加权技术,其中Top-t选择选择模型的子集并为他们分配相同的权重,而爬山对每个模型具有不同的权重,具体取决于整体中包含特定模型的次数。
  • 堆叠(Stacking),也成为混合(Blending),使用来自用作输入的各种模型的后验概率和原始目标变量。在此框架中,可以使用线性回归模型为前面提到的加权平均生成权重,同时也可以实
    现几种类型的惩罚线性回归(lasso, ridge和elastic net)进行堆叠。诸如决策树和随机森林,也可用于堆叠。
  • 聚类选择 基于主成分变量的聚类方法,以聚类相似的后验概率,并使用简单平均来从每个聚类中选择最佳模型以组合成一个新的整体。该方法旨在确保集合中模型具有不一致的后验概率。该方法类似于Top-t集合选择方法,区别在于添加模型的决策是通过一次使用每个类簇中的一个模型来确定。
  • [ ] 图1
    Diagram of Clustering-Based Selection.png-60.4kB

  • [ ] 图2
    Output from Variable Cluster Node.png-128.4kB

解决方案

本文的主要目标是提供几种代码解决方案,可使用它们将SAS Enterprise Miner中现有的融合方法与更复杂的方法进行比较。图3描述了流程图表。

  • [ ] 图3
    Diagram Flow of Ensemble Methods.png-410.2kB

    1. 模型对比节点产生一些系列模型汇总信息,可以在其他集成节点使用。Simple Avg Ensemble代码节点,通过使用简单计算后验概率平均值。这样以来,就可以集成HP Forest, HP SVM,和MBR,这些原来在集成节点中不支持的算法。
    2. 创建加权平均集成的一种方法是使用线性回归来计算模型后验概率的权重。可以通过添加HP Regression节点或者Regression节点来执行此操作。注意使用HP回归节点,若首先将二进制目标转换为值为0和1的区间目标,则可以使用Lasso模型选择方法执行惩罚线性回归;或者使用SAS代码节点中的GLMSelect过程,可以拟合岭回归和Elastic net回归,以及用于控制搜索或使用交叉验证选择最佳正则参数。为了确认模型的权重,可以根据其后验概率的p值来评估集合中那些模型具有统计显著性。
    3. 创建堆叠融合,只需要将预测模型链接到用于计算简单集合的SAS代码的输出节点。可以选择决策树、神经网络或者HP随机森林等算法进行堆叠。
    4. 使用“变量聚类”节点可以确保Top-t集合考虑模型多样性的来融合模型。变量聚类节点确定哪些模型相似,然后在SAS Top-t Ensemble类簇中的一个模型。
      为了保证Top-t和爬山集合可以产生真正无偏的结果,应该使用额外的验证样本来评估爬山的最佳t或停止点,与建模中使用的验证数据区分开。本文中的代码基于统计信息来确定停止点。
    5. 如果Top-t Ensemble不使用变量聚类来甄别模型区分度,直接根据验证数据的误分类率来添加模型。
    6. Hill-Climbing Ensemble代码是对Top-t代码的概括,在方法中,只要减少对验证数据的错误分类,就可以将任何模型添加到集合中。并且可以多次添加模型。与Top-t集合的实现一样,Hill-Climbing Ensembling是根据测试分区的拟合统计数据为集合选择最佳模型。
    7. 使用SAS宏代码生成其他评估图,来根据业务问题选择最佳模型。这写图旨在帮助在多个维度上只管地评估模型的性能。

模型对比

模型对比使用数据集中的目标变量是bad和good标志,表示信用贷款中付款违约。下面给出每个数据集的描述:
1. Australian Credit 包含14个没有定义的变量,一半属性变量,一半数值变量。
2. German Credit 包含人口信息。
3. Home Equity 包含信用评分信息如债务收入、工作年限、支票账户数。
4. Give Me Credit 2010年的Kaggle竞赛,包含人口信息。
5. PAKDD 第六届Pacific-Asian Knowledge Data Discovery, 包含关于住址和工作地址的人口信息。

候选模型

这部分介绍两个用来构建候选模型的模板。第一个模板是Rapid Predictive Modeler,包含三个分支,计算不同的数据转换、补缺和执行必要的变量筛选,然后训练决策树、不同选择准则的回归,和神经网络。图4展示了具体模板详情。
* [ ] 图4
Diagram Subflow for RPM-Based Models.png-267.8kB
可以使用推荐的RPM-Based来构建模型,当你准备好数据并建立数据分区以后。
1. 变量转换节点,为每个输入变量输出最优转换,连接一个前向选择回归模型。
2. 变量转换节点,为每个输入变量构建多个转换,变量探索节点根据决策树的重要性选择最多500个输入变量,然后再构建决策树模型。
3. 使用补缺节点,和两种变量筛选(R^2 、Chi-Square),元数据节点设置Combine=All,可以使用两个节点输出数据,最后构建一个后向选择回归和神经网络。
4. 变量转换节点,为每个输入变量构建最佳转换,然后构建一个决策模型。
5. 使用补缺节点和变量筛选 (R^2 、 Chi-Square),设置合并两个节点的数据,最后构建一个逐步选择回归。
6. 利用决策树探索交互影响,把决策树的输出作为输入,训练一个主效应回归模型。

第二个模板包括一些常用的模型构建技巧。
* [ ] 图5
Diagram Flow with Candidate Models Based On Common Practices.png-189.6kB
1. 如有必要,转换输入被用于训练具有10个隐藏党员的神经网络模型。
2. 如有必要,补缺被用于训练具有15个隐藏单元但没有任何特定的转换。
3. 建议使用回归节点计算双向交互,然后将其结果用作神经网络中的输入。
4. 具有较低的Train Proportion值的Gradient Boosting节点,来寻找更多特殊的查分,HP Tree节点的两个模型具有和决策树节点一样的最大深度和修剪选项,设置HP Forest节点树为100,最小使用搜索1来确保森林模型组合了足够量深度的树,HP SVM使用没有插补选项来越策数据确保不会丢失输入值的模型。

模型结果

使用模板3、4和5构建分类模型,表1宗杰了每个模板中最佳模型的误分类率和表现最佳的集合模型,错误分类率改进率为相对于最佳模型对比与次佳模型的改进百分比。
* [ ] 表1
Misclassification Rates for Best-Performance Models and Ensembles.png-216.1kB
模板中模型的多样性看起来是有利的,因为在所有情况下,没有一种类型的模型优于其他模型。除了逐步回归没空性(两个数据集的最佳RPM模型)之外,每个数据集在基于RPM的模板和通用模板中都具有不同的最佳性能模型。
用于测试集合模型的模板也非常有用,因为在编码之后,添加到图表中以相对容易地测试其他集合模型的错误分类的改进。其运行时间相对较短,并且发现了改进的预测。
对于五个数据集中的三个,有一个集合模型可以改善测试分区的错误分类率。对于其他两个数据集,性能最佳的集合使错误分类略差。在这种情况下,应该保持表现最佳的模型而不是整体。

表2比较了模板中所有集成模型的错误分类率。值得注意的是,在这些数据集的7个集成模型中,Top-t集合倾向于具有最低的错误分类率。在Top-T算法之前添加变量聚类步骤会导致不同的错误分类曲线,但两种算法都会发现测试分区具有相同的错误分类率。仅在一种情况下(Austrialian)数据集上变量聚类有助于进一步降低错误分类率。

  • [ ] 表2
    Misclassification Rate Comparison of Ensemble Models.png-152.9kB

事实上,没有任何模型或集成模型始终或非常显著地优于其他模型。比较所有这些似乎非常有价值,并且很容易使用SAS Enterprise Miner作为模板来进行基准测试,比较和选择合适的模型。

模型总结

集成方法是一种很好的建模技术,可以辅助数据挖掘或预测建模,因为其只需要相对较少的代码工作量,就可以知道一个可以改善拟合统计数据的模型。
与任何预测魔心一样,集成模型不能保证最优。单个模型仍然可能比集成更好,并且由专业分析人员确定单一模型或集成模型那个更适合放入生产环境中。
本文的数值分析表明,几个模型及集成模型具有相似的拟合统计量,并表明有额外的评估图是有用的。对于本文分析的数据集的具体情况,正确的预测的事件与错误分类的关系图非常有用。

鼓励初级用户尝试提供基于RPM的建模技术构建的模板。更高级的用户应该将自己的模型和集成模型进行比较,尝试进行评估比较。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值