R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间|附代码数据

发布时间 2023-10-23 23:23:38作者: 拓端tecdat

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

最近我们被客户要求撰写关于广义线性模型(GLM)预测置信区间的研究报告,包括一些图形和统计输出。

考虑简单的泊松回归

我们要导出预测的置信区间,而不是观测值,即下图的点

 
 
> r=glm(dist~speed,data=cars,family=poisson)
> P=predict(r,type="response",
+ newdata=data.frame(speed=seq(-1,35,by=.2)))
> plot(cars,xlim=c(0,31),ylim=c(0,170))
> abline(v=30,lty=2)
> lines(seq(-1,35,by=.2),P,lwd=2,col="red")
> P0=predict(r,type="response",se.fit=TRUE,
+ newdata=data.frame(speed=30))
> points(30,P1$fit,pch=4,lwd=3)

 

图片

 

最大似然估计图片

图片

,Fisher信息来自标准最大似然理论。

图片

这些值的计算基于以下计算
图片
在对数泊松回归的情况下,

图片

让我们回到最初的问题。

  • 线性组合的置信区间

获得置信区间的第一个想法是获得置信区间图片转存失败,建议直接上传图片文件(通过取边界的指数值)。渐近地,我们知道

图片

因此,方差矩阵的近似将基于通过插入参数的估计量而获得。
然后,由于作为渐近多元分布,参数的任何线性组合也将是正态的,即具有正态分布。所有这些数量都可以轻松计算。首先,我们可以得到估计量的方差

因此,如果我们与回归的输出进行比较,

 
 
> summary(reg)$cov.unscaled
(Intercept)         speed
(Intercept)  0.0066870446 -3.474479e-04
speed       -0.0003474479  1.940302e-05
> V
[,1]          [,2]
[1,]  0.0066871228 -3.474515e-04
[2,] -0.0003474515  1.940318e-05

根据这些值,很容易得出线性组合的标准偏差,

一旦我们有了标准偏差和正态性,就得出了置信区间,然后,取边界的指数,就得到了置信区间

 
 
> segments(30,exp(P2$fit-1.96*P2$se.fit),
+ 30,exp(P2$fit+1.96*P2$se.fit),col="blue",lwd=3)

 

基于该技术,置信区间不再以预测为中心。

图片

 


点击标题查阅往期内容

图片

R语言广义线性模型GLM、多项式回归和广义可加模型GAM预测泰坦尼克号幸存者

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

  • 增量法

实际上,使用表达式作为置信区间不会喜欢非中心区间。因此,一种替代方法是使用增量方法。我们可以使用一个程序包来计算该方法,而不是在理论上再次写一些东西,

 
 




> P1
$fit
1
155.4048

$se.fit
1
8.931232

$residual.scale
[1] 1

 

增量法使我们具有(渐近)正态性,因此一旦有了标准偏差,便可以得到置信区间。

图片

 

通过两种不同的方法获得的数量在这里非常接近

 
 
> exp(P2$fit-1.96*P2$se.fit)
1
138.8495
> P1$fit-1.96*P1$se.fit
1
137.8996
> exp(P2$fit+1.96*P2$se.fit)
1
173.9341
> P1$fit+1.96*P1$se.fit
1
172.9101
  • bootstrap技术

第三种方法是使用bootstrap技术基于渐近正态性(仅50个观测值)得出这些结果。我们的想法是从数据集中取样,并对这些新样本进行log-Poisson回归,并重复很多次数,

 

图片

 



图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间》。

点击标题查阅往期内容

R语言广义线性模型GLM、多项式回归和广义可加模型GAM预测泰坦尼克号幸存者
R语言广义线性模型(GLM)、全子集回归模型选择、检验分析全国风向气候数据
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言因子实验设计nlme拟合非线性混合模型分析有机农业施氮水平
R语言非线性混合效应 NLME模型(固定效应&随机效应)对抗哮喘药物茶碱动力学研究
R语言用线性混合效应(多水平/层次/嵌套)模型分析声调高低与礼貌态度的关系
R语言LME4混合效应模型研究教师的受欢迎程度R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
R语言混合线性模型、多层次模型、回归模型分析学生平均成绩GPA和可视化
R语言线性混合效应模型(固定效应&随机效应)和交互可视化3案例
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据R语言 线性混合效应模型实战案例
R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言建立和可视化混合效应模型mixed effect model
R语言LME4混合效应模型研究教师的受欢迎程度
R语言 线性混合效应模型实战案例
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言如何解决线性混合模型中畸形拟合(Singular fit)的问题
基于R语言的lmer混合线性回归模型
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言分层线性模型案例
R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型
使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
用SPSS估计HLM多层(层次)线性模型模型