我正在運行(我認爲是)使用Stats模型的相當簡單的多元線性迴歸模型。Statsmodel多元線性迴歸誤差 - Python
我的代碼如下:
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」的數據框y_2015piv列。
這是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中使用這個模型時,它工作正常。所以我認爲數據是有序的。
在此先感謝。
使用'Q'表示法仍然沒有工作。我得到了一個不同的錯誤。但是,當我按照你的建議使用直接接口時,它可以很好地處理變量名稱。謝謝! – Windstorm1981