На этой странице

Ресэмплинг — методические заметки

Решения, стоящие за числом повторов бутстрэпа и перестановок, а также за зёрнами генератора: откуда взяты рекомендации в примечании, которое карточка выводит при недостаточном числе повторов, почему всегда выполняется ровно заданное вами число и почему пустое зерно выбирается при запуске. Разделы следуют разделам страницы настроек.

Повторы бутстрэпа

Не меньше 1000 повторов для бутстрэп-интервала. Примечание, общее для МСУ, регрессионного и корреляционного анализа, опирается на Эфрона и Тибширани (Efron & Tibshirani, 1993, с. 188): для BCa-интервала «нужно не меньше B = 1000 повторов, чтобы в достаточной мере снизить погрешность выборки Монте-Карло». Для процентильного интервала та же книга требует от 500 до 1000 повторов (с. 275), поскольку его границы — это квантили хвостов, которые оцениваются по немногим бутстрэп-выборкам, попавшим в хвосты. Для стандартной ошибки хватает примерно 200 (с. 52). Ещё раньше Эфрон и Тибширани (Efron & Tibshirani, 1986, с. 72) назвали 1000 повторов «грубым минимумом» для BC- и BCa-интервалов. Основание здесь — погрешность Монте-Карло в границах (насколько интервал по B бутстрэп-выборкам отстоит от интервала по бесконечному их числу), а не покрытие интервала. Более поздние работы считают, что устойчивые границы требуют ещё больше повторов: около 2000 для BCa-интервала у Эфрона и Нарасимхана (Efron & Narasimhan, 2020), от 2733 (медиана) до более чем 6400 в моделировании Эндрюса и Бучински (Andrews & Buchinsky, 2002) и 10 000 для повседневной работы у Хестерберга (Hesterberg, 2015). Поэтому 1000 — нижняя граница опубликованных рекомендаций, а не целевое значение, и примечание называет это число рекомендацией, указывая рядом выполненное число повторов.

5000 для отчёта о косвенном эффекте. Если среди интервалов карточки есть интервал косвенного эффекта, примечание добавляет рекомендацию Причера и Хейса (Preacher & Hayes, 2008, с. 889, примеч. 5): «не меньше 5000 бутстрэп-выборок для итогового отчёта, хотя для предварительного анализа, вероятно, достаточно 1000». Причина у них та же — дисперсия Монте-Карло: процентильная граница берётся из крайних значений бутстрэп-распределения, а BCa-интервалу нужна ещё и хорошая оценка ускорения. Ни вывода, ни моделирования за этим числом нет, и Хейс (Hayes, 2022, с. 100) сохраняет 5000 как число, которое используют его примеры. Больше повторов не устраняет известный избыток ошибок I рода у интервалов с поправкой на смещение на малых выборках: Фриц, Тейлор и Мак-Киннон (Fritz, Taylor & MacKinnon, 2012) не обнаружили, чтобы 1001, 5001 или 10 001 повтор на него влияли. Моделирование, которое бутстрэпом не является (квазибайесовские розыгрыши в mediate()), сопровождается только числом повторов, без какой-либо из рекомендаций.

Заданное число повторов никогда не увеличивается. Приложение выполняет столько повторов, сколько стоит в настройке, даже если их мало: оно не подменяет число, не блокирует запуск и не добавляет повторы незаметно для пользователя. С увеличенным числом это был бы уже другой запуск, а не тот, что был запрошен, а при увеличении без предупреждения карточка приписывала бы себе точность, которую пользователь не выбирал. Поэтому малое число повторов не исправляется, а раскрывается, и рекомендация даётся как часть интерпретации. Нижний предел настройки, 10, — защита от ошибочного ввода (от одной до девяти бутстрэп-выборок пригодного интервала не дают), а не рекомендуемый минимум.

Повторы перестановок

Перестановочное p не бывает меньше 1/(B + 1). p-значение по B случайным перестановкам учитывает среди них и наблюдаемую статистику, (b+1)/(B+1), где b — число перестановок со статистикой не менее экстремальной, чем наблюдаемая, поэтому, как предлагают Фипсон и Смит (Phipson & Smyth, 2010), оно никогда не равно нулю. Наименьшее достижимое значение равно 1/(B+1), то есть 0.001 при 999 повторах по умолчанию. Если этот предел выше уровня значимости, ни одно p в таблице не может оказаться значимым, что бы ни показывали данные. Поэтому корреляционный анализ называет число повторов и предел, а при включённой интерпретации добавляет, что p-значения этого уровня достичь не могут. При поправке p-значений предел не должен превышать α/m, а не α: с этим уровнем метод Бонферрони сравнивает каждое p, а метод Холма и восходящие методы — наименьшее. Раньше корреляционный анализ сам подбирал число повторов по уровню значимости, ⌈20·√k/α⌉, с настройкой бутстрэпа в качестве нижней границы, так что выполненное число не совпадало ни с одной из настроек. Теперь он, как и модуль сравнения, выполняет ровно столько повторов, сколько задано в параметре Повторы перестановок, и сообщает, когда при этом числе порог значимости недостижим. Для критерия на основе ресэмплинга при фиксированном уровне Дэвидсон и Мак-Киннон (Davidson & MacKinnon, 2000) считают минимумом около 399 повторов для уровня .05 и 1499 для уровня .01: при меньшем числе критерий теряет мощность. Значение по умолчанию, 999, первому условию удовлетворяет.

Зерно бутстрэпа

Пустое зерно выбирается при запуске и записывается. Раньше при пустом зерне R не получал никакого зерна, и бутстрэп-выборки, перестановки или случайные старты строились на последовательности, которую никто не записывал. Повторить такой результат было нельзя, а карточка настройки могла бы сообщить о нём лишь «случайное» — сведение, с которым читателю нечего делать. Поэтому, если в начале запуска зерно бутстрэпа или зерно воспроизводимости пусто, запуск сам выбирает его (равномерно распределённое целое число от 1 до 999 999 999) и ведёт вычисления с ним, и любой результат воспроизводится вводом зерна, названного на его карточке. Выбор равномерный, так что полученные числа статистически эквивалентны незаписанной последовательности, хотя при той же настройке с ней не совпадают. Девять разрядов оставляют больше миллиарда запаса до наибольшего целого числа R, 2 147 483 647, для смещений, которыми вычисление разводит свои шаги по отдельным последовательностям. Выбранное зерно принадлежит результату, а не настройке. Настройка остаётся пустой, поэтому два запуска с ней не дают изменений на карточке настройки. Сама карточка настройки относится к нескольким результатам, у каждого своё зерно, и показывает случайное, своё для каждого результата, а каждая карточка результата называет собственное. При каждом запуске значение выбирается для всякого пустого зерна, используется оно или нет, поэтому карточка называет выбранное зерно, только если её вычисление его использовало.