原文链接:http://tecdat.cn/?p=14874
通常,GLM的连接函数可能比分布更重要。为了说明,考虑以下数据集,其中包含5个观察值
x = c(1,2,3,4,5)y = c(1,2,4,2,6)base = data.frame(x,y)
然后考虑具有不同分布的几个模型,以及一个链接
regNId = glm(y~x,family=gaussian(link="identity"),data=base)regNlog = glm(y~x,family=gaussian(link="log"),data=base)regPId = glm(y~x,family=poisson(link="identity"),data=base)regPlog = glm(y~x,family=poisson(link="log"),data=base)regGId = glm(y~x,family=Gamma(link="identity"),data=base)regGlog = glm(y~x,family=Gamma(link="log"),data=base)regIGId = glm(y~x,family=inverse.gaussian(link="identity"),data=base)regIGlog = glm(y~x,family=inverse.gaussian(link="log"),data=base
还可以考虑一些Tweedie分布,甚至更一般
考虑使用线性链接函数在第一种情况下获得的预测
plot(x,y,pch=19)abline(regNId,col=darkcols[1])abline(regPId,col=darkcols[2])abline(regGId,col=darkcols[3])abline(regIGId,col=darkcols[4])abline(regTwId,lty=2)
这些预测非常接近。在指数预测的情况下,我们获得
我们实际上可以近距离看。例如,在线性情况下,考虑使用Tweedie模型获得的斜率(实际上将包括此处提到的所有参数famile)
这里的坡度总是非常接近,如果我们添加一个置信区间,则
对于Gamma回归或高斯逆回归,由于方差是预测的幂,因此,如果预测较小,则方差应该较小。因此,在图的左侧,误差应该较小,并且方差函数的功效更高。
plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(-.1,.04),xlab="power",ylab="error")abline(h=0,lty=2)
当然,我们可以对指数模型做同样的事情
或者,如果我们添加置信区间,我们将获得
因此,这里的“斜率”也非常相似...如果我们看一下在图表左侧产生的误差,可以得出
plot(Vgamma,Verreur,type="l",lwd=3,ylim=c(.001,.32),xlab="power",ylab="error")
因此,分布通常也不是GLM上最重要的一点。
点击标题查阅往期内容
R语言中使用线性模型、回归决策树自动组合特征因子水平 R语言缺失值的处理:线性回归模型插补 R语言逻辑回归和泊松回归模型对发生交通事故概率建模 R语言中自编基尼系数的CART回归决策树的实现 R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归 R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用 R语言中回归模型预测的不同类型置信区间应用比较分析 R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口 R语言中的偏最小二乘PLS回归算法 基于R语言的lmer混合线性回归模型 R语言泊松回归对保险定价建模中的应用:风险敞口作为可能的解释变量 Python用PyMC3实现贝叶斯线性回归模型 r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现 R语言如何和何时使用glmnet岭回归 R语言实现向量自回归VAR模型更多内容,请点击左下角“”查看报告全文
关注我们
案例精选、技术干货 第一时间与您分享
长按二维码加关注
更多内容,请点击左下角“”查看报告全文