Эконометрика: Код в 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