广义线性模型之泊松回归

泊松回归统计模型 计数数据不能连续取值,或只能得到0,1,2,3等自然数的数据。广义线性模型(GLM)是线性模型的扩展,通过联结函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。其特点是不强行改变数据的自然度量,数据可以具有非线性和非恒定方差结构。极大似然估计不能通过解析表达式获得解析解,由其对数似然函数为凸函数的特性,可通过Newton–Raphson或其他基于梯度下降的方法进行计算。其中表示形式为计数数据的响应变量,表示由一组相互独立的解释变量变量组成的向量,表示待估参数,可根据极大似然估计法进行估计。 阅读详情

原文链接:广义线性模型之泊松回归icon-default.png?t=N7T8https://mp.weixin.qq.com/s/vrLnLBY8Tq9I6_UM10Lr1g

 写在前面

前面文章我们学习过Logistic回归,这次我们来学习广义线性模型框架下的泊松回归(Poisson regression),它的应变量为计数类型。在线性模型中,我们通常假设应变量Y呈正态分布,其条件均值是自变量的线性组合,即对于一系列自变量X,赋予X相应的权重,然后把它们加起来,便可预测Y可能分布的均值。而广义线性模型中的应变量Y'是条件均值Y的函数(称作连接函数),此时可放松对Y是正态分布的要求,只要其服从指数分布族中的一种分布(如二项分布、伽玛分布、泊松分布等)即可。

泊松分布是统计与概率学里一种常见的离散概率分布。它是指某段连续的时间内某件事情发生的次数,而且“某件事情”发生所用的时间是可以忽略的,如在五分钟内电子元件遭受脉冲的次数,就服从于泊松分布(参考文章1)。假如把连续的时间分成无数个小片段,每个小片段都是独立的,那么在每个小片段中,电子元件可能“遭受到脉冲”或是“没有遭受到脉冲”,这不就是二项分布了嘛,只是n很大(无数个)p很小(遭受到脉冲的可能性比较小),所以泊松分布可以认为是二项分布的一种极限形式。

参考文献2中给出了具体的、直观的例子——早餐店老板如何根据历史数据准备恰当数量的包子。经过数学推导,可以得到泊松分布的概率密度函数,也即在T时间内卖出k个馒头的概率,并且根据以往数据的均值来近似公式中的期望值μ,便可以画出它的概率密度分布图。接下来早餐店老板就可以在此基础上进行计算,准备不同数量的包子相应地会满足多大概率的需求,如下图所示要是每天准备8个包子(根据题中简化的假设),那么93%的时候包子是够卖的,这种比例老板觉得很是可以接受。

实例演示

这次我们用到robust包中的Breslow癫痫发病数据,通过分析来了解抗癫痫药物对癫痫发病次数的影响。实验中癫痫病人被随机分到药物组或安慰组,经过前八周的治疗,继续观察后八周的发病情况,数据集包含轻微或严重间歇性病人的年龄和前后八周内的癫痫发作次数。因变量为sumY(后八周发病次数),自变量为治疗条件(Trt)、年龄(Age)和前八周发病次数(Base)。
首先我们来了解下数据的基本情况,代码和结果如下。

data(breslow.dat,package="robust")
# 列出所有的变量
names(breslow.dat)
# 选取我们关心的四个变量查看
summary(breslow.dat[c(6,7,8,10)])

从结果图中我们看到安慰组(placebo)有28人,药物治疗组有31人,而且明显看出Base和sumY两个变量的最大值存在异常情况。下面我们画直方图和箱线图进行更直观地了解。

# par()生成一个当前图形参数设置的列表
# no.readonly=TRUE指明参数列表可修改
opar<-par(no.readonly=TRUE)
# 按行填充、行数为1、列数为2的图形矩阵
par(mfrow=c(1,2))
attach(breslow.dat)
# 绘制直方图
# breaks指定数量,sumY最大值为302,分成15格的话每个区间大小大约20
hist(sumY,breaks=15,xlab="发病次数",main="发病次数分布图")
boxplot(sumY~Trt,xlab="治疗条件",main="安慰组和药物治疗组比较图")

从上图中我们看出发病次数0~20次最多,59个被试中有30多个。从右图中我们初步判断药物治疗组的发病情况要好于安慰组,平均值略小,方差也更小。接下来我们进行泊松回归的拟合。

fit<-glm(sumY~Base+Age+Trt,data=breslow.dat,family=poisson())
summary(fit)

