AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

基于 LSTM 模型的广告库存预估算法

  • 2020-01-03
  • 本文字数:3194 字

    阅读完需:约 10 分钟

基于LSTM模型的广告库存预估算法

爱奇艺广告算法团队结合广告业务特点,提出基于 LSTM(Long short-term memory,长短期记忆)模型的广告库存预估深度学习算法。在节省训练资源的同时,构建更具泛化性的模型,并将预测时间进行工作日、节假日等更精细化的多类标签,体现出节假日特征对库存波动的影响,从而对广告库存进行更为精确的预估。

背景

广告仍然是互联网流量变现及商业模式的重要手段,随着互联网高速的发展,广告服务愈加精细化,需要提前预知用户的访问量来保证广告的策略,这就需要理解和预测广告库存量,这就是广告库存预估。广告库存预估属于时间序列预测任务,主要利用历史库存来预测未来一天或多天的广告库存,从而预估出更为准确的库存,对广告售前询量、离线分配等工作有极为重要的指导作用。


广告库存预估作为时间序列预测算法的业务场景之一,其数据拥有时间序列数据的基本特点,趋势性与随机性并存,在长期的规律性中蕴含了短期的波动性;同时,广告库存预估有以下几个业务特点和难点:


  1. 样本较少:广告库存往往以天为单位结算,相对而言样本较少,若建立复杂的时序预估模型时易出现过拟合的问题;

  2. 库存的波动受节假日影响较大:在寒暑假、春节等节假日,甚至在每一个周末,广告库存量都会有大幅上升,这一特点需要利用时序模型进行捕捉;

  3. 广告主的特殊定向需求:预估维度需精确到站点、平台、城市、频道等维度,这给预估工作带来了资源和效率等方面的挑战。

解决方案

1.1 常用方案

时序预测方法主要可以分为两种方法:传统时序建模方法和机器学习。


最初的传统时序预测,可以追溯到移动平均法、指数平滑法,这类方法基于某段时间的历史数据拟合曲线,对于周期性的波动或方差较大的数据模拟效果较差;之后,随着移动平均与自回归的 ARMA,ARIMA 等模型出现,时序预测与此相结合。ARIMA 模型[1],全称差分整合移动平均自回归模型,其中 AR 是自回归,I 为整合,MA 为滑动平均,模型主要采用三个参数分别表示时序数据的滞后数、达到稳定状态需要的差分阶数、预测误差的滞后数。[1] 该模型简单易实现,对近期数据波动规律捕捉较好。但是 ARIMA 模型要求观测数据本身或是其差分后的数据是稳定的,且模型重点关注内生变量,不易添加外部特征,尤其与时序关联较小的特征。


随着人工智能的发展,机器学习方法开始普及,SVM、XGBoost 等方法也被运用于时序预测任务中。深度学习作为机器学习中的一种被不断提及,其中,循环神经网络 RNN 逐渐被证明在时序预测中能获得较好的效果,在捕捉长期数据规律上更有不错的表现。


在调研 LSTM 算法模型之前,爱奇艺广告算法团队采用 Adaptive-ARIMA 模型(后文简称为 A-ARIMA 模型),进行广告库存预估。A-ARIMA 模型将传统 ARIMA 算法和库存预估背景相结合,主要流程如下:



其中,A-ARIMA 算法对于传统 ARIMA 的改进主要在于缺失值、异常值等处理,另外,在后续处理时加入了进出节假日及周末的预估偏差矫正,以更好地描述实际流量波动。实验结果显示:在库存预估场景下,A-ARIMA 模型较传统算法预测效果更好,偏差率下降 1.16pp。

1.2 基于 LSTM 模型的预估算法

LSTM(Long short-term memory,长短期记忆)模型[2],属于 RNN(Recurrent neural network,循环神经网络)模型的一种,在长序列预测过程中相比普通 RNN 有更好的效果。在确定采用 LSTM 模型作为基础网络模型后,需要构建基本数据集:以过去 N 天的历史库存数据作为训练集,设置时间滑动窗口为 t,则每个维度每 t 天的数据可作为一个训练样本,而随后的一天数据则作为标签值,同时,为了保证参数训练方向的随机性,在选择训练样本时,我们采用随机选取样本的方式,而不是将单一维度的样本依次放入训练。LSTM 整体网络结构如下:



