发布日期:2018.11.07
DataCanvas布道师团队成员之
首席算法官
王 桐
“实时流数据分析模型和时间序列分析模型的关系”
根据 Markets & Markets 的预测,流数据分析市场将从 2016 年的 30.8 亿美元增长到 2021 年的 137 亿美元。各个企业都将快速意识到他们需要利用实时数据集成和流数据分析来获得更有价值的信息、使数据变得更安全以及保持增长。
在数据无时无刻不在产生的背景下,企业需要:
过滤无关数据
进行聚合和分组
跨流关联信息
将元数据、参考数据和历史数据与上下文的流数据相结合
实时监测异常数据
面对实时流数据分析,我们内在的诉求体现在两个方面:
首先是我们的模型分析要考虑到近期的数据变化情况,举个生活当中的例子,如果过去的两天气温一直在35度,那么明天的天气不大可能下雪。
另一方面,我们的模型需要是可以不断持续更新的,也就是说随着新数据不断的流入,模型也在不断的更新,例如我们常见的营销数据分析,随着经营的规模和体量的增加,模型也要不断的更新。
这两个诉求看上去貌似是一回事,但其实不然,核心问题是,流数据产生的内在逻辑是否一致。
比如刚才提到第一个气温预测场景,我们如果按照去年同期的温度情况来进行预测,那么通常都可以达到一定的准确度。也就是说,依照去年全年的数据生成的模型在今年大概率是可以复用的,即使有误差,也是在一个比较小的范围内。
再回到我们提到的第二个营销数据分析场景,如果我们根据今年的数据对未来的销售情况进行预测,那么很可能会和去年同期的数字有很大区别。因为商业环境变了,经营规模在增长,去年同期的销售量因为经营体量的原因,和今年有本质的区别。在这种情况下,我们要重新训练模型,甚至重新构建模型。
对于气温预测场景,我们通常意义上把它称为时间序列模型。此类模型需要大量的历史数据做为输入,来形成较准确的预测模型。
而营销数据分析场景,就不是简单意义上的时间序列模型,因为它是含有不稳定趋势的一组序列值。这类问题也是我们接下来要讨论的重点。
面对这类问题,我们会想到下面两类方法:
第一类,增量学习算法,也就是每当我们新增加一个新样本的时候,我们对模型进行一次更新。那么针对这样的情景,我们需要对原有批量模式的算法模型进行改造。
第二类,定期的批量模型重新训练模型,这种是最直接的模式,即定期汇总更新的数据,同历史数据一并重新训练模型。
增量学习算法可以用批量模式来进行使用,但是批量模式的模型如果要转换成增量学习算法,需要大量改造工作,并且有一定的准确率损失。
如何对这两种方法进行取舍,我们需要考虑两方面:
第一,需要考虑新增数据的边界。我们的模型是否要在新增样本数据出现的第一时间来更新,还是说模型需要根据新的数据进行相机抉择。如果是后一种情形,那么就是一个时间序列问题而不是一个增量学习算法的情景。
第二,需要考虑数据的废弃。距离现在一定的时间范围之外的历史数据,我们是否应该划定一个范围,来界定该范围之外的数据应该废弃掉,不参加模型的训练?这种范围如何来划分?例如在金融方面的场景,距离现在越近的数据通常具有更强的相关性,但是在某些特定情形下,往年同期的数据更具有参考意义和相关性。特殊一点的例子,比如在金融衰退期,往往上一个金融衰退时期的数据比近期的数据和现在具有更强的相关性。
虽然实时流数据分析和时间序列预测比较类似,数据的来源也相近,但是两种方法的关注点不同。
增量学习算法在两方面比较擅长:
第一,便利性。不需要缓冲数据和重新训练模型。
第二,时效性。模型总是更新到最新的状态
增量学习在模型的灵活性和模型的功效方面有一些损失。但在模型特殊场景,增量学习是必须的,例如数据隐私方面需要数据出现之后就要求被删除。
周期的批量学习模型保存了算法的功效,需要更加复杂的实施过程。在上层利用工具也可以在必要的时候利用必要的部分数据进行训练和学习,也可以用最小的代价,同时尝试不同的算法模型。
DataCanvas RT实时计算平台,是一个流数据实时处理和分析平台,具备低时延(毫秒级)、高吞吐(单集群支持>10TB/日流量)、高性能(>40,000 TPS 保序场景/>160,000 TPS 非保序场景)等特性,能够提供风险监控、精准营销、实时预警与事中分析等多种应用场景的实时分析。
DataCanvas RT实时计算平台强大的数据分析处理能力,为企业提供面向未来的大数据技术和人工智能计算架构的支撑。平台全面考虑实际应用的业务场景与技术指标要求,将为企业未来的大数据技术提供高效可靠的基础设施。
咨询