Линейная модель и бинарная зависимая переменная
В видео вы видели пример подгонки линейной модели к бинарной зависимой переменной и то, как быстро могут возникнуть проблемы. Вы узнали, что при подгонке прямой линии можно получить подогнанные значения \(\hat{y}\), которые не согласуются с логикой задачи, поскольку зависимая переменная принимает значения 0 и 1.
Используя предварительно загруженный набор данных crab, вы изучите этот эффект, моделируя y как функцию от x в рамках GLM.
Напомним, что формула модели GLM имеет вид:
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
где указываются formula, data и family.
Также напомним, что GLM с:
- семейством Гаусса — это линейная модель (частный случай GLM)
- биномиальным семейством — это модель логистической регрессии.
Это упражнение является частью курса
Обобщённые линейные модели в Python
Инструкции к упражнению
- Используя набор данных
crab, задайте формулу модели так, чтобыyпредсказывалась черезwidth. - Чтобы подогнать линейную модель с помощью формулы GLM, укажите
Gaussian()в качестве аргумента family — это предполагает, что y непрерывна и приближённо нормально распределена. - Чтобы подогнать логистическую модель с помощью формулы GLM, укажите
Binomial()в качестве аргумента family. - Подгоните модель с помощью
glm(), передав нужные аргументы, и используйтеprint()иsummary()для просмотра сводок подогнанных моделей.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define model formula
formula = '____ ~ ____'
# Define probability distribution for the response variable for
# the linear (LM) and logistic (GLM) model
family_LM = sm.families.____
family_GLM = sm.families.____
# Define and fit a linear regression model
model_LM = glm(formula = ____, data = ____, family = ____).fit()
print(____.____)
# Define and fit a logistic regression model
model_GLM = glm(formula = ____, data = ____, family = ____).fit()
print(____.____)