pcl 使用gpu计算法向量_R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间...

本文探讨了如何为泊松回归模型的预测构建95%的置信区间。通过最大似然估计、Fisher信息及两种不同的方法—直接计算与增量法—详细介绍了置信区间的计算过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:

拓端数据科技 / Welcome to tecdat​tecdat.cn
0dbde26b299613c9e611a2db59bdfc9f.png

bd39ed5a10c744c55ecb0c6adc82d115.png

考虑简单的泊松回归

5f676f2521641c1b6bb0b0ca3274e352.png

。给定的样本

53701806ebf8617ff5c022778d893803.png

,其中

5ac422a43c4af992d1818ce7d5f1d911.png

5ac422a43c4af992d1818ce7d5f1d911.png

,目标是导出用于一个95%的置信区间

7a4841801924e0f4c8884f4e5341f7a7.png

给出

9d299bb6d53225099bac2791da64b300.png

,其中

7a4841801924e0f4c8884f4e5341f7a7.png

是预测。

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


  1. > r=glm(dist~speed,data=cars,family=poisson)

  2. > P=predict(r,type="response",

  3. + newdata=data.frame(speed=seq(-1,35,by=.2)))

  4. > plot(cars,xlim=c(0,31),ylim=c(0,170))

  5. > abline(v=30,lty=2)

  6. > lines(seq(-1,35,by=.2),P,lwd=2,col="red")

  7. > P0=predict(r,type="response",se.fit=TRUE,

  8. + newdata=data.frame(speed=30))

  9. > points(30,P1$fit,pch=4,lwd=3)

5fce594789eca32ad28ac0f17449b336.png

最大似然估计

669c879460f68b10555e3ccd3088be87.png

273c3665ea6c56270b97e7a9dfcfeef1.png


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

fcde4d202169c6df347e844648b4cb72.png


这些值的计算基于以下计算

75da9a87af507718cb380af827798387.png


在对数泊松回归的情况下,

88f095822997fce64577139e0607a6a7.png


让我们回到最初的问题。

  • 线性组合的置信区间

获得置信区间的第一个想法是获得置信区间

8da7d0d6a16fb068ada27364b399ed5a.png

(通过取边界的指数值)。渐近地,我们知道

ac1ec0ce831669290db3915fec4dc5d1.png

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

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


  1. > summary(reg)$cov.unscaled

  2. (Intercept) speed

  3. (Intercept) 0.0066870446 -3.474479e-04

  4. speed -0.0003474479 1.940302e-05

  5. > V

  6. [,1] [,2]

  7. [1,] 0.0066871228 -3.474515e-04

  8. [2,] -0.0003474515 1.940318e-05

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

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


  1. > segments(30,exp(P2$fit-1.96*P2$se.fit),

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

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

a03c2c625ff481626b5b890397e3e4d0.png
  • 增量法

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


  1. > P1

  2. $fit

  3. 1

  4. 155.4048

  5. $se.fit

  6. 1

  7. 8.931232

  8. $residual.scale

  9. [1] 1


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

15a871d6542e7b2548041be2071a8149.png


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


  1. > exp(P2$fit-1.96*P2$se.fit)

  2. 1

  3. 138.8495

  4. > P1$fit-1.96*P1$se.fit

  5. 1

  6. 137.8996

  7. > exp(P2$fit+1.96*P2$se.fit)

  8. 1

  9. 173.9341

  10. > P1$fit+1.96*P1$se.fit

  11. 1

  12. 172.9101
  • bootstrap技术

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

8f8b3c317fd7065f875a1e35b5b6ddaf.png

参考文献

1.用SPSS估计HLM层次线性模型模型

2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

3.基于R语言的lmer混合线性回归模型

4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

8.R语言用线性回归模型预测空气质量臭氧数据

9.R语言分层线性模型案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值