如何对R回归模型中的Bootstrap预测和置信水平

时间:2018-04-22 20:07:03

标签: r confidence-interval

我在R中运行比例数据的β回归模型,其具有一个定量预测变量(幅度 = 40,50,60,70)。我已经能够从模型中获得40,50,60,70比例的预测并绘制它。

我从围绕这个网站和其他人的研究中了解到,从β回归模型获得预测的置信区间与其他模型不同。我已经读过这个以获得β回归模型的置信水平,从模型中引导预测是获得置信区间/波段的一种方式(如其他帖子中所述,例如Achim Zeileis在线程:https://stats.stackexchange.com/questions/230501/variance-vs-standard-deviation-in-beta-regression?noredirect=1&lq=1 )。我的问题是如何实际进行这种提升以获得R中我的模型预测的预测和置信水平?理想情况下,我希望得到幅度比例的预测:40,50,60和70,并且有一定程度的信心。我对引导是一个新手,所以如果有人能够深入了解如何从beta回归模型中引导预测和置信区间,那将是很好的。

1 个答案:

答案 0 :(得分:0)

不确定您正在寻找什么,但boot包可能会提供解决方案。这是一个玩具示例,使用随机数据来引导回归:

    library(boot)
    library(xts)
    set.seed(789)
    dat <- xts(matrix(rnorm(1200), nrow=240, ncol=5), 
               as.Date(c(seq(as.Date("1990/1/1"), by = "month", length.out = 240))))
    colnames(dat) <-c("A", "B", "C", "D", "E")

    function.1 <-function(formula, dat, x) {
      a <-dat[x,]
      output <-lm(formula, data=a)
      return(coef(output))
    }

    results <- boot(data=dat, 
                    statistic=function.1,
                    R=1000, 
                    formula=A ~ .)

    results.ci <-boot.ci(results, type="basic", index=2)

results

ORDINARY NONPARAMETRIC BOOTSTRAP

Call:
boot(data = dat, statistic = function.1, R = 1000, formula = A ~ 
    .)


Bootstrap Statistics :
       original        bias    std. error
t1* -0.06716150  0.0029368176  0.06517814
t2* -0.04582073 -0.0050721571  0.07658141
t3*  0.14324494  0.0010631253  0.06500446
t4*  0.06771263 -0.0028811702  0.06247530
t5*  0.05620244  0.0005347628  0.06102209

results.ci
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = results, type = "basic", index = 2)

Intervals : 
Level      Basic         
95%   (-0.1960,  0.1015 )  
Calculations and Intervals on Original Scale