该结构基于 LSTM 网络模型主要有以下几个优化点:


  • 数据归一化


数据归一化是机器学习中的常见方法,在此进行归一化的主要原因是为了使得不同样本能训练同一组模型参数。具体针对这一问题,库存预估在不同维度下库存量级差距巨大,热门维度库存量可达到近千万,而部分维度则只有个位数的库存,而且同一维度下也可能存在库存水平随时间区间的变化而大幅浮动的情况。因此,在数据输入至 LSTM 网络前,需要对数据进行归一化。


我们分析了对数函数转换、min-max 标准化、z-score 标准化、最大值标准化等不同的归一化方法,发现最大值标准化在归一化效果和预测效果上都更加稳定。值得注意的是,相对于 min-max 方法在归一化时扣减训练数据最小值从而改变数据偏移量,直接采用最大值标准化能避免改变时序数据的相关性。最大值标准化方法具体可描述为:设一个维度可被划分为 M 个 RNN 样本,其中第 m 个样本为



对应 label 为



则归一化后的样本数据可表示为



其中



  • 维度聚类


正如库存预估业务特点中所描述,预估维度通常需要精确到站点、平台、城市、频道等维度。若对各维度采用相同参数的 LSTM 网络,模型则很难准确地描述各个维度;反之,如果每一个维度单独训练,样本数不够,模型将失去泛化性,且训练成本过大。


本文希望通过聚类的方法,选择波动趋势近似的维度组成同一类,进而训练相同的模型参数,因此,首先需计算 IAE 误差并完成层次聚类[3],组成所需数据集。


IAE(Integrated AbsoluteError) ,综合绝对误差,公式表示为:



t 为时间周期,表示某时刻两条库存曲线之间的误差,由于实际问题中库存值不连续,体现为离散的点,故该公式可表示为:



从几何角度分析,该误差公式可理解为两条库存曲线相交部分的面积大小,以此表示维度之间的“距离”。得到各维度两两之间的“距离”后,可利用该结果进行聚类,聚类过程可视为将库存曲线波动趋势相似的维度放入同一类。


下图展示了两个类的聚类效果:




可以明显看出,这两类间的各个维度曲线整体波动趋势差异明显,而同一类内的曲线波动趋势比较近似。因此,根据聚类结果,对不同类训练不同参数的 LSTM 模型能更好地描述各维度库存波动趋势,而且这也不需要占用过多的训练资源。


  • 节假日特征


正如我们所预见,广告库存跟日期特征有很强的相关性:如下图所示,寒暑假、法定节假日、周末等日期的流量明显上涨,广告库存也大幅提升。由此可得,在模型中加入节假日特征能有效提升预测正确度。



通过在 LSTM 模型外增加了一层全连接层,将 LSTM 预测的输出与节假日特征拼接。在设置节假日特征的方法上,我们通过观察上图流量波动的特征,大致将日期分为普通工作日、节假日前一天、节假日等多种类别。

实验结果

通过上述方案构建基于 LSTM 模型的库存预估方法后,我们需要对模型的准确性进行评估。本文的主要比较对象为 LSTM 模型单天预估结果和 A-ARIMA 模型预估结果,采用来自 2019 年 6、7、8、9 四个月,共 49 天的数据,包含了暑假期间及暑假前后,同时每星期的数据包含了工作日与周末,样本具有较好的代表性与随机性。评估指标采用加权偏差率,描述如下:



实验数据表明:在维度加权偏差率方面,LSTM 模型相较于 A-ARIMA 模型整体日均下降 0.72pp。而在全维度总库存预估上, LSTM 预测偏差率日均下降 1.48pp,效果更为明显。基于以上实验结果,我们可以判断基于 LSTM 的广告库存预估算法较 A-ARIMA 算法有更好的预测效果。

总结与展望

