Corrélation de Spearman

Tests A/B en R

Lauryn Burleigh

Data Scientist

Hypothèses de la corrélation de Spearman

  • Classements – ordonnés par rang
  • Corrélation de Spearman élevée – rangs similaires entre les deux variables
  • Données continues ou discrètes
    • Ordinales, d'intervalle ou de rapport

Image de quatre barres classées de la plus haute à la plus basse, la plus haute étant 1 et la plus basse 4.

Tests A/B en R

Relations monotones

  • Corrélation de Spearman (rho) – relation monotone

    • Pas constamment croissante ni décroissante
  • Monotone moins contraignante que linéaire

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

Nuage de points montrant une relation monotone croissante : crème glacée stable puis en hausse puis stable sur l'axe y, à mesure que les noyades augmentent sur l'axe x.

Nuage de points montrant une relation monotone décroissante : crème glacée stable, puis en baisse, puis stable, puis en baisse sur l'axe y, à mesure que les noyades augmentent sur l'axe x.

Tests A/B en R

Hypothèse et taille d'échantillon

  • Hypothèse nulle – aucune association monotone entre le temps et l'appréciation de la pizza
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
Tests A/B en R

Spearman sans tenir compte des groupes

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
Tests A/B en R

Spearman à l'intérieur des groupes

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()

Forte pente positive des données « Cheese » en bleu à gauche de l'axe x, et pente positive moins forte des données « Pepperoni » en rose à droite de l'axe x.

Tests A/B en R

Analyse de puissance : Spearman

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
Tests A/B en R

Se référer au résultat

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
Tests A/B en R

Passons à la pratique !

Tests A/B en R

Preparing Video For Download...