上图中首先展示了偏差残差(Deviance Residuals),此处使用了基于偏差的模型比较方法。偏差与残差平方和具有相似的作用,都是用来衡量回归模型拟合质量的好坏。依据算出的偏差可以得到相应的统计量,当拟合效果欠佳时,检验统计量会比较大(卡方分布)。红框部分是通过拟合获得的模型参数,拿Age来说,保持其它参数不变,年龄增加一岁,癫痫发病数的对数均值大约增加0.03。为了在最初意义上(而不是取对数后的结果)对模型参数进行解释,我们需要进行指数化操作,如下所示。

我们再来看一下,此时保持其它参数不变,当年龄增长一岁时,对应的癫痫发病次数将会是原先的1.023倍,意味着更大的年龄与更多的发病次数相联系。然而对于药物治疗变量来说,每增加一个单位,癫痫发病次数会是原先的0.86,也就是说与安慰组相比,药物治疗组的发病率降低了14%。

参考文章:

  1. 泊松回归
    https://blog.youkuaiyun.com/qq_38412868/article/details/105918117
  2. 如何通俗理解泊松分布?
    https://blog.youkuaiyun.com/ccnt_2012/article/details/81114920
  3. 属性数据分析 | 第三章-04-统计推断与模型检验
    https://zhuanlan.zhihu.com/p/269015018
  4. 泊松回归模型和对数线性模型的区别是什么?
    https://www.zhihu.com/question/53242918?sort=created 
python实现泊松回归 基于计数的数据包含以特定速率发生的事件。发生率可能会随着时间的推移或从一次观察到下一次观察而发生变化。每小时穿过十字路口的车辆数量每月去看医生的人数每月发现的类地行星数量整数数据:数据由非负整数组成:[0… ∞]。普通最小二乘回归等回归技术可能不适合对此类数据进行建模,因为 OLSR 最适合实数,例如 -656.0、-0.00000345、13786.1 ETC。偏斜分布:数据可能包含少量值的大量数据点,从而使频率分布相当偏斜。请、参见上面的直方图示例。稀疏性。 阅读详情

相关推荐

广义线性模型_广义线性模型拟合泊松回归

转自个人微信公众号【Memo_Cleon】的统计学习笔记:广义线性模型拟合泊松回归。如果习惯了在对话框中确定结局变量和解释变量,可能会对一般对数线性分析中的泊松回归的对话框有些不适应,因为它不存在因变量的选择问题,在模型中因变量就是单元格的频数/计数,这就需要专用的数据录入格式。如果你对此感到不适应,可以直接使用广义线性模型来拟合泊松回归,泊松回归只是广义线性模型的一种特殊形式而已。示例依旧采用泊...

weixin_40007804的博客 788

广义线性模型(Generalized Linear Model)之三:Poisson回归

泊松回归假设响应变量Y具有泊松分布,并假设其期望值的对数可以通过未知参数的线性组合来建模。泊松回归模型有时被称为对数线性模型,尤其是在用于对列联表建模时。

姚巨龙的博客 2万+

R语言广义线性模型函数GLM、R中有几种泊松回归扩展和变异、变时段泊松回归、零膨胀泊松回归、鲁棒泊松回归、pscl包的zeroinfl拟合零膨胀泊松回归、robust包中的glmRob函数拟合鲁棒模型

R语言广义线性模型函数GLM、glm函数构建泊松回归模型、R中有几种泊松回归扩展和变异、变时段泊松回归、零膨胀泊松回归、鲁棒泊松回归、pscl包的zeroinfl拟合零膨胀泊松回归、robust包中的glmRob函数拟合鲁棒广义线性模型

data+scenario+science+insight 1133

应用回归分析:泊松回归

泊松回归是一种广泛用于计数数据的回归分析方法。它适用于响应变量是非负整数的情况,特别是当这些计数呈现出明显的离散分布时。泊松回归通过泊松分布的概率分布函数来建模计数数据,使其成为处理计数数据的自然选择。本文将介绍泊松回归的基本概念、应用场景、优缺点以及如何实施。

Allen1862105的博客 5364

R语言广义线性模型泊松回归(Poisson Regression)模型

R语言广义线性模型泊松回归(Poisson Regression)模型 试想一下,你现在就站在一个人流密集的马路旁,打算收集闯红灯的人群情况(?)。首先,利用秒表和计数器,一分钟过去了,有5个人闯红灯;第二分钟有4个人;而下一分钟有4个人。持续记录下去,你就可以得到一个模型,这便是“泊松分布”的原型。 对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。

