

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 用于预测货运需求的机器学习模型
<a name="machine-learning-models"></a>

下图显示了训练数据的示例。目标就是你想要预测的内容，而相关的时间序列 1 和 2 是与预测目标相关的输入要素。历史数据用于训练和验证，您保留一段时间的历史数据用于模型验证。



![显示历史数据、抵制数据和预测的折线图](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/forecast-demand-freight-capacity/images/time-series-training-data.png)


在需求预测中，产出（或目标）是您要预测的需求量。输入要素是与输出相关的时间序列数据。要训练机器学习模型以准确预测需求量，解决方案中需要两个机器学习模型。第一个模型对输入要素进行时间序列预测，包括内部和外部数据。第二种模型使用所有功能进行最终需求预测。通过将这两个模型结合使用，您可以有效地捕捉时间序列趋势以及目标与输入之间的关系。

## 输入要素预测的 ML 模型
<a name="ml-model-input-feature"></a>

输入要素包括内部和外部历史时间序列数据。要对每个特征进行预测，可以使用一维 (1D) 时间序列模型。有多种算法可供选择。例如，对于具有强烈季节效应的时间序列和多个季节的历史数据，[https://facebook.github.io/prophet/](https://facebook.github.io/prophet/)效果最好。系统会为每个单独的功能生成预测。

## 目标变量预测的 ML 模型
<a name="ml-model-target-forecast"></a>

输出或需求量的机器学习模型旨在捕捉所有功能与输出之间的关系。您可以使用各种监督回归模型，例如lasso、ridge regressionrandom forest、和XGBoost。在构建模型并寻找最佳参数和超参数时，可以使用保留数据。*Holdout 数据*是带有标签的历史数据的一部分，这些数据从用于训练机器学习模型的数据集中保留。通过将预测值与抵制数据进行比较，您可以使用抵制数据来评估模型性能。