У меня есть следующий вопрос для курса, над которым я работаю:
Проведите исследование методом Монте-Карло, чтобы оценить вероятности охвата стандартного нормального доверительного интервала начальной загрузки и базового доверительного интервала начальной загрузки. Выборка из нормальной популяции и проверка эмпирических показателей охвата для выборки среднего.
Вероятности покрытия для стандартного нормального загрузочного CI просты:
n = 1000;
alpha = c(0.025, 0.975);
x = rnorm(n, 0, 1);
mu = mean(x);
sqrt.n = sqrt(n);
LNorm = numeric(B);
UNorm = numeric(B);
for(j in 1:B)
{
smpl = x[sample(1:n, size = n, replace = TRUE)];
xbar = mean(smpl);
s = sd(smpl);
LNorm[j] = xbar + qnorm(alpha[1]) * (s / sqrt.n);
UNorm[j] = xbar + qnorm(alpha[2]) * (s / sqrt.n);
}
mean(LNorm < 0 & UNorm > 0); # Approximates to 0.95
# NOTE: it is not good enough to look at overall coverage
# Must compute separately for each tail
Из того, чему меня учили в этом курсе, базовый доверительный интервал начальной загрузки может быть рассчитан так:
# Using x from previous...
R = boot(data = x, R=1000, statistic = function(x, i){ mean(x[i]); });
result = 2 * mu - quantile(R$t, alpha, type=1);
Это имеет смысл. Что я не понимаю, так это как рассчитать вероятности покрытия для базового CI начальной загрузки. Я понимаю, что вероятность покрытия будет представлять количество раз, которое CI содержит истинное значение (в этом случае mu
). Я просто запускаю boot
функцию много раз?
Как я могу подойти к этому вопросу по-другому?
smpl = x[sample(1:n, size = 100, replace = TRUE)];
может быть упрощено до smpl = sample(x, size=100, replace=TRUE)
.
mu
что было 0. Нормальный CI работает нормально, это базовый CI начальной загрузки, с которым у меня возникают трудности.
size=100
опечатка? Я не верю, что вы получаете правильные верхние и нижние границы, поскольку неявный размер выборки равен 1000, когда вы вычисляете свои КИ в цикле (так как вы используетеsqrt.n
в расчете). Кроме того, почему вы сравниваете сmu
0, а не с 0 (последнее является истинным средним)?