R语言广义线性模型(GLMs)算法和零膨胀模型分析
时间:2022-07-27
本文章向大家介绍R语言广义线性模型(GLMs)算法和零膨胀模型分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原文链接:http://tecdat.cn/?p=14887
广义线性模型(GLM) 是通过连接函数,把自变量线性组合和因变量的概率分布连起来,该概率分布可以是高斯分布、二项分布、多项式分布、泊松分布、伽马分布、指数分布。连接函数有:
- 平方根连接(用于泊松模型)
考虑一些均值μ和方差σ2的随机变量Y。利用泰勒展开式
假使
,考虑平方根变换g(y)= sqrt {y} g(y)= y,则第二个等式变为
因此,通过平方根变换,我们具有方差稳定性,可以将其解释为一定的同调性。
- 伯努利模型的对数函数
假设变量是泊松变量,
先前的模型看起来像是伯努利回归分析,其中H作为链接函数, mathbb {P}
因此,现在假设代替观察N,我们观察到Y = 1(N> 0)。在那种情况下,运行带有对数链接函数的伯努利回归,首先与对原始数据运行泊松回归,然后在我们的二进制变量零和非零上使用。让我们先生成一些模拟数据,比较从标准逻辑回归得到的eλx和px
regPois = glm(Y~.,data=base,family=poisson(link="log"))
regBinom = glm((Y==0)~.,data=base,family=binomial(link="probit"))
如果px 是从Bernoulli回归中获得的,并且具有连接功能,该怎么办?
plot(prob,1-exp(-lambda),xlim=0:1,ylim=0:1)
abline(a=0,b=1,lty=2,col="red")
拟合很好,现在,如果我们对婚姻出轨数据集,由雷·费尔,在1978年出版的 期刊政治经济学 (含563个观察,九个变量)进行建模:
prob = predict(regBinom, type="response")
plot(prob,exp(-lambda),xlim=0:1,ylim=0:1)
abline(a=0,b=1,lty=2,col="red")
在这种情况下,这两种模型结果是非常不同的。第二个模型也是
plot(prob,1-exp(-lambda),xlim=0:1,ylim=0:1)
abline(a=0,b=1,lty=2,col="red")
我们如何解释呢?是因为泊松模型不好吗?我们在这里运行零膨胀模型进行比较,
summary(regZIP)
Count model coefficients (poisson with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.002274 0.048413 -0.047 0.963
X1 1.019814 0.026186 38.945 <2e-16 ***
X2 1.004814 0.024172 41.570 <2e-16 ***
Zero-inflation model coefficients (binomial with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -4.90190 2.07846 -2.358 0.0184 *
X1 -2.00227 0.86897 -2.304 0.0212 *
X2 -0.01545 0.96121 -0.016 0.9872
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
由于零的膨胀,我们在这里拒绝了泊松分布的假设,可以使用对数连接来检查泊松分布是否是一个好的模型。
参考文献
2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析
6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化
- 5个典型实例启发:什么是数据可视化
- 智能家居“智商”不够,能靠情商来补吗
- 大话MVP
- AngularJS in Action读书笔记1——扫平一揽子专业术语
- MS Enterprise Library 5.0发布!!
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]
- 《Enterprise Library深入解析与灵活应用》博文系列汇总
- 使命必达: 深入剖析WCF的可靠会话[概念篇]
- AngularJS in Action读书笔记2——view和controller的那些事儿
- WCF技术剖析之二十一:WCF基本异常处理模式[中篇]
- 小程序上线“小游戏”,正式引爆3.0社交红利
- 漫谈人工智能机器翻译的前世今生
- 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现
- 区块链将变革的五个行业
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法