data+scenario+science+insight 3516

R语言广义线性模型函数GLM、glm函数构建泊松回归模型(Poisson regression)、泊松回归模型系数解读、查看系数的乘法效应(Interpreting the model para)

R语言广义线性模型函数GLM、glm函数构建泊松回归模型(Poisson regression)、泊松回归模型系数解读、查看系数的乘法效应(Interpreting the model parameters)

data+scenario+science+insight 1812

stats | 广义线性模型(二)——泊松回归

本篇介绍一种常见的广义线性模型:泊松回归。泊松分布是离散型分布,它的概率分布函数如下:写成指数族分布的形式如下:对照指数族分布的通式:可得,广义线性模型假设与解释变量存在线性关系,即又因为...

R语言学堂 5211

Python使用sklearn构建广义线性模型:泊松回归(Poisson regression)实战

Python使用sklearn构建广义线性模型:泊松回归(Poisson regression)实战 目录 Python使用sklearn构建广义线性模型:泊松回归(Poisson regression)实战 #泊松回归 #泊松回归代码实例 #泊松回归 需要泊松回归的原因 对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。如果我.

data+scenario+science+insight 3215

泊松回归为何在R中总是过离散?一文解决广义线性模型核心痛点

解决R语言泊松回归过离散难题,深入剖析广义线性模型核心原理。涵盖计数数据建模、离散诊断与负二项回归替代方案,提升模型拟合精度。实用方法+代码示例,值得收藏

CodeIsle的博客 875

R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析

#广义线性模型(Generalized linear models) 利用回归和方差分析,我们探索了线性模型,这些模型可以用来从一组连续和/或分类的预测变量中预测正态分布的反应变量(注意对response变量的要求)。 但是在很多情况下,假设因变量是正态分布的(甚至是连续的)是不合理的。例如: 结果变量可能是分类变量。二元变量(例如,是/否,通过/失败,活着/死了)和多元变量(例如,差/好/优,海洋/大陆/湖泊)显然不是正态分布的。 结果变量可能是一个计数(例如,一周的交通事故次数,每天的饮...

data+scenario+science+insight 2872

R语言广义线性模型函数GLM、glm函数构建泊松回归模型、模型中存在过离散(Overdispersion)、则将连接函数从possion函数替换为quasipoisson函数重新构建泊松回归模型

R语言广义线性模型函数GLM、glm函数构建泊松回归模型(Poisson regression)、模型中存在过离散(Overdispersion)、则将连接函数从possion函数替换为quasipoisson函数重新构建泊松回归模型

data+scenario+science+insight 921

初中线性回归模型的概念_广义线性模型拟合泊松回归

如果习惯了在对话框中确定结局变量和解释变量,可能会对一般对数线性分析中的泊松回归的对话框有些不适应,因为它不存在因变量的选择问题,在模型中因变量就是单元格的频数/计数,这就需要专用的数据录入格式。如果你对此感到不适应,可以直接使用广义线性模型来拟合泊松回归,泊松回归只是广义线性模型的一种特殊形式而已。示例依旧采用泊松回归[一般对数线性分析过程]一文中的例子,文中已表明最合适的模型就是饱和...

weixin_29521135的博客 441

R语言泊松回归模型:广义线性模型的应用

广义线性模型(Generalized Linear Model,简称GLM)是一种灵活的回归分析方法,它可以适用于各种不同类型的响应变量,包括二项分布、泊松分布和高斯分布等。泊松回归模型是GLM的一种特殊情况,适用于计数型数据,例如表示某事件发生次数的数据。系数的正负表示自变量对事件发生次数的增加或减少的影响方向,而系数的大小表示影响的程度。函数,我们可以方便地拟合泊松回归模型,并获得模型的系数估计和其他有用的统计信息。泊松回归模型在实际应用中具有广泛的应用场景,可以帮助我们理解和预测计数型数据的变化。

DevCyberX的博客 487

R语言广义线性模型应用精讲(泊松回归全解析)

掌握R语言广义线性模型中的泊松回归,精准分析计数数据。适用于生物、经济、交通等领域的事件频次建模,基于glm函数实现模型构建与诊断,支持过离散处理与模型优化。方法系统实用,值得收藏。

DebugLoom的博客 730

pgpool-II安装部署

文章介绍了pgpool-II的核心功能、架构组成以及实际部署的关键配置步骤

weixin_41690116的博客 1422

使用DCA1000和EVM板进行数据采集

