特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。

我们在工作中经常会遇到一个问题,数据基础设施的设计往往没有充分考虑数据科学的需求。数据仓库或数据湖仓中的大量表格(主要是事实表和维度表)缺乏构建高性能机器学习模型所需的关键字段或结构。其中最显著的局限性在于,大多数表格仅记录观测值的当前状态,而未保留历史记录。

本文将通过缓慢变化维度(Slowly Changing Dimensions)这一数据建模技术来解决上面的这个问题。通过本文的介绍,可以了解历史数据存储对模型性能的重要影响,以及如何在实际应用中实施这一技术方案。

数据科学领域的常见挑战

在数据科学或机器学习工程领域工作一段时间后,可能会遇到这样一个建模问题:需要对数据中每个实例在时间维度上发生某事件的概率进行建模:

这种建模方法,通常称为面板建模(Panel Modeling),在实际应用中极为普遍。任何涉及特征随时间变化的建模问题都可以且通常应该采用这种方法。典型应用场景包括:客户流失预测、贷款违约预测、疾病进展监测、欺诈检测、设备故障预测等。

从形式化角度,可以用以下数学符号描述该问题:

以贷款违约预测为例,其基本目标是利用借款人随时间变化的特征(X)来预测其在贷款发放后各时间段(t)的违约概率(Y)。对于特定借款人,模型的预测结果可能呈现如下形式:

在上述图示中,t = 0 表示贷款发放时间点,t = 100 表示贷款到期时间点。模型预测显示随着贷款接近完成,借款人的违约概率呈下降趋势。然而,这种趋势并非固定模式,实际情况会根据借款人的信用状况和其他相关特征而存在显著差异。

构建此类模型的特征时,通常需要依赖数据仓库中的多个事实表和维度表。例如借款人特征通常来源于记录借款人属性的

dim_borrower

维度表。在后期才引入机器学习的组织中,

dim_borrower

表的典型结构如下:

dim_borrower

表中,每条记录通过

borrower_key

唯一标识一个借款人的属性信息。例如,借款人153443的当前记录显示:FICO评分为567,年收入为55,123美元,债务收入比(DTI)为0.25。

created_datetime_utc

字段记录数据创建时间,

updated_datetime_utc

字段记录最新更新时间。

这种维度表设计的主要缺陷在于缺乏历史记录追踪功能。以上述示例而言,我们无法获知借款人153443在

2024-04-19

记录创建时的FICO评分、收入状况和DTI比率。同样,我们也无法追溯记录的更新频次和具体更新字段。系统仅保留借款人的当前状态信息、记录创建时间和最后更新时间。

若使用借款人153443的数据构建面板训练集,其形式如下:

这种训练数据存在显著问题:除了

weeks_to_completion

= 0 时点(即最新记录时间点)外,其他时间点的数据可能都不准确。实际的借款人历史数据应呈现如下形式:

这组数据展现了与仅使用最新记录完全不同的信息特征。数据显示该借款人的FICO评分在第20周到第11周期间出现显著下滑,DTI比率从0.018(几乎无负债)上升至0.25。这些变化表明借款人在此期间新增了大量外部债务,信用状况显著恶化。基于这种包含完整历史记录的数据集训练的模型,其性能将远优于使用仅包含当前状态数据集训练的模型。

在理解了不追踪历史记录的表结构所存在的问题后,我们将探讨解决这一问题的最佳实践之一 - 缓慢变化维度技术。

解决方案:缓慢变化维度技术

缓慢变化维度(Slowly Changing Dimensions,简称SCD)是追踪维度历史变更的一种优秀数据建模范式。顾名思义,SCD用于处理那些随时间缓慢发生变化的相对稳定的维度。虽然SCD包含四种类型,但其中Type II类型最为常用。

借款人维度是应用SCD的典型场景。在SCD范式下,传统维度表的结构:

将转变为:

在这种SCD结构中,每条记录代表借款人在特定时间区间(由

start_datetime_utc

end_datetime_utc

定义)内的属性状态。例如,2024-04-27至2024-06-09期间,借款人153443的属性状态为:FICO评分567,年收入55,123美元,DTI比率0.25。当前有效记录通过

is_current

= 1 或

end_datetime_utc

为空值标识。因此,

borrower_key

仅在

is_current

= 1 时具有唯一性约束。

SCD数据结构对机器学习模型的影响十分显著。当模型的训练数据源均采用SCD或事实表时,我们就能构建出充分捕捉特征时间动态特性的最优模型,准确反映特征值变化对目标变量的影响。

