原文鏈接:http://tecdat.cn/?p=15062
考慮簡單的泊松回歸
。給定的樣本
,其中
,目標是導出用於一個95%的置信區間
給出
,其中
是預測。
因此,我們要導出預測的置信區間,而不是觀測值,即下圖的點
-
> 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)
基於該技術,置信區間不再以預測為中心。
- 增量法
實際上,使用表達式作為置信區間不會喜歡非中心區間。因此,一種替代方法是使用增量方法。我們可以使用一個程序包來計算該方法,而不是在理論上再次寫一些東西,
-
-
-
-
-
> 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回歸,並重復很多次數,
參考文獻
2.R語言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)
5.在r語言中使用GAM(廣義相加模型)進行電力負荷時間序列分析
6.使用SAS,Stata,HLM,R,SPSS和Mplus的分層線性模型HLM