当我尝试在Statsmodels中运行多变量线性回归时,我收到错误。当我在XData变量中只对一个X列进行硬编码时,一切正常。
有人可以给我一些建议,因为我在这里失踪了吗?我将不胜感激。
错误:
ValueError:形状(747,2)和(747,2)未对齐:2(暗淡1)!= 747(暗淡0)
代码:
import pandas as pd
import statsmodels.api as sm
import itertools
data = pd.read_csv("deaconFoodData.csv")
for i in range(2,10,1):
xCombinations = itertools.combinations(["Food Exp","HH Size","HH Inc","Highest Ed Head","Age Head","Shopping Time","Kid <6","Kid 6-18","Eating Healthy"], i)
print(str(i) + " variables")
for combination in xCombinations:
comb = list(combination)
print(comb)
xData = data[["Food Exp", "HH Size"]] # data[comb]
yData = data["Shopping LH"]
yData = sm.add_constant(yData, prepend=False)
print(yData)
# Fit and summarize OLS model
mod = sm.OLS(xData, yData)
res = mod.fit()
print(res.rsquared)