本文分为两个部分: (1)广义线性模型的分类及其运用场景; (2) 相关R代码。需要说明的是,参考资料是上课课件,根据本人理解整理,如果有不对的地方,欢迎探讨!

目录

引言

1. 广义线性模型

(1)二分变量

(2)类型变量

(3)计数型变量

①泊松对数线性模型

②零膨胀计数模型

2. 相关R代码


引言

在经典线性模型中,y是连续的,同时服从正态分布。但是很多情况下y是离散的,比如y表示是否贷款(0/1变量),或者优/良/差(类型变量),或者医院病人数(计数型变量)。所以引入了广义线性模型来进行回归拟合。

1. 广义线性模型

图1

(1)二分变量

当y为0/1二分变量的时候,可以用logistic模型进行回归拟合,模型设定如下:

设  服从参数为  的二项分布,则  ,采用逻辑连接函数,即:

也可以用probit模型进行回归拟合,模型设定如下:

设  服从参数为  的二项分布,则  ,采用逻辑连接函数,即:

在得到回归结果 之后,两个模型的区别在于

logistic模型中

probit模型中

(2)类型变量

当y有多个类型,比如优/良/差的时候,可以用多项logit模型,模型设定如下:

假如对于第i个观测值,因变量  有M个取值,自变量为  ,则多项logit回归模型为

同时,

最终得到的结论是第 i 个样本为  的概率

(3)计数型变量

①泊松对数线性模型

当y服从泊松分布的时候,可以用此模型,模型设定如下:

设y服从参数为λ的泊松分布,则

采用对数连接函数,即

最终得到

为了更加方便解释y,上式可以变形为:

表示的意思是,每当  上升一个单位,就有  ,则说明y变动了

②零膨胀计数模型

当y含有非常多0,分布右偏的时候,用泊松对数线性模型可能产生偏差,可以用零膨胀计数模型,模型设定如下:

设y服从参数为λ的泊松分布,则有 ,但是可能比较大,这种分布的数据叫做 “零膨胀数据”,需要用零膨胀计数模型进行拟合,模型可以分为两个部分:

(i) 零点处:用 logistic模型或者probit模型进行拟合

假设零点的点密度为,那么此处logistic模型的设定为

或者此处的probit模型的设定为

(ii) 非零点处:用泊松分布模型进行拟合

则非零处的  ,此处的泊松对数线性模型设定为 

综上,零膨胀密度为:

其中, 为零点的点密度, 为(i)中的模型设定, 为(ii)中的模型设定;

进一步地,整个模型的均值为:

2. 相关R代码

# 数据介绍:被解释变量为y,解释变量为x1,x2,x3,
# 其中x1是连续数值变量;x2是0/1变量,x3是分类变量(即取值为1,2,3)#1 读入数据
setwd("C:/...")
dat <- read.csv("file.csv", header = T)#2 数据检查 ##1) 检查一下响应变量分布情况
barplot(table(dat$y))##2) 解释变量是分类变量的时候,需要进行因子化
dat_x3 <- as.factor(dat$x3)#3 选择模型回归并查看结果##1) logistic模型
glm_logit <- glm(y~x1+x2+x3, family=binomial(link=logit), data=dat)
summary(glm_logit) #输出结果
y1<-predict(glm_logit, data.frame(x1=20,x2=1,x3=1))
p1<-exp(y1)/(1+exp(y1)) #估计x1=20,x2=1,x3=1时y=1的概率##2) probit模型
glm_probit<- glm(y~x1+x2+x3, family=binomial(link=probit), data=dat)
summary(glm_probit) #输出结果
#估计满足条件时y=1的概率y2 <- predict(glm_probit, data.frame(x1=20,x2=1,x3=1),type="response") ##3) 多项probit模型
mlog<-multinom(y~x1+x2+x3,data=dat) #建立模型
summary(mlog)
predict(mlog,data.frame(x1=20,x2=1,x3=1),type="p") #估计y=1,2,...,M的概率##4) 泊松对数线性模型
glm_ln<-glm(y~x1+x2+x3,family=poisson(link=log),data=dat)
summary(glm_ln)
exp(coef(glm_ln)) # 计算因变量为y而不是lny时变量的系数##5) 零膨胀计数模型
#[|]前是非零设定模型,后面是零值时设定的模型
glm_zero <- zeroinfl(y~x1+x2+x3|y~x1+x2+x3,data=dat)
summary(glm_zero )#备注:优化模型
#如果出现某个变量不太显著的问题,可以用逐步回归优化,假设之前回归结果为 fx1
fx1_step <- step(fx1)

如果你看到这里了,可以给个赞吗,辛苦码字2小时耶!

