Кореляція Спірмена за рангами

A/B Testing в R

Lauryn Burleigh

Data Scientist

Припущення кореляції Спірмена

  • Ранжовані — впорядковані за позицією
  • Висока кореляція Спірмена — схожі позиції у двох змінних
  • Неперервні або дискретні дані
    • Порядкові, інтервальні або відношень

Зображення чотирьох стовпчиків у порядку від найбільшого до найменшого, де найбільший має 1, а найменший — 4.

A/B Testing в R

Монотонні зв'язки

  • Кореляція Спірмена (rho) — монотонний зв'язок

    • Не обов'язково послідовно зростає чи спадає
  • Монотонність менш вимоглива, ніж лінійність

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

Точкова діаграма з монотонно зростальним зв'язком: на осі y значення ice cream стабільні, потім зростають, потім знову стабільні, у міру зростання drownings на осі x.

Точкова діаграма з монотонно спадним зв'язком: на осі y значення ice cream стабільні, потім спадають, знову стабільні, потім спадають, у міру зростання drownings на осі x.

A/B Testing в 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 Testing в 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 Testing в 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()

Крутий додатний нахил даних Cheese синім ліворуч на осі x та менш крутий додатний нахил даних Pepperoni рожевим праворуч на осі x.

A/B Testing в 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 Testing в 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 Testing в R

Давайте потренуємось!

A/B Testing в R

Preparing Video For Download...