Skip to contents

Resamples contiguous, disjoint blocks so that dependence WITHIN a block survives the resampling.

Usage

morie_boot_nonoverlap_block(
  x,
  block_len = NULL,
  stat = NULL,
  B = 500,
  seed = 0
)

Arguments

x

series.

block_len

block length; defaults to n^(1/3).

stat

function of a numeric vector; defaults to the mean.

B

replicates.

seed

integer seed. R's generator is not numpy's, so replicate values differ across languages; the estimate and the block geometry do not.

Value

list with estimate, se, ci, replicates, block_len, n_blocks.

Details

The iid bootstrap destroys serial dependence entirely and therefore understates the standard error of anything computed on a dependent series – often by a large factor. Block length is the whole design choice: too short and the dependence is broken anyway, too long and there are too few blocks to resample. Non-overlapping blocks give only n / block_len resampling units; the moving-block variant is more efficient but its blocks are correlated.

References

Carlstein, E. (1986). The use of subseries values for estimating the variance of a general statistic from a stationary sequence. Annals of Statistics, 14(3), 1171-1179.

Examples

set.seed(1)
morie_boot_nonoverlap_block(arima.sim(list(ar = 0.7), 300))$n_blocks
#> [1] 50