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

使用NeuralProphet做多变量时序预测时出现「Unexpected column {name}」报错

NeuralProphet添加滞后回归器后fit报错:ValueError: Unexpected column {name} in data

问题描述

在为NeuralProphet模型添加额外滞后回归器(lagged regressors)后,调用fit方法拟合模型时触发报错,报错信息为「ValueError: Unexpected column {name} in data」,请求排查问题原因。

代码示例

# 3 step ahead AR and lagged regressor model

df = df_ercot
m = NeuralProphet(
    n_forecasts=3,
    n_lags=3,
    learning_rate= 0.1,
)
m = m.add_lagged_regressor(names=regions) #, only_last_value=True)
m.highlight_nth_step_ahead_of_each_forecast(3)
metrics = m.fit(df, freq="H")

错误栈信息

ValueError                                Traceback (most recent call last)
<ipython-input-38-39259abef9ed> in <module>
      9 m = m.add_lagged_regressor(names=regions) #, only_last_value=True)
     10 m.highlight_nth_step_ahead_of_each_forecast(3)
---> 11 metrics = m.fit(df, freq="H")

4 frames
/usr/local/lib/python3.7/dist-packages/neuralprophet/df_utils.py in normalize(df, data_params)
    381     for name in df.columns:
    382         if name not in data_params.keys():
---> 383             raise ValueError("Unexpected column {name} in data")
    384         new_name = name
    385         if name == "ds":

ValueError: Unexpected column {name} in data

问题原因及解决方法

核心原因

NeuralProphet在拟合前会校验输入数据的所有列是否都已被模型注册(包括日期列ds、目标列、手动添加的滞后回归列等),一旦发现未注册的列,就会抛出该错误。常见触发场景:

  • regions列表中的列名和df_ercot的实际列名不匹配(拼写错误、大小写不一致)
  • 目标列不是默认的y,且未通过add_target显式注册
  • regions包含了不需要作为滞后回归器的列(比如日期列ds)

解决步骤

  1. 校验列名一致性
    先打印DataFrame列名和指定的滞后回归列,确认两者完全匹配:

    print("DataFrame列名:", df_ercot.columns.tolist())
    print("指定的滞后回归列:", regions)
    

    修正regions中拼写错误或不存在的列名。

  2. 显式注册目标列
    如果你的目标列不是默认的y,必须手动添加:

    m = m.add_target(name="你的目标列名称")
    
  3. 清理滞后回归列列表
    确保regions只包含需要作为滞后回归器的列,不要包含ds或目标列。

  4. 检查重复注册
    避免重复调用add_lagged_regressor添加同一列,或添加不存在的列。

内容的提问来源于stack exchange,提问作者David Almasi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:10:59