线性模型与二元响应变量
在视频中,您看到将线性模型拟合到二元响应变量会很快出问题的示例。您了解到,给定线性拟合直线,可以得到拟合值 $\hat{y}$,但这与问题的逻辑不符,因为响应变量只取 0 和 1。
使用预加载的 crab 数据集,您将通过在 GLM 框架下将 y 建模为 x 的函数来研究这一现象。
回顾 GLM 的模型形式:
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
其中需要指定 formula、data 和 family。
另外请记住,GLM 中:
- 使用 Gaussian 族时是线性模型(GLM 的一个特例)
- 使用 Binomial 族时是逻辑回归模型。
本练习是课程的一部分
Python 中的广义线性模型
练习说明
- 使用
crab数据集,定义模型公式,使y由width预测。 - 若要使用 GLM 公式拟合「线性模型」,在 family 参数中使用
Gaussian(),这意味着 y 连续且近似服从正态分布。 - 若要使用 GLM 公式拟合「逻辑回归模型」,在 family 参数中使用
Binomial()。 - 使用带有合适参数的
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(____.____)