天天看點

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

原文連結:http://tecdat.cn/?p=15062

原文出處:拓端資料部落公衆号

考慮簡單的泊松回歸
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
。給定的樣本
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
,其中
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
,目标是導出用于一個95%的置信區間
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
給出
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
,其中
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(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)
           

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

最大似然估計

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

,Fisher資訊來自标準最大似然理論。

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

這些值的計算基于以下計算

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

在對數泊松回歸的情況下,

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

讓我們回到最初的問題。

  • 線性組合的置信區間

獲得置信區間的第一個想法是獲得置信區間

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

(通過取邊界的指數值)。漸近地,我們知道

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

是以,方差矩陣的近似将基于通過插入參數的估計量而獲得。

然後,由于作為漸近多元分布,參數的任何線性組合也将是正态的,即具有正态分布。所有這些數量都可以輕松計算。首先,我們可以得到估計量的方差

是以,如果我們與回歸的輸出進行比較,

> 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)
           

基于該技術,置信區間不再以預測為中心。

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
  • 增量法

實際上,使用表達式作為置信區間不會喜歡非中心區間。是以,一種替代方法是使用增量方法。我們可以使用一個程式包來計算該方法,而不是在理論上再次寫一些東西,

> P1
$fit
1
155.4048

$se.fit
1
8.931232

$residual.scale
[1] 1
           

增量法使我們具有(漸近)正态性,是以一旦有了标準偏差,便可以得到置信區間。

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

通過兩種不同的方法獲得的數量在這裡非常接近

> 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回歸,并重複很多次數,

拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間
拓端tecdat|R語言使用bootstrap和增量法計算廣義線性模型(GLM)預測置信區間

參考文獻

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語言分層線性模型案例

繼續閱讀