我正在尝试进行多元回归,并希望在我的数据框中(而不是在所有内容上)针对每个单独的代码(例如共享代码)运行此回归。我一直在尝试遵循本文中所述的方法:Regression by group in python pandas,但没有成功。
代码段如下。 df_raw是我的数据框。基本上我想按每个组(即“符号”)检查x1,x2,x3,x4和x5变量与y变量之间的关系。
有人可以建议实现此目标的最佳方法吗?
y = df_raw['daily pct return'].shift(periods=1)
x1 = df_raw['Excess daily return']
x2 = df_raw['Excess weekly return']
x3 = df_raw['Excess monthly return']
x4 = df_raw['Trading vol / mkt cap']
x5 = df_raw['Std dev']
x6 = df_raw['Residual risk']
def regress(lm, y=y, x1=x1, x2=x2, x3=x3, x4=x4, x5=x5, x6=x6):
result = smf.OLS(exog=y, endog=[x1 + x2 + x3 + x4 + x5 + x6],data=df_raw).fit()
return result.params
#Regress according to group
df_raw.groupby('symbol').apply(regress, 'y', ['x1', 'x2', 'x3', 'x4', 'x5', 'x6'])
我遇到以下错误:TypeError:ufunc'add'不包含签名匹配类型为dtype(