View source: R/boot.stationary.R
boot.stationary | R Documentation |
Assuming data being dependent with cardinality N
, boot.stationary
returns
a vector of index that is used for stationary bootstrapping. To describe, starting points
are drawn from uniform distribution over 1:N
and the size of each block is
determined from geometric distribution with parameter p
.
boot.stationary(N, p = 0.25)
N |
the number of observations. |
p |
parameter for geometric distribution with the size of each block. |
a vector of length N
for moving block bootstrap sampling.
politis_stationary_1994maotai
## example : bootstrap confidence interval of mean and variances
vec.x = seq(from=0,to=10,length.out=100)
vec.y = sin(1.21*vec.x) + 2*cos(3.14*vec.x) + rnorm(100,sd=1.5)
data.mu = mean(vec.y)
data.var = var(vec.y)
## apply stationary bootstrapping
nreps = 50
vec.mu = rep(0,nreps)
vec.var = rep(0,nreps)
for (i in 1:nreps){
sample.id = boot.stationary(100)
sample.y = vec.y[sample.id]
vec.mu[i] = mean(sample.y)
vec.var[i] = var(sample.y)
print(paste("iteration ",i,"/",nreps," complete.", sep=""))
}
## visualize
opar <- par(no.readonly=TRUE)
par(mfrow=c(1,3), pty="s")
plot(vec.x, vec.y, type="l", main="1d signal") # 1d signal
hist(vec.mu, main="mean CI", xlab="mu") # mean
abline(v=data.mu, col="red", lwd=4)
hist(vec.var, main="variance CI", xlab="sigma") # variance
abline(v=data.var, col="blue", lwd=4)
par(opar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.