开始使用免费开始使用

线性模型与二元响应变量

在视频中,您看到将线性模型拟合到二元响应变量会很快出问题的示例。您了解到,给定线性拟合直线,可以得到拟合值 $\hat{y}$,但这与问题的逻辑不符,因为响应变量只取 0 和 1。

使用预加载的 crab 数据集,您将通过在 GLM 框架下将 y 建模为 x 的函数来研究这一现象。

回顾 GLM 的模型形式:

glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()

其中需要指定 formuladatafamily

另外请记住,GLM 中:

  • 使用 Gaussian 族时是线性模型(GLM 的一个特例)
  • 使用 Binomial 族时是逻辑回归模型。

本练习是课程的一部分

Python 中的广义线性模型

查看课程

练习说明

  • 使用 crab 数据集,定义模型公式,使 ywidth 预测。
  • 若要使用 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(____.____)
编辑并运行代码