You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GluonTS DeepAR预测时间序列未知未来目标值?

GluonTS DeepAR 3个月未来值预测实现方法

核心问题说明

你之前得到12个预测值是因为模型初始化时prediction_length参数设置为12,该参数代表模型要预测的未来周期数,和输出的预测值数量完全对应。
预测值的时间对应逻辑为:默认从传入预测接口的数据集最后一个时间点的下一个同频率周期开始,按时间正序排列。你的训练数据截止到2021-10-01,频率为月度,因此12个输出依次对应2021-11-01到2022-10-01的预测值。

正确实现步骤

步骤1:调整模型参数

如果仅需要预测3个月的值,直接将prediction_length设置为3即可,无需额外截取结果。

步骤2:构造预测数据集

要预测完全未知的未来值,不需要拆分测试集,直接将全部已知的1995-01-01至2021-10-01的全量数据传入预测接口即可。参考示例中的测试集仅用于模型效果验证,生产预测场景不需要保留。

步骤3:完整代码示例

import pandas as pd
import numpy as np
import mxnet as mx
from gluonts.dataset.common import ListDataset
from gluonts.model.deepar import DeepAREstimator
from gluonts.mx import Trainer

# 固定随机种子保证结果可复现
np.random.seed(7)
mx.random.seed(7)

# 读取并整理你的数据,确保date列为datetime类型,target列为目标值,时间截止到2021-10-01
# df = pd.read_csv("你的数据路径.csv")
# df['date'] = pd.to_datetime(df['date'])
# df = df.sort_values('date').reset_index(drop=True)

# 构造训练数据集
train_ds = ListDataset(
    data_iter=[{
        "target": df['target'], # 全量已知目标值
        "start": pd.Timestamp("1995-01-01", freq="M") # 序列起始时间
    }],
    freq="M"
)

# 初始化DeepAR模型,prediction_length设为3对应3个月预测
estimator = DeepAREstimator(
    prediction_length=3,
    context_length=120,
    freq="M",
    trainer=Trainer(
        epochs=5,
        learning_rate=1e-3,
        num_batches_per_epoch=50
    )
)

# 训练模型
predictor = estimator.train(training_data=train_ds)

# 执行预测
pred_raw = list(predictor.predict(train_ds))[0]
# 取0.5分位数即中位数作为预测结果
pred_values = pred_raw.quantile(0.5)

# 匹配预测日期
pred_dates = pd.date_range(start="2021-11-01", periods=3, freq="M")
pred_result = pd.DataFrame({
    "date": pred_dates,
    "prediction": pred_values
})

print(pred_result)

现有结果快速匹配方案

如果你不需要重新训练模型,你之前得到的12个预测值的前3个就对应你需要的时间段:

  • 第一个值163842.34 → 2021-11-01
  • 第二个值152805.08 → 2021-12-01
  • 第三个值161326.3 → 2022-01-01

内容的提问来源于stack exchange,提问作者Lucas Amaral

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:27:00