tft_boot {boodd} | R Documentation |
TFT Bootstrap.
Description
This function implements the Time Frequency Toggle (TFT)-Bootstrap introduced in Kirch and Politis (2011).
Usage
tft_boot(
X,
n = length(X),
func,
h = length(X)^{
-2/3
},
kernel = 1,
B,
option = "local"
)
Arguments
X |
A numeric vector representing a time series. |
n |
An integer; by default is the length of time series |
func |
A function to be applied to each column of the TFT bootstrap samples. |
h |
A numeric value specifying the bandwidth used to compute the kernel estimator
in case of local bootstrap.
By default it is equal to |
kernel |
An integer value indicating the kernel type. Use |
B |
An integer indicating the number of bootstrap replications. |
option |
A character string specifying the bootstrap method:
|
Details
The function performs the Time Frequency Toggle (TFT)-Bootstrap.
Its basic idea is to bootstrap the Fourier coefficients of the observed
time series, and then back-transforming them to obtain a bootstrap sample in the
time domain (see Kirch and Politis (2011)).
Then it computes
the specified function, func
, on each bootstrap replicate.
Depending on the option
, different bootstrap
methods are used to construct bootstrap samples:
-
"local"
- local bootstrap. -
"wild"
- wild bootstrap. -
"res"
- residual bootstrap.
Value
An object of class "boodd"
.
Author(s)
We are grateful to Claudia Kirch for providing the original code in R
.
References
Bertail, P. and Dudek, A. (2025). Bootstrap for Dependent Data, with an R package (by Bernard Desgraupes and Karolina Marek) - submitted.
Kirch, C. and Politis, D. N. (2011). TFT-Bootstrap: Resampling time series in the frequency domain to obtain replicates in the time domain. Annals of Statistics, vol. 39, pp. 1427-1470
See Also
boot_local
, boot_res
,
boot_wild
.
Examples
n=2000
phi0=0.5
p0=length(phi0)
theta0=0
q0=length(theta0)
sim <- arima.sim(n , model=list(ar = phi0, ma = theta0))
# The function to be bootstrapped using tft_boot (both variance and acf of order 1)
vc<-function(X){return(c(var(X),acf(X,plot=FALSE)$acf[2]))}
coeff=vc(sim)
bb1=tft_boot(sim,n=n,func=vc,B=999,option="local")
bb2=tft_boot(sim,n=n,func=vc,B=999,option="res")
bb3=tft_boot(sim,n=n,func=vc,B=999,option="wild")