使用 Amazon Forecast 进行时间序列预测
Amazon Forecast 是一项完全托管的服务,用于进行时间序列预测。使用 Amazon Forecast 无需具备任何机器学习经验,您只需要提供历史数据,以及您认为可能会影响预测结果的任何其他数据,Amazon Forecast 会自动检查这些数据,识别有意义的内容,并生成一个预测模型。
a. 将训练数据下载到您的计算机上并将其上传至您的 AWS 账户中的 Amazon Simple Storage Service (Amazon S3) 存储桶。
在本练习中,您将使用单个家庭电力消耗数据集。(Dua, D. 和 Karra Taniskidou, E.(2017).UCI 机器学习存储库 [http://archive.ics.uci.edu/ml]。Irvine, CA: University of California, School of Information and Computer Science。)我们将每小时汇总使用率数据。
示例数据下载 electricityusagedata.zip
b. 解压缩内容并将其作为 electricityusagedata.csv 保存在本地。
c. 将数据文件上传到 S3 存储桶。
a. 在 Amazon Forecast 主页中,选择 Create dataset group (创建数据集组)。
b. 在 Create dataset group (创建数据集组) 页面上,输入您的数据集组的名称, 并从 Forecasting domain 下拉菜单中,选择 Custom,然后下一步。
c. 在 Create target time series dataset 页面上,对于 Dataset details,提供以下信息:
Dataset name – 为您的数据集输入名称。
Frequency of your data – 保留默认值 1,并从下拉菜单中选择 hour 。
Data schema (数据架构) – 更新架构以匹配数据类型和顺序中的时间序列数据的列,本示例中,我们提供如下 schema:
{ "Attributes": [ { "AttributeName": "timestamp", "AttributeType": "timestamp" }, { "AttributeName": "target_value", "AttributeType": "float" }, { "AttributeName": "item_id", "AttributeType": "string" } ] }
d. 在 Import target time series 页面上,对于 Dataset import job details,请提供以下信息:
Dataset import job name – 为您的数据集输入名称。
Timestamp format – 保留默认值。格式必须与输入时间序列数据一致。
IAM role (IAM 角色) – 您可以让 Amazon Forecast 为您创建所需的 IAM 角色,方法为从下拉菜单中选择 Create a new role (创建新角色),然后按照屏幕上的说明进行操作。或者选择已创建好的 IAM 角色。
Data location (数据位置) – 使用以下格式输入您的 .csv 文件在 Amazon S3 上的位置:
s3://<name of your S3 bucket>/<folder path>/<filename.csv>
b. 在 Train predictor 页面上,对于 Predictor details,提供以下信息:
Predictor name – 为预测器输入名称。
Forecast horizon – 选择预测所涵盖的未来范围。此数字乘以您在 Step 1: Import the Training Data 中指定的数据输入频率 (hourly) 可确定对未来多久进行预测。在本示例中,将此数字设置为 36 以提供 36 小时的预测。
Forecast frequency – 保留默认值 1。从下拉菜单中,选择 hour。此设置必须与输入时间序列数据一致。
Algorithm selection – 保留默认值 Manual。从下拉菜单中,选择 Deep_AR_Plus 算法。
Country for holidays – 选择 United States。
点击 Train Predictor,开始训练模型。
a. 在控制面板中,在 Generate forecasts 下,选择 Lookup forecast,进入 Forecast lookup 页面。
b. 在 Forecast lookup 页面上,对于 Forecast details,提供以下信息。
Forecast – 从下拉菜单中,选择您在 Step 3: Create a Forecast 中创建的预测。
Start date – 输入 2015/01/01。保持默认时间 00:00:00。
End date – 输入 2015/01/02。将时间更改为 12:00:00。
36 小时的日期范围对应于您在 Step 2: Train a Predictor 中指定的 Forecast horizon。
Choose which keys/filters – 选择 Add forecast key。
Forecast key – 从下拉菜单中选择 item_id。
Value – 从用电量数据的输入时间序列的 item_id 列中输入一个值。item_id(例如,client_21)标识包含在数据集中的特定客户端。
接下来您可以使用自己的数据,尝试通过 Amazon Forecast 创建一个与您数据相关的时序预测模型。
您可以尝试多种算法,或者选择 AutoML,找到您数据最适合的算法。