【发布时间】:2018-08-18 19:33:32
【问题描述】:
我正在尝试使用 Python 中的分位数回归来预测我的目标变量。
我正在考虑用于训练和验证的数据来自 2015 年 10 月 -2017 年 12 月 31 日期间。
现在模型已经建立,我正在尝试预测 2018 年 1 月的值,这会引发以下错误:
ValueError: 操作数无法与形状 (34,) (33,) 一起广播
mod = smf.quantreg('ASBCU_SUM~Month+Year+WeekofMonth+DayNum+isHoliday+PCOP_CS+PCOP_LS+PCOP_IFS+PCOP_LSS+PCOP_FSS+PCOP_FS+DayOfWeek_6+DayOfWeek_5+DayOfWeek_2+DayOfWeek_7+DayOfWeek_3+DayOfWeek_4',dfTrainingData)
res = mod.fit(q=0.8)
如果我检查,错误来自statmodels中的分位数regression.py文件。
diff = np.max(np.abs(beta - beta0))
我看过类似的关于堆栈溢出的帖子,建议检查目标变量的数据类型是否为数字。 这是变量的 dtype:
ASBCU_SUM: int64
月份:类别
年份:类别
WeekofMonth:类别
isHoliday: int64
DayNum: int32
PCOP_SUM: int64
PCOP_CS: int64
PCOP_LS: int64
PCOP_IFS: int64
PCOP_LSS: int64
PCOP_FS: int64
PCOP_FSS: int64
DayOfWeek_3:float64
DayOfWeek_2:float64
DayOfWeek_5:float64
DayOfWeek_7:float64
DayOfWeek_4:float64
DayOfWeek_6:float64
使用 2015-2017 年数据开发模型时,数据类型相同。
非常感谢任何帮助..
【问题讨论】:
-
请提供重现错误的 dfTrainingData 示例行。并包含一个包含所有
import行的完整代码块,以便我们可以运行数据和代码来提供帮助。 -
最有可能是github.com/statsmodels/statsmodels/issues/2597 检查设计矩阵是否满秩。
-
我遇到了类似的问题,任何帮助都会很棒。
标签: python pandas statsmodels quantile-regression