R语言中GLM(广义线性模型),非线性和异方差可视化分析

2020-08-05 17:40:12 浏览数 (2)

原文链接:http://tecdat.cn/?p=13839

上周在课程中,我们了解了广义线性模型的理论,强调了两个重要组成部分

  • 链接函数(这实际上是在预测模型的关键)
  • 分布或方差函数

考虑数据集

代码语言:javascript复制
­lin.mod = lm(dist~speed,data=cars)

线性模型 

假设残差独立且具有相同的方差。如果我们可视化线性回归,会看到:

这里的想法(在GLM中)是假设

它将基于某些误差项生成与先前描述的模型相同的模型。该模型可以在下面看到,

代码语言:javascript复制
C=trans3d(c(x,x),c(y,rev(y)),c(z,z0),mat)polygon(C,border=NA,col="light blue",density=40)C=trans3d(x,y,z0,mat)lines(C,lty=2)C=trans3d(x,y,z,mat)lines(C,col="blue")}

这里确实有两部分:平均值的线性增加  

 和正态分布的恒定方差  

另一方面,如果我们假设泊松回归,

代码语言:javascript复制
poisson.reg = glm(dist~speed,data=cars,family=poisson(link="log"))

我们有这样的结果

有两件事同时发生了变化:我们的模型不再是线性的,而是指数的

,并且方差也随着解释变量的增加而增加

,因为有了泊松回归,

如果改编前面的代码,我们得到

问题是,当我们从线性模型引入Poisson回归时,我们改变了两件事。因此,让我们看看当我们分别更改两个组件时会发生什么。首先,我们可以使用高斯模型来更改链接函数,但是这次是乘法模型(具有对数链接函数)

这次是非线性的。或者我们可以在Poisson回归中更改链接函数,以获得线性模型,但异方差

因此,这基本上就是GLM的目的。

0 人点赞