数据:https://courses.edx.org/c4x/MITx/15.071x_2/asset/NBA_train.csv
我知道如何使用statsmodels.formula.api
将这些数据拟合到多元线性回归模型中:
import pandas as pd
NBA = pd.read_csv("NBA_train.csv")
import statsmodels.formula.api as smf
model = smf.ols(formula="W ~ PTS + oppPTS", data=NBA).fit()
model.summary()
然而,我发现这种类似R的公式符号笨拙不便,我想使用通常的pandas语法:
import pandas as pd
NBA = pd.read_csv("NBA_train.csv")
import statsmodels.api as sm
X = NBA['W']
y = NBA[['PTS', 'oppPTS']]
X = sm.add_constant(X)
model11 = sm.OLS(y, X).fit()
model11.summary()
使用第二种方法时,我得到以下错误:
ValueError: shapes (835,2) and (835,2) not aligned: 2 (dim 1) != 835 (dim 0)
为什么会发生这种情况,以及如何解决?