Доверительный интервал на основе бутстрепа
Из предыдущих упражнений вы узнали два важных факта:
- Изменчивость \(\hat{p}\) можно оценить, выполняя повторную выборку из исходной выборки.
- Зная изменчивость \(\hat{p}\), можно использовать её как меру того, насколько далеко истинная пропорция находится от оценки.
Обратите внимание: уровень доверия (здесь 95%) означает, как часто выборка оказывается достаточно близкой к параметру генеральной совокупности. Нельзя заранее знать, близка ли конкретная выборка к параметру или нет — однако в долгосрочной перспективе 95% всех собранных вами выборок должны давать оценки в пределах \(2SE\) от истинного параметра генеральной совокупности.
Данные одного опроса, one_poll, и результаты 1000 бутстреп-выборок, one_poll_boot, доступны в вашем рабочем пространстве. Они основаны на Эксперименте 2 из более ранней части главы.
Как и в предыдущем упражнении, при обсуждении изменчивости статистики это число называется стандартной ошибкой.
Это упражнение является частью курса
Основы статистического вывода в R
Инструкции к упражнению
- Вычислите \(\hat{p}\) и сохраните результат в переменную
p_hat. В вызовеsummarize()вычислитеstatкак среднее значениеvote, равного"yes". - Найдите диапазон правдоподобных значений для истинного параметра, вычислив \(\hat{p} \pm 2SE\).
- Нижняя граница (
lower) доверительного интервала равнаp_hatминус удвоенная стандартная ошибкаstat. Для вычисления стандартной ошибки используйтеsd(). - Верхняя граница (
upper) равнаp_hatплюс удвоенная стандартная ошибкаstat.
- Нижняя граница (
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# From previous exercises
one_poll <- all_polls %>%
filter(poll == 1) %>%
select(vote)
one_poll_boot <- one_poll %>%
specify(response = vote, success = "yes") %>%
generate(reps = 1000, type = "bootstrap") %>%
calculate(stat = "prop")
p_hat <- one_poll %>%
# Calculate proportion of yes votes
summarize(stat = ___) %>%
pull()
# Create an interval of plausible values
one_poll_boot %>%
summarize(
# Lower bound is p_hat minus 2 std errs
lower = ___,
# Upper bound is p_hat plus 2 std errs
upper = ___
)