SCD结构可以便捷地转换为模型所需的面板数据视图。回顾前文中借款人153443的示例:

从训练数据的视角观察,

dti_ratio

特征的时间序列表现如下:

基于传统维度数据训练的模型无法感知DTI比率的历史变化趋势,因此也无法准确建模DTI比率变化对贷款违约概率的影响。相比之下基于SCD数据训练的模型能够完整掌握借款人DTI比率的历史变化情况,从而在预测时充分利用这些时序信息。

在生产环境中,这两种模型对同一借款人的预测结果可能存在显著差异:

在模型推理阶段,基于传统维度数据训练的模型仅能获取借款人的当前特征值。以借款人153443为例,该模型只能观察到贷款余额随时间递减或保持稳定的现象。除非借款人的特征值进入训练数据中识别的高违约风险区间,否则预测的违约概率将呈现稳定下降趋势。

而基于SCD数据训练的模型能够捕捉到借款人FICO评分下降和DTI比率上升的趋势。这使得模型能够准确反映借款人风险状况的恶化,预测的违约概率随时间相应上升。

SCD或完整历史记录追踪的应用场景远不止于此。接下来我们将就如何在组织中落地SCD技术提供一些具体建议。

实施建议

根据不同的职能角色,可以采取不同的策略来推动SCD或其他历史追踪表的应用,从而提升组织的机器学习模型质量。

数据工程师视角

作为数据工程师,在数据仓库/湖仓设计方面具有一定的决策权。对于是否需要追踪某个表的历史记录,建议采用"默认开启"的原则。尽管实现SCD需要更复杂的ETL流程,但考虑到其带来的价值,这种投入通常是值得的。

常见的反对意见来自存储成本方面的考虑。得益于现代数据平台普遍采用的列式存储格式,存储成本已不再构成主要障碍。

数据科学家/ML工程师视角

作为数据科学家或ML工程师,特别是在机器学习并非组织数据主要应用场景的情况下,在数据仓库/湖仓设计方面的影响力可能较为有限。应尽可能争取实现历史追踪功能。

如果无法影响上游数据表的设计,可以考虑在特征存储或模型训练数据集层面开始实施历史追踪。虽然可能需要一定时间才能积累足够的历史数据以供使用,但及早开始永远是明智之选。

产品经理视角

将历史追踪功能作为产品需求提出可能是最有效的推进方式。机器学习模型的质量直接取决于训练数据的质量,而缺乏历史数据的模型难以发挥其全部潜力。构建高质量的机器学习产品,必须建立在高质量数据的基础之上,而具备历史追踪能力的数据集是构建高性能模型的基础要素。

总结

特征历史追踪对于提升机器学习模型性能至关重要。通过在数据集中引入历史数据,我们能够有效捕获上下文信息和时间动态特性,从而提高预测准确性和模型稳定性。

实施历史数据追踪确实面临一些挑战,如存储需求增加和ETL流程复杂化。从模型性能提升和业务洞察增强的角度来看,这些投入是极具价值的。对于数据工程师、数据科学家和产品经理而言,将历史追踪作为基础设施建设的核心原则之一,将有助于全面提升组织的数据基础设施和机器学习能力。

建议采用渐进式的实施策略:

  1. 从关键数据表的改造入手
  2. 在特征存储中构建历史追踪机制
  3. 在新建数据管道中集成SCD设计模式

历史数据的价值会随时间积累而不断增长,越早开始实施,模型就能越早具备提供准确、具有上下文感知能力的预测结果。

特征历史追踪不仅是提升模型性能的技术手段,更是构建面向未来的数据生态系统的重要基石。通过系统性地实施这一技术,我们能够为组织的数据驱动决策提供更坚实的支持。

https://avoid.overfit.cn/post/ff7af723313a48c69b08eb313a016867

作者:Harrison Hoffman

