R.从向量引导最大值

时间:2018-06-28 01:47:17

标签: r bootstrapping

我有一个带有X列的数据帧df,该列具有沿着1,000,000行的正态分布值。 X中的最大值= 0.8。使用R(可能还有“ boot”包),我想进行替换引导,以估算从我的数据中获得max(df $ X)= 0.8的可能性。为此,我可以从X中提取n个引导程序样本,并计算每个样本的最大值。然后,我可以获取每个max(sample)的标准偏差,并查看距此st dev 0.8的距离。有谁知道如何用R做这个引导程序?任何建议都欢迎!

1 个答案:

答案 0 :(得分:1)

x中的

Bootstrapping ,其中 x是正常随机变量。需要提供statistic函数,该函数至少需要dataindices作为其自变量。有关更多详细信息,请查阅boot 包的 R文档

下面的

max_x函数检查 max(x)是否与 被引导的示例的最大值相同。请注意,以下代码中考虑的测试数据(x)具有不同的最大值,但概念框架保持不变:

set.seed(101)
x <- rnorm(1000, mean= 0.4, sd= 0.2)               # normally distributed test data

max_x <- function(data, indices){ m <- max(data[indices])
                                  if (m == max(x)) { return(1)   
                                                   }  else{ return(0)}
                                }

results <- boot(data = x, statistic = max_x, R = 1000)          # 1000 replications

mean(results$t == 1)                           # probability of max getting sampled
# 0.618

results
# ORDINARY NONPARAMETRIC BOOTSTRAP

# Call:
# boot(data = x, statistic = max_x, R = 1000)
# Bootstrap Statistics :
#     original  bias    std. error
# t1*        1  -0.382   0.4861196

plot(results)

statistics