Home > OS >  The bootstrapping method with timeseries
The bootstrapping method with timeseries

Time:12-17

I got this error message about my code:

Error in statistic(data, original, ...) : unused argument (original)

I need to run a bootstrap method to estimate pvalue in a periodogram. My timeseries was created by ts() function containing data of 365 days.

First, I defined a function:

periodogram_fun <- function(x) {
  TSA::periodogram(x)$spec
}

Following, I tried to run the boot:

bootstrapped_periodograms <- boot(tsdata, periodogram_fun, R=1000)

and got the error message persists: Error in statistic(data, original, ...) : unused argument (original)

Please, I need to solve this questions to run my seasonality data

CodePudding user response:

This should do it:

library(TSA)
library(boot)
periodogram_fun <- function(x, ind) {
   periodogram(ts(x[ind], start=1, end=365), plot=FALSE)$spec
}
bootstrapped_periodograms <- boot(tsdata, periodogram_fun, R=1000)

The function you're bootstrapping has to have two arguments - the first being the data and the second being the bootstrapped observation numbers. This assumes that you just want a nonparametric bootstrap where you're randomly resampling the values in your time-series and creating a new time-series out of those 365 randomly re-sampled values.

  • Related