HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:001180

评论

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

和12岁小同志搞创客开发:如何使用继电器?

不脱发的程序猿

DIY 嵌入式 创客开发 继电器

没有电和网络的时候如何支付一瓶水?

escray

学习 极客时间 朱赟的技术管理课 7月日更

Vue进阶(五十七):ES数组操作:find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()

No Silver Bullet

Vue ES 7月日更 数组操作

携手生态伙伴亮相InfoComm,英特尔赋能智能协作办公

E科讯

一个很多人不知道的SpringBoot小技能!!

冰河

Java 分布式 微服务 springboot 服务化

网络传输协议kcp原理解析

赖猫

TCP 网络协议

后疫情时代,共享育儿也能变成一门好生意?!

脑极体

王者荣耀商城异地多活架构设计

chenmin

ZooKeeper 分布式锁 Curator 源码 03:可重入锁并发加锁

程序员小航

Java zookeeper 源码 分布式锁 zookeeper分布式锁

登陆框有多危险,可能你还不知道。。。

网络安全学海

黑客 网络安全 信息安全 渗透测试· 漏洞分析

Rust从0到1-面向对象编程-设计模式

rust 设计模式 面向对象编程 状态模式 state pattern

23w字!Github一夜爆火被各大厂要求直接下架的Java面试题库也太强了

Java架构师迁哥

Linux之date命令

入门小站

Linux

巧用 readonly与 const

喵叔

7月日更

week 9 作业

Geek_2e7dd7

架构实战营

在线时间加减计算器

入门小站

工具

网络协议:TCP可靠传输原理

赖猫

c++ TCP 后端 网络协议

手写Spring框架,是时候撸个AOP与Bean生命周期融合了!

小傅哥

Java spring 小傅哥 aop 代理

价值连城 知名深度强化学习Pieter Abbeel的采访 John 易筋 ARTS 打卡 Week 56

John(易筋)

ARTS 打卡计划

maven是什么

卢卡多多

7月日更

阿里培训笔记惨遭泄露,Spring+SpringBoot+SpringCloud

Java架构师迁哥

结构化流-Structured Streaming(八-中)

Databri_AI

spark 结构化思维 Kafk

Discourse 的标签(Tag)只能是小写的原因

HoneyMoose

Python OpenCV 图像的 最近邻插值 与 双线性插值算法 优化迭代

梦想橡皮擦

Python 7月日更

密码学系列之:Merkle–Damgård结构和长度延展攻击

程序那些事

加密解密 密码学 程序那些事

Vue进阶(五十八):ES字符串操作:遍历、比较、截取、补全...

No Silver Bullet

Vue ES 字符串 7月日更

开跑!Mobileye自动驾驶汽车路测落地纽约

E科讯

linux c解决多个第三方so动态库包含不同版本openssl造成的符号冲突

奔着腾讯去

openssl so动态库 动态链接库

iOS15上线图片翻译功能,能取代专业翻译软件吗?

脑极体

并发问题的源头

Java旅程

Java 并发编程

C++17 中的条件变量

hedzr

c++ 算法 并发编程 元编程 policy

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