Эконометрика: Код в Python для оценки множественной линейной регрессии


Напишем код, чтобы решить простую задачу: оценить множественную линейную регрессию в Python. Данные импортируются из Excel. Будем для примера оценивать модель y=const+b1*x1+b2*x2+b3*x3+b4*x4+b7*x7+u, используя данные из файла filename.xlsx. Зависимой переменной является у, независимыми переменными выступают x1, x2, x3, x4, x7. В модели есть константа const. Случайная ошибка в самой модели у нас обозначается как u.


Поехали:

import pandas as pd

df = pd.read_excel(r'C:\...\filename.xlsx') #читаем данные из excel. Здесь предполагается, что в файле единственная вкладка. Если она не единственная, можно воспользоваться опцией sheet_name=’имя листа’ или скопировать данные в отдельную книгу с единственным листом. Первая строка – имя переменных, лучше покороче и латинскими буквами.

print(df)

import statsmodels.api as sm #подключаем пакет для построения регрессии

df['const'] = 1 #постулируем константу

reg2 = sm.OLS(endog=df['y'], exog=df[['const','x1', 'x2', 'x3', 'x4', 'x7']], missing='drop') #задаем саму модель регрессии под именем reg2: y = const + b1*x1 + b2*x2 + b3*x3 + b4*x4 + b7*x7

type(reg2)

results2 = reg2.fit() #проименуем результаты как results2

type(results2)

print(results2.summary())



Всё, модель готова. Далее, конечно, хорошо бы сделать проверку робастности модели и скорректировать спецификацию, если нужно. Это тема отдельной статьи.



02.12.2022

К списку всех статей




Некоторые ВУЗы и программы, студентам которых была предоставлена квалифицированная помощь репетитора по математике, статистике, макро- и микроэкономике и прочим наукам с экономическим, финансовым и математическим уклоном.