将 LSTM 模型运用于广告库存预估的背景下,通过比对 A-ARIMA 模型与 LSTM 模型的预测结果,实验数据表明 LSTM 模型在广告库存预估上具有更高的准确度。为了更好地适应业务特点,主要在以下几个方面进行优化:


  1. 数据归一化:将各个维度历史库存数据归一化,并根据归一化后的结果聚类,在节省训练资源的同时,尽可能地构建更具泛化性的模型;

  2. 预测日期精细化分多类标签:将普通工作日、普通节假日、节假日第一天等多类标签,embedding 后与 LSTM 模型输出连接,体现出节假日特征对库存波动的影响。


基于 LSTM 预估模型的模型,广告库存预估深度学习算法取得了较好的预估结果。在未来的工作中,会不断的优化和探索更加准确有效的方法,如构建更准确的节假日特征,更准确地捕捉到库存波动曲线的特征等,将不断提升广告库存预估结果的精确度。


2020-01-03 10:212959

评论 1 条评论

发布
用户头像
给广告算法团队点赞
2020-01-03 10:57
回复
没有更多了
发现更多内容

24款数据可视化工具介绍

2D3D前端可视化开发

数据分析 web前端 数据可视化工具 可视化看板 数据可视化软件

监控系统 Prometheus 的原理 | 社区征文

悟空聊架构

运维 监控 Prometheus 悟空聊架构 年中技术盘点

m7s Console架构解析

不卡科技

vite 流媒体 控制台 Vue 3 #go

浅议实时操作系统RTOS

DevOps和数字孪生

RTOS 实时操作系统

跟着核心开发者聊聊大模型应用、框架开源那些事儿

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

社区征文 | 记一次“雪花算法”造成的生产事故的排查记录

悟空聊架构

架构 雪花算法 生产事故 悟空聊架构 年中技术盘点

EDS从小白到专家丨打造你的专属“数据物流”系统

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

什么是 JSON:一个简洁易懂的入门指南

Apifox

Java json 程序员 开发 Postman

混战源起ChatGPT,中国的AI产业怎么样了? | 社区征文

向阳花

人工智能 AI 马斯克 前沿技术 年中技术盘点

思考:数字卫星可视化如何实现?

DevOps和数字孪生

仿真建模 数字卫星

基于50W携程出行攻略构建事件图谱(含码源):交通工具子图谱、订酒店吃饭事件图谱等

汀丶人工智能

人工智能 自然语言处理 知识图谱

揭秘|来看看袋鼠云数栈内部的资产血缘方案设计与实现

袋鼠云数栈

数据资产 数据血缘

电商企业需要堡垒机吗?采购堡垒机选择哪家好?

行云管家

网络安全 信息安全 电商 堡垒机 等级保护

DevSecOps:软件安全捍卫者

DevOps和数字孪生

DevSecOps

多云管理平台有哪些?大家推荐哪家好用?

行云管家

云计算 多云 云管理 云管

多种应用场景下的大数据传输解决方案,让企业数据高效同步

镭速

大数据传输

构建网站利器!体验高速稳定的香港云主机服务!

一只扑棱蛾子

云主机 香港云主机

浅析本地缓存技术-Guava Cache | 京东物流技术团队

京东科技开发者

Java 缓存 Guava Cache Guava 企业号 7 月 PK 榜

18款iPad绘画软件推荐!iPad必备生产力工具。

彭宏豪95

ipad 效率工具 苹果 绘图软件 在线绘图

中小企业建设数字化工厂,选择集成老路还是整体重构?

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

网络带宽利用率不够?这些大数据传输解决方案来帮你

镭速

数据传输 大数据传输

【航遥 × ModelWhale】AI for Science 科研范式改革

ModelWhale

人工智能 云计算 算力 遥感 地球科学

大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解、Zero-shot CoT、Few-shot CoT 以及在LLM上应用| 社区征文

汀丶人工智能

人工智能 大语言模型 LLM模型 年中技术盘点 思维链

如何看待互联网大厂加班文化?

程序员小毕

程序员 互联网 后端 架构师 java面试

柏睿数据作为湖仓一体数据平台代表厂商入选IDC报告

新消费日报

这些大数据传输解决方案保证了企业快速传输和数据可靠性

镭速

高速传输 大数据传输 快速文件传输

极客时间架构实战营模块一作业

德拉古蒂洛维奇

#架构实战营

基于LSTM模型的广告库存预估算法_架构_广告算法团队_InfoQ精选文章