历史预测
我们的时间序列模型提供了一个强大的功能,允许用户在获取未来预测的同时检索历史预测。通过在 forecast 方法中设置 add_history=True
参数即可使用此功能。
1. 导入包
首先,我们安装并导入所需的包,然后初始化 Nixtla 客户端。
👍 使用 Azure AI 端点
要使用 Azure AI 端点,请设置
base_url
参数
nixtla_client = NixtlaClient(base_url="you azure ai endpoint", api_key="your api_key")
2. 加载数据
现在您可以开始进行预测了!让我们导入一个示例
时间戳 | 值 | |
---|---|---|
0 | 1949-01-01 | 112 |
1 | 1949-02-01 | 118 |
2 | 1949-03-01 | 132 |
3 | 1949-04-01 | 129 |
4 | 1949-05-01 | 121 |
3. 历史预测
让我们添加拟合值。当 add_history
设置为 True 时,输出 DataFrame 将不仅包含由 h 参数决定的未来预测,还将包含历史预测。目前,历史预测不受 h
参数影响,其固定预测范围取决于数据的频率。历史预测是以滚动窗口的方式生成的,然后进行连接。这意味着模型在每个时间步长上顺序应用,仅使用截至该时间点可用的最新信息。
📘 Azure AI 中的可用模型
如果您正在使用 Azure AI 端点,请确保设置
model="azureai"
nixtla_client.forecast(..., model="azureai")
对于公共 API,我们支持两种模型:
timegpt-1
和timegpt-1-long-horizon
。默认情况下,使用
timegpt-1
。关于如何以及何时使用timegpt-1-long-horizon
,请参阅此教程。
时间戳 | TimeGPT | |
---|---|---|
0 | 1951-01-01 | 135.483673 |
1 | 1951-02-01 | 144.442398 |
2 | 1951-03-01 | 157.191910 |
3 | 1951-04-01 | 148.769363 |
4 | 1951-05-01 | 140.472946 |
让我们绘制结果图。这种将过去和未来预测整合在一起的视图对于理解模型的行为以及评估其随时间的性能非常有价值。
但请注意,序列的初始值不包含在这些历史预测中。这是因为 TimeGPT
需要一定数量的初始观测值才能生成可靠的预测。因此,在解释输出时,务必注意前几个观测值是模型预测的基础,而非预测值本身。