目录
相关文章
|
1天前
|
机器学习/深度学习 人工智能 边缘计算
DistilQwen2.5蒸馏小模型在PAI-ModelGallery的训练、评测、压缩及部署实践
DistilQwen2.5 是阿里云人工智能平台 PAI 推出的全新蒸馏大语言模型系列。通过黑盒化和白盒化蒸馏结合的自研蒸馏链路,DistilQwen2.5各个尺寸的模型在多个基准测试数据集上比原始 Qwen2.5 模型有明显效果提升。这一系列模型在移动设备、边缘计算等资源受限的环境中具有更高的性能,在较小参数规模下,显著降低了所需的计算资源和推理时长。阿里云的人工智能平台 PAI,作为一站式的机器学习和深度学习平台,对 DistilQwen2.5 模型系列提供了全面的技术支持。本文详细介绍在 PAI 平台使用 DistilQwen2.5 蒸馏小模型的全链路最佳实践。
|
2天前
PAI-Rec推荐平台对于实时特征有三个层次
PAI-Rec推荐平台针对实时特征有三个处理层次:1) 离线模拟反推历史请求时刻的实时特征;2) FeatureStore记录增量更新的实时特征,模型特征导出样本准确性达99%;3) 通过callback回调接口记录请求时刻的特征。各层次确保了实时特征的准确性和时效性。
10 0
|
6天前
|
机器学习/深度学习 传感器 数据采集
基于机器学习的数据分析:PLC采集的生产数据预测设备故障模型
本文介绍如何利用Python和Scikit-learn构建基于PLC数据的设备故障预测模型。通过实时采集温度、振动、电流等参数,进行数据预处理和特征提取,选择合适的机器学习模型(如随机森林、XGBoost),并优化模型性能。文章还分享了边缘计算部署方案及常见问题排查,强调模型预测应结合定期维护,确保系统稳定运行。
53 0
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署通义千问 QwQ-32B 模型,阿里云 PAI 最佳实践
3月6日阿里云发布并开源了全新推理模型通义千问 QwQ-32B,在一系列权威基准测试中,千问QwQ-32B模型表现异常出色,几乎完全超越了OpenAI-o1-mini,性能比肩Deepseek-R1,且部署成本大幅降低。并集成了与智能体 Agent 相关的能力,够在使用工具的同时进行批判性思考,并根据环境反馈调整推理过程。阿里云人工智能平台 PAI-Model Gallery 现已经支持一键部署 QwQ-32B,本实践带您部署体验专属 QwQ-32B模型服务。
|
10天前
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
58 7
|
19天前
|
机器学习/深度学习 数据采集 人工智能
MATLAB在机器学习模型训练与性能优化中的应用探讨
本文介绍了如何使用MATLAB进行机器学习模型的训练与优化。MATLAB作为强大的科学计算工具,提供了丰富的函数库和工具箱,简化了数据预处理、模型选择、训练及评估的过程。文章详细讲解了从数据准备到模型优化的各个步骤,并通过代码实例展示了SVM等模型的应用。此外,还探讨了超参数调优、特征选择、模型集成等优化方法,以及深度学习与传统机器学习的结合。最后,介绍了模型部署和并行计算技巧,帮助用户高效构建和优化机器学习模型。
36 1
MATLAB在机器学习模型训练与性能优化中的应用探讨
|
23天前
|
人工智能 自然语言处理 搜索推荐
全网首发 | PAI Model Gallery一键部署阶跃星辰Step-Video-T2V、Step-Audio-Chat模型
Step-Video-T2V 是一个最先进的 (SoTA) 文本转视频预训练模型,具有 300 亿个参数,能够生成高达 204 帧的视频;Step-Audio 则是行业内首个产品级的开源语音交互模型,通过结合 130B 参数的大语言模型,语音识别模型与语音合成模型,实现了端到端的文本、语音对话生成,能和用户自然地进行高质量对话。PAI Model Gallery 已支持阶跃星辰最新发布的 Step-Video-T2V 文生视频模型与 Step-Audio-Chat 大语言模型的一键部署,本文将详细介绍具体操作步骤。
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
24天前
|
机器学习/深度学习 数据挖掘 定位技术
多元线性回归:机器学习中的经典模型探讨
多元线性回归是统计学和机器学习中广泛应用的回归分析方法,通过分析多个自变量与因变量之间的关系,帮助理解和预测数据行为。本文深入探讨其理论背景、数学原理、模型构建及实际应用,涵盖房价预测、销售预测和医疗研究等领域。文章还讨论了多重共线性、过拟合等挑战,并展望了未来发展方向,如模型压缩与高效推理、跨模态学习和自监督学习。通过理解这些内容,读者可以更好地运用多元线性回归解决实际问题。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
PAI Model Gallery 支持云上一键部署 DeepSeek-V3、DeepSeek-R1 系列模型
DeepSeek 系列模型以其卓越性能在全球范围内备受瞩目,多次评测中表现优异,性能接近甚至超越国际顶尖闭源模型(如OpenAI的GPT-4、Claude-3.5-Sonnet等)。企业用户和开发者可使用 PAI 平台一键部署 DeepSeek 系列模型,实现 DeepSeek 系列模型与现有业务的高效融合。