gregorkb / QregBB

Block bootstrap methods for quantile regression in time series

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QregBB

The R package QregBB accompanies the paper:

Gregory, K.B., Lahiri, S.N., Nordman, D.J. (2018). A smooth block bootstrap for quantile regression with time series. Annals of Statistics 46(3), 1138-1166

Find the paper at https://projecteuclid.org/euclid.aos/1525313078.

Installation

You can install the development version of QregBB from GitHub with:

# install.packages("devtools")
devtools::install_github("gregorkb/QregBB")

Examples

The main function in the package is QregBB, which performs the MBB, SMBB, ETBB, and SETBB bootstrap procedures (all at once) for estimating the sampling distributions of quantile regression estimators with time series data.

library(QregBB)

n <- 50
X1 <- arima.sim(model=list(ar=c(.7,.1)),n)
X2 <- arima.sim(model=list(ar=c(.2,.1)),n)
e <- arima.sim(model=list(ar=c(.7,.1)),n)
Y <- X1 + e
X <- cbind(rep(1,n),X1,X2)
QregBB.out <- QregBB(Y,X,tau=.5,l=4,B=500,h=NULL,alpha=0.05)

QregBB.out
#> 
#> Call:
#> QregBB(Y = Y, X = X, tau = 0.5, l = 4, B = 500, h = NULL, alpha = 0.05)
#> 
#> Coefficients:
#>             Estimate SE (MBB) SE (SMBB) SE (ETBB) SE (SETBB)
#> (Intercept) -1.19048  0.30832   0.35614   0.29801    0.34243
#> beta_1       1.37104  0.14455   0.16978   0.13906    0.16874
#> beta_2       0.00682  0.18293   0.24371   0.20035    0.24457
#> 
#> Confidence intervals:
#>             Estimate lower (MBB) upper (MBB) lower (SMBB) upper (SMBB)
#> (Intercept) -1.19048    -2.01656    -0.78747     -1.93770     -0.61313
#> beta_1       1.37104     1.00985     1.56780      1.00313      1.64540
#> beta_2       0.00682    -0.44854     0.28923     -0.47015      0.45646
#>             lower (ETBB) upper (ETBB) lower (SETBB) upper (SETBB)
#> (Intercept)     -1.97114     -0.76846      -1.83370      -0.58475
#> beta_1           1.03540      1.59665       0.96382       1.67961
#> beta_2          -0.49587      0.29042      -0.47396       0.43994

The function getNPPIblksizesQR implements the block size selection method described in Gregory et al. (2018) for MBB, SMBB, ETBB, and SETBB.

blksize.out <- getNPPIblksizesQR(Y,X,tau=.5)
blksize.out
#> $l.opt.MBB
#> [1] 23
#> 
#> $l.opt.ETBB
#> [1] 3
#> 
#> $l.opt.SMBB
#> [1] 25
#> 
#> $l.opt.SETBB
#> [1] 3

About

Block bootstrap methods for quantile regression in time series

License:GNU General Public License v3.0


Languages

Language:R 89.0%Language:C 11.0%