我是使用Stats模块运行(我认为是)相当简单的多元线性回归模型拟合。以下是我的代码:
因为我有大约30个因子变量,所以我使用Python字符串操作来创建公式。 "y"如上所述。all_columns是y_2015piv数据框中除"y"外的列。
这是all_columns:
数据框中的值是连续数值变量和0/1哑变量。当我尝试拟合模型时,出现了以下错误:
y = 'EXITS|20:00:00'
all_columns = "+".join(y_2015piv.columns - ['EXITS|20:00:00'])
reg_formula = "y~" + all_columns
lm= smf.ols(formula=reg_formula, data=y_2015piv).fit()
因为我有大约30个因子变量,所以我使用Python字符串操作来创建公式。 "y"如上所述。all_columns是y_2015piv数据框中除"y"外的列。
这是all_columns:
DAY_Fri+DAY_Mon+DAY_Sat+DAY_Sun+DAY_Thu+DAY_Tue+DAY_Wed+ENTRIES|00:00:00+ENTRIES|04:00:00+ENTRIES|08:00:00+ENTRIES|12:00:00+ENTRIES|16:00:00+ENTRIES|20:00:00+EXITS|00:00:00+EXITS|04:00:00+EXITS|08:00:00+EXITS|12:00:00+EXITS|16:00:00+MONTH_Apr+MONTH_Aug+MONTH_Dec+MONTH_Feb+MONTH_Jan+MONTH_Jul+MONTH_Jun+MONTH_Mar+MONTH_May+MONTH_Nov+MONTH_Oct+MONTH_Sep
数据框中的值是连续数值变量和0/1哑变量。当我尝试拟合模型时,出现了以下错误:
PatsyError: numbers besides '0' and '1' are only allowed with **
y~DAY_Fri+DAY_Mon+DAY_Sat+DAY_Sun+DAY_Thu+DAY_Tue+DAY_Wed+ENTRIES|00:00:00+ENTRIES|04:00:00+ENTRIES|08:00:00+ENTRIES|12:00:00+ENTRIES|16:00:00+ENTRIES|20:00:00+EXITS|00:00:00+EXITS|04:00:00+EXITS|08:00:00+EXITS|12:00:00+EXITS|16:00:00+MONTH_Apr+MONTH_Aug+MONTH_Dec+MONTH_Feb+MONTH_Jan+MONTH_Jul+MONTH_Jun+MONTH_Mar+MONTH_May+MONTH_Nov+MONTH_Oct+MONTH_Sep
网络上没有任何关于此问题的解决方案。非常感谢您提供帮助。
顺便说一下,当我在Scikit-learn中拟合这个模型时,一切正常。所以我认为数据是正确的。
提前致谢。