写点什么

AAAI 2021 论文:利用深度元学习对城市销量进行预测

  • 2021-01-08
  • 本文字数:2934 字

    阅读完需:约 10 分钟

AAAI 2021论文:利用深度元学习对城市销量进行预测

对于线上和线下的零售行业,销量预测都是一项至关重要的任务,它可以帮助企业更好的预备库存以及在各个仓库之间分配商品。特别是在大型购物节期间,强劲的促销活动将极大地促进消费。然而,可供参考的历史数据却非常稀缺。如何同时对城市的不同区域和不同时间段的销量进行预测,是一个非常具有挑战的问题。


在 2020 年 12 月收录的 AAAI 2021(CCF-A 类)上,京东城市被收录了一篇名为《Robust Spatio-Temporal Purchase Prediction via Deep Meta Learning》的论文。该论文研究了如何通过深度元学习,结合城市中的各项信息以及历史的销量数据,对未来,特别是大型购物节期间,城市中各个区域不同时间段的销量进行预测。


一、背景


购物中心和商店的空间分布、人口的分布属性以及不同的日期类型(例如,工作日,周末或购物节)等因素,将会导致不同的购物方式,如图 1 所示。


由于来自某个特定区域以及特定时间范围内的数据过于稀缺,我们无法仅使用某个范围的数据去训练一个高精度的预测模型。同时,城市中不同区域的人口密度和分布特征高度异质,并且随着时间的推移区域特征也会发生变化,对这样复杂的时空购买模式进行建模是一个非常困难的任务。


为了准确地捕获区域的空间特性,它需要考虑一组综合的空间特征,例如兴趣点(POI)分布,区域的人口统计特征等。如何通过跨时空建模学习提升单个区域在特定时间段的预测精度是我们的主要任务。



图 1 空间分布


作者将该预测任务分为主要三个部分:


1)利用时空元学习推理,对不同的时空区域生成对应的时空表示;


2)学习不同时空区域间的共享信息,同时结合区域特定的时空表示,得到更加可靠的预测销量;


3)通过时空交替训练使得模型在空间以及时间层面都能够得到更加完善的学习。



图 2 摊销网络

二、时空表示生成


我们开发了一个摊销网络(如图 2 Amortization Network 所示),以对目标区域和日期类型的时空表示的近似后验分布进行建模,该模型需要同时考虑销量特征和相关空间特征的影响。


从图 3(a)中我们可以看到,以北京为例,不同城区的销量分布有着明显的区别。


要完全捕获不同区域预测任务的购买数据的时间特性,还需要考虑历史销量数据之间的线性和非线性时间相关性,例如采购订单和购物车记录中所隐藏的周期模式。


图 3(b)中我们能够看到明显的以周为周期的销量模式变化。为了对这种复杂而动态的时间序列模式进行建模,我们使用了线性变换模块来获得销量的大致基数,并使用一个特殊的跳跃 LSTM 层来捕获销量变化的非线性时间模式。接着,通过特征融合模块将提取的时间特征与静态特征相结合,以进一步支持构建更具有代表性的销量时空表示。



图 3 销量模式变化

三、时空销量预测


通过上一步,我们已经得到了特定时空区域的销量表示。接下来我们将介绍一种利用共享统计结构的生成模型,来学习不同时空预测任务间所共享信息。对于任务特定的预测,它大大提高了学习效率和预测准确性。该生成模型的结构可以参考上节所属的摊销网络结构的解码器(图 2 Generative Model 所示)。


它使用两个不同的输入来生成最终的销量。第一个输入侧重于通过对最近一段时间的输入销量,利用特征提取和融合技术来挖掘当前的购买表示,该特征描述了近期的销量模式的变化。第二个输入是从摊销网络中采样的特定于某个时空预测任务的时空特征表示。它捕获了目标任务的宏观时空模式。最后,生成模型使用完全连接的网络将两个输入合并,对目标时刻的销量订单进行预测。


四、时空交替训练


