tsboot
位于 boot
包(package)。 说明
生成应用于时间序列的统计数据的 R
引导复制。复制时间序列可以使用固定或随机块长度生成,也可以是基于模型的复制。
用法
tsboot(tseries, statistic, R, l = NULL, sim = "model",
endcorr = TRUE, n.sim = NROW(tseries), orig.t = TRUE,
ran.gen, ran.args = NULL, norm = TRUE, ...,
parallel = c("no", "multicore", "snow"),
ncpus = getOption("boot.ncpus", 1L), cl = NULL)
参数
tseries |
单变量或多变量时间序列。 |
statistic |
应用于 |
R |
一个正整数,给出所需的引导重复次数。 |
sim |
生成复制时间序列所需的模拟类型。可能的输入值是 |
l |
如果 |
endcorr |
指示当 |
n.sim |
模拟时间序列的长度。通常,这将等于原始时间序列的长度,但在某些情况下它会更大。一种明显的情况是是否需要预测。 |
orig.t |
一个逻辑变量,指示 |
ran.gen |
这是三个参数的函数。第一个参数是时间序列。如果 |
ran.args |
每次调用时都会将其提供给 |
norm |
一个逻辑参数,指示是否应使用正常裕度进行相位扰乱。如果 |
... |
此处可以提供 |
parallel , ncpus , cl |
请参阅 |
细节
如果 sim
是 "fixed"
,则通过从原始时间序列中取出长度为 l
的块并将它们端到端放置,直到创建长度为 n.sim
的新序列,找到每个复制时间序列。当 sim
为 "geom"
时,采用类似的方法,只不过现在块长度是根据平均值为 l
的几何分布生成的。通过在 tsboot
调用中包含函数 ran.gen
并将 tseries
作为残差时间序列,可以对这些复制时间序列执行 Post-blackening。
基于模型的重采样与参数引导非常相似,所有模拟都必须在用户指定的函数之一中进行。这避免了选择块长度的复杂问题,但依赖于做出的准确模型选择。
Davison 和 Hinkley (1997) 的第 8.2.4 节说明了相位扰乱。此方法产生合理结果的统计类型非常有限,而其他方法在大多数情况下似乎做得更好。频域中的其他类型的重采样可以使用带有参数 sim = "parametric"
的函数 boot
来完成。
值
类 "boot"
的对象,具有以下组件。
t0 |
如果 |
t |
将 |
R |
提供给 |
tseries |
原始时间序列。 |
statistic |
提供的函数 |
sim |
用于生成重复的模拟类型。 |
endcorr |
使用的 |
n.sim |
使用的 |
l |
|
ran.gen |
|
ran.args |
传递给 |
call |
对 |
例子
lynx.fun <- function(tsb) {
ar.fit <- ar(tsb, order.max = 25)
c(ar.fit$order, mean(tsb), tsb)
}
# the stationary bootstrap with mean block length 20
lynx.1 <- tsboot(log(lynx), lynx.fun, R = 99, l = 20, sim = "geom")
# the fixed block bootstrap with length 20
lynx.2 <- tsboot(log(lynx), lynx.fun, R = 99, l = 20, sim = "fixed")
# Now for model based resampling we need the original model
# Note that for all of the bootstraps which use the residuals as their
# data, we set orig.t to FALSE since the function applied to the residual
# time series will be meaningless.
lynx.ar <- ar(log(lynx))
lynx.model <- list(order = c(lynx.ar$order, 0, 0), ar = lynx.ar$ar)
lynx.res <- lynx.ar$resid[!is.na(lynx.ar$resid)]
lynx.res <- lynx.res - mean(lynx.res)
lynx.sim <- function(res,n.sim, ran.args) {
# random generation of replicate series using arima.sim
rg1 <- function(n, res) sample(res, n, replace = TRUE)
ts.orig <- ran.args$ts
ts.mod <- ran.args$model
mean(ts.orig)+ts(arima.sim(model = ts.mod, n = n.sim,
rand.gen = rg1, res = as.vector(res)))
}
lynx.3 <- tsboot(lynx.res, lynx.fun, R = 99, sim = "model", n.sim = 114,
orig.t = FALSE, ran.gen = lynx.sim,
ran.args = list(ts = log(lynx), model = lynx.model))
# For "post-blackening" we need to define another function
lynx.black <- function(res, n.sim, ran.args) {
ts.orig <- ran.args$ts
ts.mod <- ran.args$model
mean(ts.orig) + ts(arima.sim(model = ts.mod,n = n.sim,innov = res))
}
# Now we can run apply the two types of block resampling again but this
# time applying post-blackening.
lynx.1b <- tsboot(lynx.res, lynx.fun, R = 99, l = 20, sim = "fixed",
n.sim = 114, orig.t = FALSE, ran.gen = lynx.black,
ran.args = list(ts = log(lynx), model = lynx.model))
lynx.2b <- tsboot(lynx.res, lynx.fun, R = 99, l = 20, sim = "geom",
n.sim = 114, orig.t = FALSE, ran.gen = lynx.black,
ran.args = list(ts = log(lynx), model = lynx.model))
# To compare the observed order of the bootstrap replicates we
# proceed as follows.
table(lynx.1$t[, 1])
table(lynx.1b$t[, 1])
table(lynx.2$t[, 1])
table(lynx.2b$t[, 1])
table(lynx.3$t[, 1])
# Notice that the post-blackened and model-based bootstraps preserve
# the true order of the model (11) in many more cases than the others.
参考
Davison, A.C. and Hinkley, D.V. (1997) Bootstrap Methods and Their Application. Cambridge University Press.
Kunsch, H.R. (1989) The jackknife and the bootstrap for general stationary observations. Annals of Statistics, 17, 1217-1241.
Politis, D.N. and Romano, J.P. (1994) The stationary bootstrap. Journal of the American Statistical Association, 89, 1303-1313.
也可以看看
相关用法
- R tau Tau 粒子衰变模式
- R tilt.boot 非参数倾斜引导
- R tuna 金枪鱼目击数据
- R poisons 动物生存时间
- R ducks 杂交鸭的行为和羽毛特征
- R nodal 前列腺癌的淋巴结受累
- R cloth 布料瑕疵数量
- R polar 新喀里多尼亚红土的极点位置
- R capability 模拟制造过程数据
- R beaver 海狸体温数据
- R saddle.distn Bootstrap 统计的鞍点分布近似
- R logit 比例的逻辑
- R EEF.profile 经验可能性
- R gravity 重力加速度
- R boot 引导重采样
- R plot.boot Bootstrap 模拟的输出图
- R boot.ci 非参数引导置信区间
- R envelope 曲线的置信区间
- R bigcity 美国城市人口
- R co.transfer 一氧化碳转移
- R imp.weights 重要性采样权重
- R acme 每月超额返回
- R glm.diag.plots 广义线性模型的诊断图
- R survival 辐射剂量后大鼠的存活率
- R norm.ci 正态近似置信区间
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Bootstrapping of Time Series。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。