我在R
中执行参数自举,以解决一个简单的问题,并始终将Bias
和Standard 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
答案 0 :(得分:2)
您需要添加一行代码来进行采样,即
Boot.fun <-
function(data) {
data <- sample(data, replace=T)
m1 <- ...
因为您没有为参数rand.gen
提供函数来生成随机值。这在?boot
的文档中讨论。如果sim = "parametric"
并且您没有提供生成函数,则原始数据将传递给statistic
,您需要在该函数中进行采样。由于您的模拟是在相同的数据上运行的,因此没有标准错误或偏差。