У меня есть датафрейм, похожий на приведенный ниже.
Date Company_Name Rtns Sentiment Market_cap Beta
0 1/1/2000 abc 0.2 1 1234 1.0
1 1/2/2000 abc 0.5 1 1221 1.0
2 1/3/2000 abc 0.4 0 1532 1.2
.
.
50 1/12/2011 abc 0.02 1 1211 0.9
51 1/1/2001 def 0.03 0 118 1.6
52 1/2/2001 def 0.13 0 117 1.2
53 1/3/2001 def 0.02 1 117 1.3
Я пытаюсь выполнить регрессию OLS с одной группой компаний за раз (т. Е. Регрессия abc компании, регрессия def компании), со всеми переменными, регрессированными к доходам. Это то, что я сделал ниже (я использовал цикл for, но я не уверен, как использовать индекс или использовать названия компаний для получения регрессии):
y = df['Rtns']
x = df[['Sentiment', 'Market_cap', 'Beta']]
summ= []
for i in df:
model = sm.OLS((y,x)).fit()
summ.append(model.summary())
Вывод данныхдля меня была модель регрессии, которая была повторяющейся.
Я не уверен, как мне регрессировать каждую группу компаний (т.е. результат регрессии abc и результат регрессии def.)
Я также использовал groupby функция для группировки компаний, но я не уверен, что делать дальше.
Спасибо всем, кто может помочь.