Проверка гипотез и z-оценки

Проверка гипотез в R

Richie Cotton

Data Evangelist at DataCamp

A/B-тестирование

  • Electronic Arts (EA) — компания-разработчик видеоигр.
  • В 2013 году они выпустили SimCity 5.
  • Их цель — увеличить количество предзаказов игры.
  • Для тестирования рекламных сценариев они применили A/B-тестирование.
  • Пользователей разделили на группы контроля и воздействия.

Здание Electronic Arts

1 Фото: «Electronic Arts» by majaX1 CC BY-NC-SA 2.0
Проверка гипотез в R

A/B-тест страницы интернет-магазина

Контроль

Страница SimCity с баннером «Сделайте предзаказ и получите скидку $20 на следующую покупку»

Воздействие

Страница SimCity без баннера

Проверка гипотез в R

Результаты A/B-теста

  • Группа воздействия (без рекламы) совершила на 43,4% больше покупок, чем контрольная группа (с рекламой).
  • Интуитивное предположение «реклама увеличит продажи» оказалось полностью ошибочным.
  • Является ли этот результат статистически значимым или он случаен?
  • Чтобы это выяснить, нужны данные EA.
  • Для анализа применяются методы из курса «Выборка в R» и данного курса.
Проверка гипотез в R

Опрос разработчиков Stack Overflow 2020

library(dplyr)
glimpse(stack_overflow)
Rows: 2,261
Columns: 8
$ respondent         <dbl> 36, 47, 69, 125, 147, 152, 166, 170, 187, 196, 221,…
$ age_first_code_cut <chr> "adult", "child", "child", "adult", "adult", "adult…
$ converted_comp     <dbl> 77556, 74970, 594539, 2000000, 37816, 121980, 48644…
$ job_sat            <fct> Slightly satisfied, Very satisfied, Very satisfied,…
$ purple_link        <chr> "Hello, old friend", "Hello, old friend", "Hello, o…
$ age_cat            <chr> "At least 30", "At least 30", "Under 30", "At least…
$ age                <dbl> 34, 53, 25, 41, 28, 30, 28, 26, 43, 23, 24, 35, 37,…
$ hobbyist           <chr> "Yes", "Yes", "Yes", "Yes", "No", "Yes", "Yes", "Ye…
Проверка гипотез в R

Формулировка гипотезы о среднем

Гипотеза:

Средняя годовая компенсация генеральной совокупности специалистов по данным составляет $110 000.

Точечная оценка (статистика выборки):

mean_comp_samp <- mean(stack_overflow$converted_comp)
mean_comp_samp <- stack_overflow %>% 
  summarize(mean_compensation = mean(converted_comp)) %>% 
  pull(mean_compensation)
119574.7
Проверка гипотез в R

Построение бутстрэп-распределения

# Step 3. Repeat steps 1 & 2 many times
so_boot_distn <- replicate(
  n = 5000,
  expr = {
    # Step 1. Resample
    stack_overflow %>%
      slice_sample(prop = 1, replace = TRUE) %>%
      # Step 2. Calculate point estimate
      summarize(mean_compensation = mean(converted_comp)) %>% 
      pull(mean_compensation)
  }
)
1 Бутстрэп-распределения рассматриваются в главе 4 курса «Выборка в R»
Проверка гипотез в R

Визуализация бутстрэп-распределения

tibble(resample_mean = so_boot_distn) %>%
  ggplot(aes(resample_mean)) +
  geom_histogram(binwidth = 1000)

Гистограмма бутстрэп-распределения — колоколообразная форма, значения примерно от 110 000 до 140 000

Проверка гипотез в R

Стандартная ошибка

std_error <- sd(so_boot_distn)
5511.674
Проверка гипотез в R

z-оценки

$\text{standardized value} = \dfrac{\text{value} - \text{mean}}{\text{standard deviation}}$

$z = \dfrac{\text{sample stat} - \text{hypoth. param. value}}{\text{standard error}}$

$z = \dfrac{\$119{,}574.7 - \$110{,}000}{\$5511.67} = 1{,}737$

mean_comp_samp
119574.7
mean_comp_hyp <- 110000
std_error
5511.674
z_score <- (mean_comp_samp - mean_comp_hyp) / std_error
1.737171
Проверка гипотез в R

Проверка гипотезы

  • Является ли значение 1,737171 большим или малым?
  • Именно в этом и состоит цель курса!
Применение проверки гипотез:

Определить, насколько статистики выборки близки к ожидаемым (или «гипотетическим») значениям или далеки от них.

Проверка гипотез в R

Стандартное нормальное (z) распределение

Стандартное нормальное распределение — нормальное распределение со средним, равным нулю, и стандартным отклонением, равным 1.

tibble(x = seq(-4, 4, 0.01)) %>% 
  ggplot(aes(x)) +
  stat_function(fun = dnorm) +
  ylab("PDF(x)")

График плотности функции PDF для стандартного нормального распределения

Проверка гипотез в R

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

Проверка гипотез в R

Preparing Video For Download...