Множественная регрессия с группами - пандами - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь запустить множественную регрессию и хочу запустить ее для каждого тикера (например, символа общего доступа) в моем фрейме данных, а не для всего.Я пытался следовать подходу, описанному в этом посте: Регрессия по группам в пандах Python , но без особого успеха.

Фрагмент кода приведен ниже.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 (

...