Ранговая корреляция Спирмена

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

Lauryn Burleigh

Data Scientist

Допущения корреляции Спирмена

  • Ранговый порядок — упорядочивание по позиции
  • Высокая корреляция Спирмена — схожие позиции в двух переменных
  • Непрерывные или дискретные данные
    • Порядковые, интервальные или относительные

Четыре столбца в порядке убывания: наибольший — 1, наименьший — 4.

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

Монотонные зависимости

  • Корреляция Спирмена (rho) — монотонная зависимость

    • Не обязательно строго возрастающая или убывающая
  • Монотонность — менее строгое условие, чем линейность

ggplot(data, aes(x = drownings, 
                 y = icecream)) +
  geom_point()

Диаграмма рассеяния, показывающая монотонно возрастающую зависимость: мороженое сначала стабильно, затем растёт, затем снова стабильно, по мере роста числа утоплений.

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

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

Гипотеза и размер выборки

  • Нулевая гипотеза — отсутствие монотонной связи между временем и удовольствием от пиццы
library(pwr)
pwr.r.test(r = 0.3, power = 0.80, 
           sig.level = 0.05)
    approximate correlation power 
 calculation (arctangh transformation) 

              n = 84.07364
              r = 0.3
      sig.level = 0.05
          power = 0.8
    alternative = two.sided
A/B-тестирование в R

Спирмен без учёта групп

cor.test(~ enjoyment + time, 
         data = pizza, 
         method = "spearman", 
        exact = FALSE)
    Spearman's rank correlation rho
data:  time and enjoyment
S = 2, p-value = .003245
alternative hypothesis: true rho is 
not equal to 0
sample estimates:
      rho 
0.9984962 
samp <- length(pizza$time)
[1]  90
A/B-тестирование в R

Спирмен внутри групп

cor.test(~ enjoyment + time, 
         data = pizza, 
         subset = 
             (Topping == "Cheese"),
         method = "spearman",
         exact = FALSE)
    Spearman's rank correlation rho
data:  time and enjoyment
S = 1.2434e-14, p-value = 0.0003968
alternative hypothesis: true rho is 
not equal to 0
sample estimates:
rho 
  1 
ggplot(pizza, aes(x = enjoyment, 
                  y = time, 
                  color = Topping)) + 
  geom_point()

Крутой положительный наклон данных «Сыр» (синий) слева по оси X и менее крутой положительный наклон данных «Пепперони» (розовый) справа по оси X.

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

Анализ мощности для Спирмена

library(pwr)
pwr.r.test(r = 0.998, n = 90, 
           sig.level = 0.003)
     approximate correlation power 
  calculation (arctangh transformation) 

              n = 90
              r = 0.998
      sig.level = 0.003
          power = 1
    alternative = two.sided
A/B-тестирование в R

Обращение к результатам вычислений

rhotest <- cor.test(~ enjoyment + time, 
         data = pizza, 
         method = "spearman")
samp <- length(pizza$time)
library(pwr)
pwr.r.test(r = rhotest$estimate, 
           sig.level = rhotest$p.value,
           n = samp)
     approximate correlation power 
  calculation (arctangh transformation) 

              n = 90
              r = 0.998
      sig.level = 0.003
          power = 1
    alternative = two.sided
A/B-тестирование в R

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

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

Preparing Video For Download...