为什么参数自举偏差和标准误差在这里为零?
Why parametric bootstrapping bias and standard error are zero here?
我在 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
您需要添加一行代码来进行采样,即
Boot.fun <-
function(data) {
data <- sample(data, replace=T)
m1 <- ...
因为您没有为参数 rand.gen
提供函数来生成随机值。 ?boot
的文档中对此进行了讨论。如果 sim = "parametric"
并且您没有提供生成函数,则原始数据将传递给 statistic
并且您需要在该函数中进行采样。由于您的模拟是 运行 使用相同的数据,因此没有标准误差或偏差。
我在 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
您需要添加一行代码来进行采样,即
Boot.fun <-
function(data) {
data <- sample(data, replace=T)
m1 <- ...
因为您没有为参数 rand.gen
提供函数来生成随机值。 ?boot
的文档中对此进行了讨论。如果 sim = "parametric"
并且您没有提供生成函数,则原始数据将传递给 statistic
并且您需要在该函数中进行采样。由于您的模拟是 运行 使用相同的数据,因此没有标准误差或偏差。