Есть ли в python функция al oop для создания регрессии по диапазону строк для панельных данных для получения нескольких отдельных регрессий? - PullRequest
0 голосов
/ 09 января 2020

Я использую несколько разных регрессий с python. В первой части мой dataframe имеет дату как единственный индекс и зависит от y (скажем, y1, y2, y3 .. я получил 22) и несколько объясняющих переменных (x1, x2, x3 et c.) В столбцах для запустив отдельные регрессии каждого y для объясняющих переменных, я использовал:


    y_var_EUR = data[data.columns[0:21]]
    models =[]

    for y_var in y_var_EUR:
        formula = y_var + ' ~ x1 + ....'
        models.append(sm.OLS.from_formula(formula,data = data).fit())

output1 = summary_col([models[0],models[1]...]
print(output1)

, поэтому я получил несколько моделей [], которые я мог бы использовать для хранения в переменной summary_col [] и отображения всех коэффициентов.

Теперь у меня есть панель данных DataFrame с мультииндексом: дата и идентификатор. Поскольку также значения объясняющих переменных x различаются между сущностями, я хотел бы иметь al oop, который делает то же самое для каждой отдельной сущности в своем диапазоне:

bank  date      ret      Mkt-RF SMB   HML   
  A  201101      .        .      .     .    
  A  201102      .        .      .     . 
  .     .        .        .      .     . 
  .     .        .        .      .     . 
  B  201101      .        .      .     .  
  B  201102      .        .      .     . 

Так что я получаю одну подгонку результаты, как указано выше.

Я не знаю, как l oop над этими данными, так как теперь у все в одном столбце, а х в тех же столбцах.

Для ясности: я не хочу запускать Panelregression с фиксированными эффектами, чтобы получить один коэффициент для всего DataFrame.

Заранее благодарю за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...