无论您是更有效地为网络流量分配资源、预测患者对人员需求的需求,还是预测公司产品的销售,预测都是许多企业的重要工具。 一个特定的用例,称为 冷启动预测, 为具有很少或没有现有历史数据的时间序列构建预测,例如刚刚进入零售行业市场的新产品。 自回归积分移动平均 (ARIMA) 或指数平滑 (ES) 等传统时间序列预测方法严重依赖每个产品的历史时间序列,因此对冷启动预测无效。
在这篇文章中,我们演示了如何使用以下方法构建冷启动预测引擎 AutoGluon AutoML 用于时间序列预测,一个开源 Python 包,用于对图像、文本、表格和时间序列数据进行机器学习 (ML) 自动化。 AutoGluon 为初学者和经验丰富的 ML 开发人员提供端到端的自动化机器学习 (AutoML) 管道,使其成为最准确且易于使用的全自动解决方案。 我们使用免费的 Amazon SageMaker Studio 实验室 为本次演示服务。
AutoGluon 时间序列简介
自动胶 是用于文本、图像和表格数据的 AutoML 的领先开源库,使您只需一行代码即可从原始数据生成高度准确的模型。 最近,该团队一直在努力将这些功能扩展到时间序列数据,并开发了一个自动预测模块,该模块在 GitHub上。 该 autogluon.forecasting
模块自动将原始时间序列数据处理成适当的格式,然后训练和调整各种最先进的深度学习模型以产生准确的预测。 在这篇文章中,我们演示了如何使用 autogluon.forecasting
并将其应用于冷启动预测任务。
解决方案概述
因为 AutoGluon 是一个开源的 Python 包,所以你可以实现这个解决方案 当地 在您的笔记本电脑或 Amazon SageMaker Studio Lab 上。 我们执行以下步骤:
- 为 Amazon SageMaker Studio 实验室设置 AutoGluon。
- 准备数据集。
- 使用 AutoGluon 定义训练参数。
- 为时间序列预测训练冷启动预测引擎。
- 可视化冷启动预测预测。
冷启动预测的关键假设是具有相似特征的项目应该具有相似的时间序列轨迹,这使得冷启动预测可以对没有历史数据的项目进行预测,如下图所示。
在我们的演练中,我们使用了一个基于电力消耗的合成数据集,它由 370 个项目的每小时时间序列组成,每个项目都有一个 item_id
从 0 到 369。 在这个合成数据集中,每个 item_id
还与静态特征(不随时间变化的特征)相关联。 我们训练一个 深度AR 使用 AutoGluon 模型来学习相似项目的典型行为,并将这些行为转移到对新项目进行预测(item_id
370–373) 没有历史时间序列数据。 尽管我们展示了仅使用一个静态特征的冷启动预测方法,但在实践中,拥有信息丰富且高质量的静态特征是良好冷启动预测的关键。
下图提供了我们解决方案的高级概述。 开源代码可在 GitHub回购.
先决条件
对于本演练,您应该具有以下先决条件:
- An Amazon SageMaker Studio 实验室账户
- GitHub上 帐户访问
登录您的 Amazon SageMaker Studio Lab 账户并使用终端设置环境:
如果您无法访问 Amazon SageMaker Studio Lab,这些说明也应该可以在您的笔记本电脑上使用(我们建议您先在笔记本电脑上安装 Anaconda)。
完全设置好虚拟环境后,启动笔记本 AutoGluon-cold-start-demo.ipynb
并选择自定义环境 .conda-autogluon:Python
核心。
准备目标时间序列和项目元数据集
如果不包含以下数据集,请将其下载到您的笔记本实例中,并将它们保存在目录下 data/
. 您可以在我们的网站上找到这些数据集 GitHub回购:
- 测试.csv.gz
- 冷启动目标数据.csv
- 项目元数据.csv
运行以下代码段以将目标时间序列数据集加载到内核中:
AutoGluon 时间序列需要以数字格式表示静态特征。 这可以通过应用来实现 LabelEncoder()
关于我们的静态功能 type
, 我们编码 A=0, B=1, C=2, D=3(见下面的代码)。 默认情况下,AutoGluon 将静态特征推断为有序或分类。 您还可以通过将静态特征列转换为分类特征的对象/字符串数据类型或序数特征的整数/浮点数据类型来覆盖它。
设置并开始 AutoGluon 模型训练
我们需要指定 save_path = ‘autogluon-coldstart-demo’
作为模型工件文件夹名称(请参见以下代码)。 我们还设置了我们的 eval_metric
as 平均绝对百分比误差或 ‘MAPE’
简而言之,我们定义的地方 prediction_length
作为 24 小时。 如果未指定,AutoGluon 默认会生成概率预测并通过 加权分位数损失. 我们只看 DeepAR 模型 在我们的演示中,因为我们知道 DeepAR 算法允许通过设计进行冷启动预测。 我们任意设置一个 DeepAR 超参数并将该超参数传递给 ForecastingPredictor().fit()
称呼。 这允许 AutoGluon 只查看指定的模型。 有关可调超参数的完整列表,请参阅 Gluonts.model.deepar 包.
培训需要 30-45 分钟。 您可以通过调用以下函数来获取模型摘要:
冷启动项目预测
现在我们准备好为冷启动项目生成预测。 我们建议每行至少有五行 item_id
. 因此,对于 item_id
少于五个观察值,我们用 NaN 填充。 在我们的演示中,两者 item_id
370 和 372 的观测值为零,这是一个纯冷启动问题,而另外两个有五个目标值。
使用以下代码加载冷启动目标时间序列数据集:
我们将冷启动目标时间序列连同用于冷启动的项目元数据集一起输入到我们的 AutoGluon 模型中 item_id
:
可视化预测
我们可以创建一个绘图函数来生成冷启动预测的可视化,如下图所示。
清理
要优化资源使用,请考虑在充分探索笔记本后停止 Amazon SageMaker Studio Lab 上的运行时。
结论
在这篇博文中,我们展示了如何使用 AutoGluon AutoML 在 Amazon SageMaker Studio Lab 上为时间序列数据构建冷启动预测引擎。 对于那些想知道两者之间区别的人 亚马逊预报 和 AutoGluon(时间序列),Amazon Forecast 是一项完全托管和受支持的服务,它使用机器学习 (ML) 生成高度准确的预测,而无需任何先前的 ML 经验。 而 AutoGluon 是一个开源项目,由社区提供最新的研究贡献。 我们通过一个端到端的示例来演示 AutoGluon for time series 的能力,并提供了一个数据集和用例。
用于时间序列数据的 AutoGluon 是一个开源 Python 包,我们希望这篇文章以及我们的代码示例能够为您提供一个简单的解决方案来解决具有挑战性的冷启动预测问题。 您可以访问我们的整个示例 GitHub回购. 试试看,让我们知道您的想法!
作者简介
伊万·崔 是 AWS 专业服务的数据科学家,他帮助客户使用 AWS 上的机器学习构建和部署解决方案。 他曾与不同行业的客户合作,包括软件、金融、制药和医疗保健。 在空闲时间,他喜欢阅读、与家人共度时光以及最大化他的股票投资组合。
乔纳斯·穆勒 是 AWS 人工智能研究和教育小组的高级应用科学家,他在那里开发新算法以改进深度学习和开发自动化机器学习。 在加入 AWS 使 ML 民主化之前,他在麻省理工学院计算机科学和人工智能实验室完成了博士学位。 在空闲时间,他喜欢探索山脉和户外活动。
叶文明 是 AWS AI 的研究产品经理。 他热衷于通过开源和最先进的机器学习技术帮助研究人员和企业客户快速扩展他们的创新。 Wenming 拥有来自微软研究院、SQL 工程团队和成功创业公司的多元化研发经验。
- "
- 100
- 9
- 关于
- 绝对
- ACCESS
- 账号管理
- 精准的
- 实现
- 横过
- AI
- 研究
- 算法
- 算法
- 允许
- 尽管
- Amazon
- 应用
- 的途径
- 人造的
- 人工智能
- 自动化
- 可使用
- AWS
- 建立
- 建立
- 企业
- 呼叫
- 可以得到
- 能力
- CD
- 更改
- 结算
- 码
- 柱
- 社体的一部分
- 公司的
- 计算机科学
- 消费
- 合作伙伴
- data
- 数据科学家
- 需求
- 部署
- 设计
- 开发
- 发达
- 开发
- 不会
- 教育
- 有效
- 电力
- 工程师
- 进入
- 企业
- 环境
- 必要
- 例子
- 体验
- 有经验
- 延长
- 家庭
- 专栏
- 特征
- 数字
- 金融
- 姓氏:
- 以下
- 格式
- Free
- ,
- 功能
- 未来
- 生成
- 混帐
- 非常好
- 团队
- 有
- 医疗保健
- 帮助
- 高度
- 历史的
- 创新中心
- How To
- HTTPS
- 图片
- 实施
- 改善
- 包括
- 包含
- 个人
- 行业
- 行业中的应用:
- 集成
- 房源搜索
- IT
- 键
- 已知
- 笔记本电脑
- 最新
- 发射
- 领导
- 学习用品
- 学习
- 自学资料库
- Line
- 清单
- 小
- 加载
- 机
- 机器学习
- 制作
- 经理
- 市场
- 元
- 微软
- 麻省理工学院简介
- ML
- 模型
- 模型
- 最先进的
- 移动
- 新产品
- 笔记本
- 开源代码
- 其他名称
- 户外活动
- 百分比
- 制药
- 个人档案
- 预测
- 市场问题
- 问题
- 过程
- 生产
- 产品
- 热销产品
- 所以专业
- 项目
- 提供
- 研发
- 原
- 阅读
- 建议
- 研究
- 资源
- 资源
- 零售
- 销售
- 鳞片
- 缩放
- 科学
- 科学家
- 系列
- 服务
- 特色服务
- 集
- 短
- 类似
- 软件
- 解决方案
- 花费
- 开始
- 初创企业
- 库存
- 工作室
- 成功
- 支持
- 目标
- 任务
- 团队
- 专业技术
- 终端
- 通过
- 次
- 一起
- 传统
- 交通
- 产品培训
- 火车
- us
- 使用
- 在线会议
- 可视化
- 卷筒纸
- 什么是
- WHO
- 中
- 也完全不需要
- 工作
- 工作
- 加工
- 零