gpt4 book ai didi

python - 分位数回归值错误 : operands could not be broadcast together with shapes

转载 作者:行者123 更新时间:2023-12-04 11:31:26 25 4
gpt4 key购买 nike

我正在尝试使用 Python 中的分位数回归来预测我的目标变量。
我考虑用于训练和验证的数据来自 2015 年 10 月 -2017 年 12 月 31 日。
现在模型已经开发,我试图预测 2018 年 1 月的值,这会引发以下错误:

ValueError: operands could not be broadcast together with shapes (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 中的 quantile regression.py 文件。
diff = np.max(np.abs(beta - beta0))
我在堆栈溢出上看过类似的帖子,建议检查目标变量的数据类型是否为数字。
这是变量的 dtype:

ASBCU_SUM: int64

Month: category

Year: category

WeekofMonth: category

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 数据开发模型时,数据类型也是相同的。
我真的很感激任何帮助..

最佳答案

我之前遇到过同样的错误。查看@Josef 的回复,发现输入矩阵不是满秩,修复秩问题后,bug 已修复。
例如,如果您运行以下代码:

import statsmodels.api as sm
import statsmodels.formula.api as smf
import pandas as pd
data = {'col_1': [3, 2, 1, 0], 'col_2': [0, 0, 0, 0],
'y': [1,2,3,4]}
data = pd.DataFrame.from_dict(data)
data.head()
model =smf.quantreg("y ~ col_1 + col_2", data).fit()
print(model.summary())
会出现这个bug:
diff = np.max(np.abs(beta - beta0))
ValueError: operands could not be broadcast together with shapes (3,)
(2,)
如果您删除导致非满级问题的“col_2”,则该错误将得到修复。

关于python - 分位数回归值错误 : operands could not be broadcast together with shapes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49207138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com