R|广义线性模型知识点归纳相关推荐

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

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

  2. R语言构建xgboost模型:使用xgboost构建广义线性模型(GLM):使用gblinear算法拟合线性模型并配置L1和L2正则化

    R语言构建xgboost模型:使用xgboost构建广义线性模型(GLM):使用gblinear算法拟合线性模型并配置L1和L2正则化 目录

  3. R语言广义线性模型Logistic回归案例代码

    R语言广义线性模型Logistic回归案例代码 在实际应用中,Logistic模型主要有三大用途: 1)寻找危险因素,找到某些影响因变量的"坏因素",一般可以通过优势比发现危险因素 ...

  4. R语言广义线性模型Logistic回归模型列线图分析(nomogram)

    R语言广义线性模型Logistic回归模型列线图分析(nomogram) 我们来看图说话: gist是一种胃肠道间质瘤,作者构建了无复发生存率的logistic回归模型. 并构建了如下的列线图或者no ...

  5. R语言广义线性模型Logistic回归模型C Statistics计算

    R语言广义线性模型Logistic回归模型C Statistics计算 区分能力指的是回归模型区分有病/无病.有效/无效.死亡/存活等结局的预测能力.比如,现有100个人,50个确定患病,50个确定不 ...

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

    R语言广义线性模型泊松回归(Poisson Regression)模型 试想一下,你现在就站在一个人流密集的马路旁,打算收集闯红灯的人群情况(?).首先,利用秒表和计数器,一分钟过去了,有5个人闯红灯 ...

  7. R语言广义线性模型Logistic回归模型亚组分析及森林图绘制

    R语言广义线性模型Logistic回归模型亚组分析及森林图绘制 #Logistic回归案例 6 亚组分析森林图 library(forestplot) rs_forest <- read.csv ...

  8. R语言对数线性模型loglm函数_用R语言进行数据分析:常规和广义线性模型

    用R语言进行数据分析:常规和广义线性模型 线性模型 对于常规的多重模型(multiple model)拟合,最基本的函数是lm(). 下面是调用它的方式的一种改进版: >fitted.model ...

  9. logit模型应用实例_广义线性模型应用举例之beta回归及R计算

    广义线性模型应用举例之beta回归及R计算 在前文"广义线性模型 "中,提到广义线性模型(GLM)可概括为服务于一组来自指数分布族的响应变量的模型框架,正态分布.指数分布.伽马分布 ...

  10. R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口

    最近我们被客户要求撰写关于信用风险敞口的研究报告,包括一些图形和统计输出. 在之前的课堂上,我们已经看到了如何可视化多元回归模型(带有两个连续的解释变量).在此,目标是使用一些协变量(例如,驾驶员的年 ...

最新文章

  1. 【Java学习笔记之五】java数组详解
  2. yum源无法安装mysql_Centos7上使用官方YUM源安装Mysql
  3. 批处理命令 / 延迟环境变量扩展
  4. 服务器主板用360优化后崩溃,为什么卸载了360以后,电脑反而更流畅了?电脑高手这样解释...
  5. 操作系统 第一章【操作系统引论】【MOOC答案】
  6. EF Core 实现读写分离的最佳方案
  7. 服务员就结账了的p8u8
  8. MySQL学习笔记_5_SQL语言的设计与编写(上)
  9. sql取字段前4位_SQL学习之旅(7)
  10. 中国地质大学网络计算机考试试题,2017年中国地质大学(武汉)计算机学院830计算机软件综合之计算机网络考研题库...
  11. restframe_work1
  12. Ubuntu下PostgreSQL数据库集群(PL/Proxy)配置方法
  13. html设置长宽高代码_(HTML)图像的宽高和边框设置!
  14. Mybatis配置注意事项
  15. js+css制作导航栏下划线跟随动画,App+H5点击效果
  16. ​网易游戏实时 HTAP 计费风控平台建设
  17. 手把手教你搭APM之Skywalking搭建指南(支持Java/C#/Node.js)
  18. 一个身居中国的法国程序员谈Python与PHP
  19. windows 2003 R2+IIS ssl证书认证
  20. 数字电视电子节目指南(EPG)的实现原理分析

热门文章

  1. 多曝光HDR成像 跑出来的图片颜色变绿
  2. windows server2008r2 管理员身份
  3. IDEA生成SerialVersionUID
  4. vs2015编译vtk
  5. 0基础参加数学建模,最大程度冲击奖项
  6. 在SQL 2014 Server上安装Northwind和Pubs示例数据库
  7. 算法基础 计算机数学课件,第4章计算机制图数学基础_中国地质大学:数字测图_ppt_大学课件预览_高等教育资讯网...
  8. 北京思科CCNP和思科 CCIE考试常见问题GRE虚拟专用网络详解
  9. ros(28):ros基础知识学习:roscore、ros master、ros::init()、roslaunch
  10. The RSpec Book笔记《四》Describing Code with RSpec用RSpec描述代码