Бутстрап-тесты гипотез

Статистическое мышление на Python (часть 2)

Justin Bois

Lecturer at the California Institute of Technology

Алгоритм проверки гипотез

  • Чётко сформулируйте нулевую гипотезу
  • Определите тестовую статистику
  • Сгенерируйте множество наборов симулированных данных при условии, что нулевая гипотеза верна
  • Вычислите тестовую статистику для каждого симулированного набора
  • p-значение — это доля симулированных наборов, для которых тестовая статистика не менее экстремальна, чем для реальных данных
Статистическое мышление на Python (часть 2)

Майкельсон и Ньюком: пионеры измерения скорости света

ch3-3.008.png

1 Фото Майкельсона: общественное достояние, Smithsonian 2 Фото Ньюкома: Библиотека Конгресса США
Статистическое мышление на Python (часть 2)

Майкельсон и Ньюком: пионеры измерения скорости света

ch3-3.010.png

1 Фото Майкельсона: общественное достояние, Smithsonian 2 Фото Ньюкома: Библиотека Конгресса США
Статистическое мышление на Python (часть 2)

Имеющиеся данные

ch3-3.011.png

1 Данные: Майкельсон, 1880
Статистическое мышление на Python (часть 2)

Нулевая гипотеза

  • Истинное среднее значение скорости света в экспериментах Майкельсона совпадало с результатом, опубликованным Ньюкомом
Статистическое мышление на Python (часть 2)

Сдвиг данных Майкельсона

newcomb_value = 299860  # km/s
michelson_shifted = michelson_speed_of_light \\
           - np.mean(michelson_speed_of_light) + newcomb_value

ch3-3.019.png

Статистическое мышление на Python (часть 2)

Вычисление тестовой статистики

def diff_from_newcomb(data, newcomb_value=299860):
    return np.mean(data) - newcomb_value
diff_obs = diff_from_newcomb(michelson_speed_of_light)

diff_obs
-7.5999999999767169
Статистическое мышление на Python (часть 2)

Вычисление p-значения

bs_replicates = draw_bs_reps(michelson_shifted,
                             diff_from_newcomb, 10000)

p_value = np.sum(bs_replicates <= diff_observed) / 10000
p_value
0.16039999999999999
Статистическое мышление на Python (часть 2)

 

Одновыборочный тест

- Сравнение одного набора данных с одним числом

 

Двухвыборочный тест

- Сравнение двух наборов данных
Статистическое мышление на Python (часть 2)

Давайте потренируемся!

Статистическое мышление на Python (часть 2)

Preparing Video For Download...