欢迎光临散文网 会员登陆 & 注册

R语言中广义线性模型(GLM)中的分布和连接函数分析

2021-04-25 12:47 作者:拓端tecdat  | 我要投稿

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

 

通常,GLM的连接函数可能比分布更重要。为了说明,考虑以下数据集,其中包含5个观察值

  1. x = c(1,2,3,4,5)

  2. y = c(1,2,4,2,6)

  3. base = data.frame(x,y)

然后考虑具有不同分布的几个模型,以及一个链接

  1. regNId = glm(y~x,family=gaussian(link="identity"),data=base)

  2. regNlog = glm(y~x,family=gaussian(link="log"),data=base)

  3. regPId = glm(y~x,family=poisson(link="identity"),data=base)

  4. regPlog = glm(y~x,family=poisson(link="log"),data=base)

  5. regGId = glm(y~x,family=Gamma(link="identity"),data=base)

  6. regGlog = glm(y~x,family=Gamma(link="log"),data=base)

  7. regIGId = glm(y~x,family=inverse.gaussian(link="identity"),data=base)

  8. regIGlog = glm(y~x,family=inverse.gaussian(link="log"),data=base

还可以考虑一些Tweedie分布,甚至更一般

考虑使用线性链接函数在第一种情况下获得的预测


  1. plot(x,y,pch=19)

  2. abline(regNId,col=darkcols[1])

  3. abline(regPId,col=darkcols[2])

  4. abline(regGId,col=darkcols[3])

  5. abline(regIGId,col=darkcols[4])

  6. abline(regTwId,lty=2)

 

 

这些预测非常接近。在指数预测的情况下,我们获得

 

我们实际上可以近距离看。例如,在线性情况下,考虑使用Tweedie模型获得的斜率(实际上将包括此处提到的所有参数famile)

 

这里的坡度总是非常接近,如果我们添加一个置信区间,则

 

对于Gamma回归或高斯逆回归,由于方差是预测的幂,因此,如果预测较小,则方差应该较小。因此,在图的左侧,误差应该较小,并且方差函数的功效更高。





  1. plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(-.1,.04),xlab="power",ylab="error")

  2. abline(h=0,lty=2)

 

 

当然,我们可以对指数模型做同样的事情

 

 

或者,如果我们添加置信区间,我们将获得

 

  

因此,这里的“斜率”也非常相似...如果我们看一下在图表左侧产生的误差,可以得出


  1. plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(.001,.32),xlab="power",ylab="error")

 

 

因此,分布通常也不是GLM上最重要的一点。

参考文献

1.用SPSS估计HLM层次线性模型模型

2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

3.基于R语言的lmer混合线性回归模型

4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

8.R语言用线性回归模型预测空气质量臭氧数据

9.R语言分层线性模型案例


R语言中广义线性模型(GLM)中的分布和连接函数分析的评论 (共 条)

分享到微博请遵守国家法律