Learn R Programming

SignalY (version 1.1.1)

block_bootstrap: Create Block Bootstrap Samples

Description

Generates block bootstrap samples for time series data, preserving temporal dependence structure. Uses non-overlapping blocks of specified length with random block selection with replacement.

Usage

block_bootstrap(X, n_boot, block_length = NULL, seed = NULL)

Value

A 3-dimensional array of dimension (nrow(X), ncol(X), n_boot) containing the bootstrap samples.

Arguments

X

Matrix where rows are time points and columns are variables.

n_boot

Number of bootstrap samples to generate.

block_length

Length of each block. If NULL, defaults to ceiling(sqrt(nrow(X))).

seed

Optional random seed for reproducibility.

Synchronization

For multivariate series, blocks are sampled synchronously across all variables to preserve cross-sectional dependence. This is critical when bootstrap samples are used to construct confidence intervals for statistics that depend on the joint distribution.

Details

Block bootstrapping is essential for time series data to preserve the autocorrelation structure within blocks. The procedure:

  1. Divides the original series into blocks of length L

  2. Randomly samples blocks with replacement

  3. Concatenates sampled blocks to form each bootstrap sample

The default block length of \(\sqrt{T}\) balances capturing dependence structure against having sufficient blocks for resampling variation.

References

Kunsch, H. R. (1989). The Jackknife and the Bootstrap for General Stationary Observations. The Annals of Statistics, 17(3), 1217-1241.

Politis, D. N., & Romano, J. P. (1994). The Stationary Bootstrap. Journal of the American Statistical Association, 89(428), 1303-1313.