不同的时空任务仅与来自特定区域和时间范围的有限数据相关联,无法完全描述特定区域的购买行为。受多视图学习的启发,我们构建了两种视图(空间视图和时间视图)来描述数据的不同观点。两个视图相互补充,以增强学习到的信息并获得更准确的时空数据表示。空间观点倾向于学习不同地区的购买模式,而时间观点倾向于挖掘不同时间段类型的时间变化模式。


训练期间在不同视图之间进行切换可以在不同区域或日期类型之间学习到不同的时空信息。同时,在交替训练期间还能够整合不同时空任务共享的生成模型,并提高了预测准确性。完整的训练过程如算法 1 所示。



算法 1

五、实验


我们使用来自京东的海量高质量在线销量数据集来评估我们的模型。JD 数据集包含时间跨度从 2015 年至 2019 年的采购订单,购物车数据(作为动态时间序列特征)和包括北京 18 个行政区块的区域特征(例如 POI 和人口统计资料数据)作为静态特征。


为了验证模型的有效性以及鲁棒性,作者对不同时间区间(周内,周末,购物节等)的销量进行预测评估。同时还对模型中的不同组件进行消融分析,对不同组件的有效性进行评估,结果如表 1 所示。



表 1 不同组件的有效性


表 1 中我们可以看到,对于平日较为平缓和购物节的爆发性预测设置中,STMP 均优于所有基线方法。在 MSE 方面,STMP 均比最佳基准提高了至少 30%。在爆发性销量预测场景中,STMP 仍比基准降低约 30%至 60%。这些结果表明,当实际购买模式与平时截然不同时,我们的方法是有效且可靠的。


为了进一步研究 STMP 各个模型组成部分的影响,我们还在表 1 中比较了 STMP 及其变体的性能。可以观察到,STMP-VI 在总体和周末情景中表现良好,这些情景具有相对稳定的购买模式,但在购物节上的表现要比 STMP 差。这是因为 STMP-VI 使用点估计而不是特定于任务的时空表示的分布描述,当数据有限或模式高度不确定时,这会出现问题。


此外,与 STMP 或其他变体相比,STMP-SKIP 的准确性较差,但仍优于其他基准。这证明需要考虑购买时间序列中的多个周期性模式。这也反映在图 4(b)中,我们可以在购买时间序列数据中看到清晰的周期性模式。这些证明对数据中的多个周期性属性进行建模在提高模型性能方面起着重要作用。


图 4


为了探究模型在不同区域以及时间段的效果,作者挑选了四个具有代表性的区域(覆盖不同销量范围,详细地理位置请参见图 4(a))将 STMP 与基线方法在整个 2019 年的销量数据上做可视化,如图 4 所示。在大多数地区,基线无法很好地预测购物节期间购买时间序列的突发性,例如中旬促销和 11.11 的购买高峰。他们倾向于给出保守的结果,并且只专注于提高整体准确性。但是,STMP 利用不同区域和日期类型的时空表示来支持多任务少拍学习,以促进对特定区域和日期类型的更好预测。可以观察到,只有 STMP 能够准确地预测爆发式的销量(所有图 6 中的峰值)。


图 5


同时作者对于购物节历史数据的可参考情况进行了进一步的探究,在购物节销量数据非常稀缺的情况下,每增加一次购物节可见数据,精度会有一定的提升。然而即使在购物节可参考数据只有一次(持续大约一周)的情况下,STMP 也具有较高的准确率,这表明了模型的鲁棒性。


表 2


最后,作者对时空交替训练方式在三个大型购物节上也做了比较。在时间训练中,合并操作将来自同一天类型的实例成批集成,而不考虑空间知识。同时,在空间训练中,模型将来自同一区域的一批实例集成在一起,而无需考虑时间信息。


从表 2 中我们可以看到,即使不完整的 T 训练和 S 训练也比表 1 列出的基线提供更高的准确性。但是,与完整的时空交替训练相比,缺乏时空上的联合元知识仍然会导致较低的准确性。这表明不同的训练模式会跨地区和时间类型学习不同的转换。从时空方面的补充训练可以有效地提高预测的准确性。(点击阅读原文可下载完整论文)