目录 1. 准备工作 1.1 硬件 1.2 软件 2. 驱动安装 3. 设置静态IP地址 4. 采集数据 5. 采集的数据文件的格式 6. 数据采集存储的数据流 参考资料 1. 准备工作 1.1 硬件 EVM板,电源线(5V,>2.5A),USB线 DCA1000,电源线(5V,>2A),USB线,网线,60pin Samtec cable 1.2 软件 mmWave Studio Matlab Runtime Engine v8.5.1 将DCA1000和EVM板

qq_42235129的博客 1万+

【R语言泊松回归实战指南】:掌握广义线性模型的核心技巧与应用场景

掌握R语言广义线性模型中的泊松回归方法,解决计数数据建模难题。适用于生物、金融、交通等领域的事件频次预测,详解glm()函数应用、过离散处理与模型诊断技巧。实战导向,助你高效构建可靠模型,值得收藏。

FuncLens的博客 864

ROS2机械臂MPC轨迹规划实战:从MoveIt 2插件配置到参数调优全流程

本文详细介绍了ROS2机械臂MPC轨迹规划的全流程,从MoveIt 2插件配置到参数调优。通过模型预测控制(MPC)技术,实现高精度运动控制,特别适合复杂装配任务。文章包含环境搭建、插件部署、参数设计及实战调优方法,帮助开发者快速掌握ROS2机械臂的MPC轨迹规划技术。

i0j1k2l3m的博客 206

广义线性模型实战:Logistic与泊松回归原理及Python应用

在数据分析与机器学习中,当预测目标不再是连续数值,而是分类结果或计数数据时,传统的线性回归模型便不再适用。广义线性模型(GLM)通过引入连接函数,将线性模型的输出映射到符合目标变量分布的尺度上,从而扩展了线性回归的应用范围。其核心价值在于提供了一个统一的框架来处理多种数据类型,如二项分布、泊松分布等,极大地提升了模型的可解释性和适用性。在工程实践中,GLM广泛应用于金融风控、市场营销、流行病学等领域,用于预测如贷款违约、用户点击率、疾病发病率等实际问题。本文将以Logistic回归和泊松回归为例,结合Pyt

weixin_29483277的博客 269

内网穿透-frp二层隧道搭建

环境: weblogic: 192.168.0.133 10.10.20.12 win7 : 10.10.20.7 10.10.10.7go语言、跨平台的 可以分为frpc和frps frpc—>请求----->frps frps:放到黑客公网上 1.需要出网 2.配置: frpc:放到肉鸡上,请求frps 2.端口转发 2.1frpc传到肉鸡(weblogic) 利用工具,传入内存马到weblogic,然后使用冰蝎进行连接 然后在文件管理中上传frpc.exe和frpc.ini文件 fr

yyytaotao的博客 2100

GNSS数据处理(一)——开源软件RTKLIB与G-Nut/Anubis实战入门

本文详细介绍了GNSS数据处理的开源软件RTKLIB与G-Nut/Anubis的实战入门指南。从软件安装、数据获取到静态短基线解算,逐步讲解操作技巧与常见问题排查,帮助测绘与地质监测人员快速掌握GNSS数据处理技术,提升工作效率。

weixin_30733003的博客 133

揭秘R语言中的泊松回归:如何用广义线性模型解决计数数据难题

掌握R语言中的泊松回归,轻松解决计数数据建模难题。本文详解如何在广义线性模型框架下,利用泊松回归分析事件发生次数,适用于生物、金融、交通等领域的频数预测。结合真实案例与代码演示,帮助读者快速上手并应用模型,提升数据分析精度。值得收藏

DeepLens的博客 907

LearningToRank(LTR)排序算法LGBMRanker的原理和使用

1. 写在前面 在最近新闻推荐的比赛中, 接触到了一个排序模型LGBMRanker, 该模型与普通的分类模型LGBMClassifier不太一样, 普通的分类模型在进行推荐的时候, 往往是先预测某个商品或者文章用户会不会点击, 也就是它的目标是预测用户点击某篇文章或者某个商品的概率, 然后根据这个概率值进行排序, 排完之后,把最靠前的几个返回回来给用户进行推荐。 而LGBRanker模型, 它不关心用户点击某篇文章的概率, 而是根据用户点击或者不点击的这个行为, 直接去预测最后商品或者文章的一个相对顺序,

Miracle8070 1万+
上一篇: 非参检验之置换检验
下一篇: 降维之探索性因子分析
miniprogram
博客等级 码龄6年 20粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值