为什么参数自举偏差和标准误差为零?

问题描述 投票:2回答:1

我正在R中执行参数自举,以解决一个简单的问题,并始终将BiasStandard Error设为零。我究竟做错了什么?

set.seed(12345)
df <- rnorm(n=10, mean = 0, sd = 1)

Boot.fun <- 
  function(data) {
    m1 <- mean(data)
    return(m1)
  }

Boot.fun(data = df)

library(boot)
out <- boot(df, Boot.fun, R = 20, sim = "parametric")
out
    PARAMETRIC BOOTSTRAP


Call:
boot(data = df, statistic = Boot.fun, R = 20, sim = "parametric")


Bootstrap Statistics :
      original  bias    std. error
t1* -0.1329441       0           0
r statistics boot bootstrapping
1个回答
2
投票

您需要添加代码行来进行采样,即。

Boot.fun <- 
    function(data) {
        data <- sample(data, replace=T)
        m1 <- ...

因为你没有为参数rand.gen提供函数来生成随机值。这在?boot的文档中讨论。如果sim = "parametric"并且您没有提供生成函数,那么原始数据将传递给statistic,您需要在该函数中进行采样。由于您的模拟是在相同的数据上运行的,因此没有标准错误或偏差。

© www.soinside.com 2019 - 2024. All rights reserved.