文章转载自:京东数科技术说(ID:JDDTechTalk)

原文链接:AAAI 2021论文:利用深度元学习对城市销量进行预测

2021-01-08 07:001354

评论

发布
暂无评论
发现更多内容

加快发展先进制造业势在必行!

加入高科技仿生人

低代码 数字化转型 制造业 先进制造 数字转型

观测云产品更新|新增用户访问监测自动化追踪;新增 CDN 质量分析;新增自定义查看器导航菜单等

观测云

运维 云服务 可观测 观测云 可观测性用观测云

为什么负责任的技术始于数据治理

葡萄城技术团队

Studio One6绿色版音乐创作编辑软件

茶色酒

Studio One6

软件测试/测试开发 | Bug定位方法

测试人

软件测试 自动化测试 测试开发 bug定位

全民开发者时代到来!华为云开发者日深圳站成功举办

华为云开发者联盟

云计算 华为云 ChatGPT 企业号 2 月 PK 榜 华为云开发者联盟

软件测试/测试开发 | 白盒测试方法论

测试人

软件测试 测试开发 白盒测试

Portraiture4.0简体中文版本磨皮插件

茶色酒

Portraiture4.0

不到3天,省下近10万,低代码是真给老板省钱啊!

引迈信息

前端 敏捷开发 低代码

这些数据可视化工具必备

2D3D前端可视化开发

数据可视化 数据可视化工具 可视化大屏 可视化图表 sovitchart

IoT 存量设备 零改造,泛化SDK实现整体业务迁移上云——实践类

阿里云AIoT

前端开发 物联网 开发工具 传感器 测试技术

CleanMyMacX4.20完美试用版功能介绍

茶色酒

CleanMyMacX4.20

软件测试/测试开发 | 黑盒测试方法论-判定表

测试人

软件测试 测试开发 测试用例 黑盒测试

低代码开发平台 助力教育行业信息化建设

力软低代码开发平台

如何将BI 工具与业务系统进行单点登录对接,实现用户权限通用

葡萄城技术团队

【iOS逆向与安全】使用ollvm混淆你的源码

小陈

ios开发 逆向 iOS逆向 ios安全 逆向技术

BPMN2.0是什么?它能解决企业流程管理中哪些问题?

优秀

BPMN

软件测试/测试开发 | 什么是软件缺陷

测试人

软件测试 自动化测试 测试开发

flutter系列之:Navigator的高级用法

程序那些事

flutter 架构 大前端 程序那些事

NFT碎片化股权分割众筹dapp系统开发合约定制

开发微hkkf5566

大中华区联合企业捷成集团在 AWS 上使用 F5 防御恶意 Web 攻击

F5 Inc

ChatGPT为什么在一夜之间爆火?| 社区征文

三掌柜

人工智能 openai ChatGPT

从银行数字化转型来聊一聊,火山引擎VeDI旗下ByteHouse的应用场景

字节跳动数据平台

大数据 Clickhouse 数据平台 企业号 2 月 PK 榜

OpenHarmony应用集成AGC云存储

白晓明

云存储 DevEco Studio 端云协同 OpenHarmony应用开发 AppGallery Connect

CleanMyMac4.20免费版下载

茶色酒

CleanMyMac4.20

hive etl 通过 ETL 导出 Hive 中的数据

weigeonlyyou

hadoop hive Hive SQL hadoo Kafka ETL

社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?

OceanBase 数据库

数据库 oceanbase

多级分流

胖子笑西风

Java 架构 高并发 流量

软件测试 | 代码覆盖率集成

测吧(北京)科技有限公司

测试

软件测试/测试开发 | 常用测试策略与测试手段

测试人

软件测试 自动化测试 测试方法

AAAI 2021论文:利用深度元学习对城市销量进行预测_AI&大模型_京东数科_InfoQ精选文章