跳至主要内容

R 中的 GLM:广义线性模型

了解广义线性模型(GLM)以及它与线性模型的不同之处。
· 2分钟 阅读

使用 AI 探索

广义线性模型(GLM)是对普通线性回归的推广,允许响应变量具有非正态分布(如高斯分布)之外的误差分布模型。

GLM 基础

使用函数 glm() 来拟合 GLM。与线性模型(lm()s)类似,glm()s 以公式和数据作为输入,但还需要指定一个 family 参数。

广义线性模型语法

广义线性模型语法

Gaussian family 是 R 对正态分布的称呼,也是 glm() 的默认设置。

与线性模型的相似性

如果 family 为 Gaussian,则 GLM 与 LM 等价。

与线性模型的相似性

非正态误差或分布

广义线性模型可以处理非正态的误差或分布。但可用的分布有限。例如,计数数据可以使用Poisson family,二项数据可以使用binomial family。

GLM 还具有非线性链接函数,用于将回归系数与分布相连接,从而使线性模型得以推广。

使用 glm() 进行预测的交互式示例

本示例使用 Poisson 回归与 newDat 数据集,预测北美夏季 6、7、8 月每日平民火灾伤亡人数的期望值。

以下是 newDat 数据集中的数据:

  Month   
1     6
2     7
3     8 

Poisson 的斜率和截距估计是在自然对数尺度上,可通过取指数来便于理解。您可以在 predict 函数中指定 type = "response" 来实现。

# use the model to predict with new data
predOut <- predict(object = poissonOut, newdata = newDat, type = "response")

# print the predictions
print(predOut)

运行上述代码后,将产生如下结果:

         1          2          3
0.08611111 0.12365591 0.07795699 

亲自试一试。

要进一步了解 R 中的广义线性模型,请观看我们课程中的此视频:Generalized Linear Models in R。

本文内容摘自 Richard Erickson 开设的 DataCamp 课程 Generalized Linear Models in R。

欢迎查看我们的R 中的逻辑回归教程。

主题