Tidy data БЛОГ

Бутстрэп анализ

Грубая компьютерная сила:
бутстрэп-анализ, перестановочные тесты и «складной нож».
В прошлой статье мы разбирали статистические методы проверки гипотез. Все они базируются на теоретических распределениях и работают только при соблюдении ограничений и допущений.

Существует альтернативный подход, который вместо теории задействует грубую компьютерную силу – ресемплинг. Этот подход объединяет целый класс методов генерации дополнительных выборок из уже имеющихся. При ресемплинге расчет параметров проводится на фактических данных, а теоретическое распределения не используется.

К ресемплингу относится бутстрэп анализ, перестановочные тесты и «складной нож».

Его величество Бутстрэп

Бутстрэп-процедура состоит в многократном извлечении подвыборок из эмпирического распределения. Для оценки любых параметров можно сформировать тысячи повторных бутстрэп-выборок (обычно 500-10 000), каждая из которых содержит 2/3 значений исходной выборки. Используя подвыборки, мы можем построить распределение любой статистики, даже для непараметрических данных.
Бутстрэп-анализ
Визуализация принципа бутстрэп анализа
Алгоритм расчета доверительного интервала при помощи бутстрэп:

  1. Выберите 10 наблюдений из выборки. Отбор осуществляется с возвратом, то есть некоторые наблюдения могут быть выбраны несколько раз, а некоторые могут остаться невыбранными.
  2. Вычислите среднее для полученного набора из 10 значений.
  3. Повторите шаги 500 - 10 000 раз.
  4. Отсортируйте тысячу выборочных средних по возрастанию.
  5. Найдите средние, которые представляют собой 2.5 и 97.5 процентили. В данном примере это 25-е число с начала и с конца. Два выбранных значения и будут границами 95%-го доверительного интервала.
Бутстрэп-анализ в R

install.packages("boot")  #скачивание библиотеки для бутстрэп-анализа
library("boot") #подключение библиотеки
myfn <- function(x) {return(mean(x))} #функция для расчета статистики
result <- boot(data$varname, myfn, R = 999) #бутстрэп-анализ
#где data$ — таблица с исходными данными $ имя исследуемого столбца
#myfn — статистика, которую требуется рассчитать при помощи пользовательской функции
#R — число бутстрэп выборок
result #текстовый вывод результатов
plot(result) #визуализация эмпирического распределения 
quantile(result$t, c(0.025, 0.975)) #доверительный интервал для среднеарифметического

Перестановочные тесты в R

уПерестановочные тесты – это продолжение идеи использования эмпирического распределения. Они позволяют сравнивать несколько выборок между собой при помощи любых критериев, используя следующий подход:

  1. У нас в распоряжении 20 человек. В группу А попадают 10 человек, которые видели рекламу. В группу Б попадают те, кто ничего не видел. Обе группы идут в магазин.
  2. Измеряем сумму чека каждого участника и рассчитываем средний чек по группе А и Б.
  3. Рассчитываем t-нулевое — различия между средними по группам. Наша задача определить, повлиял ли рекламный ролик на средний чек.
  4. Если реклама не связана с средним чеком, то неважно к какой группе относится каждый участник. Случайно перемешиваем участников и рассчитываем разницу между средними (t-энное) для 1000 смешанных выборок из 10 человек.
  5. Полученное распределение и будет эмпирическим для данного эксперимента. Отсортируем 1000 t по возрастанию. Если t-нулевое не входит в центральные 95% значений эмпирического распределения, то у нас есть все основания отвергнуть нулевую гипотезу о равенстве средних значений в двух группах.
Перестановочные тесты
Визуализация принципа перестановочных тестов
Достаточно 3 строчки на языке программирования R, чтобы получить p-level для перестановочного теста при помощи эмпирического распределения. Если p-level < 0.05, то мы можем отвергнуть гипотезу об отсутствии связи. Это значит, что участники эксперимента, которые видели рекламу покупали больше НЕ случайно
Перестановочные тесты в R

install.packages("coin") #скачивание библиотеки для перестановочных тестов
library(coin) #подключение библиотеки
oneway_test(y~x, data) 
#где y — это исследуемая переменная (сумма чека)
#x — метка группы (видели / не видели рекламу)
#data — таблица с наблюдениями x и y.

Если эмпирическое распределение получено в результате перебора всех возможных комбинаций, перестановочный тест называется «точным». С увеличением объема исходных выборок, количество возможных комбинаций растет экспоненциально. Перебор всех вариантов становится накладным даже для мощных компьютеров, поэтому применяется моделирование по методу Монте-Карло.
Понравилась статья?