valeurs p

Tests d'hypothèse en R

Richie Cotton

Data Evangelist at DataCamp

Procès criminels

  • Deux états possibles en réalité.
    1. L'accusé a commis le crime.
    2. L'accusé n'a pas commis le crime.
  • Deux verdicts possibles.
    1. Coupable.
    2. Non coupable.
  • Au départ, on présume l'accusé non coupable.
  • Si la preuve est « au‑delà de tout doute raisonnable » que l'accusé a commis le crime, on rend un verdict « coupable », sinon « non coupable ».
Tests d'hypothèse en R

Âge du premier contact avec la programmation

  • age_first_code_cut classe le moment où un utilisateur de Stack Overflow a commencé à programmer
    1. "adult" signifie à 14 ans ou plus
    2. "child" signifie avant 14 ans
  • Des travaux antérieurs estiment que 35 % des développeurs ont commencé à programmer enfants
  • Notre échantillon indique‑t‑il qu'une plus grande proportion de scientifiques des données ont commencé à programmer enfants ?
Tests d'hypothèse en R

Définitions

Une hypothèse est une affirmation sur un paramètre de population inconnu.

Un test d'hypothèse oppose deux hypothèses concurrentes.

  • L'hypothèse nulle ($H_{0}$) est l'idée « championne » en place.

  • L'hypothèse alternative ($H_{A}$) est la nouvelle idée « challenger » du chercheur.

Pour notre problème

  • $H_{0}$ : La proportion de scientifiques des données ayant commencé à programmer enfants est la même que celle des développeurs (35 %).
  • $H_{A}$ : Cette proportion chez les scientifiques des données est supérieure à 35 %.
1 « Naught » est l'anglais britannique pour « zero ». Pour des raisons historiques, « H‑naught » est la convention internationale pour prononcer l'hypothèse nulle.
Tests d'hypothèse en R
  • Deux états possibles en réalité.
    1. L'accusé a commis le crime.
    2. L'accusé n'a pas commis le crime.
  • Deux verdicts possibles.
    1. Coupable.
    2. Non coupable.
  • Au départ, on présume l'accusé non coupable.
  • Si la preuve est « au‑delà de tout doute raisonnable » que l'accusé a commis le crime, on rend « coupable », sinon « non coupable ».
  • En réalité, soit $H_{A}$ soit $H_{0}$ est vraie (mais pas les deux).
  • Le test mène à « rejeter $H_{0}$ » ou « ne pas rejeter $H_{0}$ ».
  • Au départ, on suppose $H_{0}$ vraie.
  • Si la preuve issue de l'échantillon est « significative » en faveur de $H_{A}$, on la retient ; sinon on retient $H_{0}$.

Le seuil de signification correspond à « au‑delà de tout doute raisonnable » pour les tests d'hypothèse.

Tests d'hypothèse en R

Tests unilatéraux et bilatéraux

Courbe de densité de la loi normale standard avec le centre masqué, ne montrant que les queues.

Les tests d'hypothèse vérifient si la statistique d'échantillon tombe dans les queues de la distribution nulle.

Test Queues
alternative différente de la nulle bilatéral
alternative plus grande que la nulle unilatéral droit
alternative plus petite que la nulle unilatéral gauche

$H_{A}$ : La proportion de scientifiques des données ayant commencé à programmer enfants est supérieure à 35 %.

Notre hypothèse alternative est « supérieure à », donc test unilatéral droit.

Tests d'hypothèse en R

valeurs p

  • Plus la valeur p est grande, plus l'appui à $H_{0}$ est fort.
  • Plus la valeur p est petite, plus la preuve contre $H_{0}$ est forte.
  • De petites valeurs p indiquent que la statistique est dans la queue de la distribution nulle (distribution de la statistique si l'hypothèse nulle est vraie).
    • Le « p » de valeur p signifie probabilité.
    • Pour les valeurs p, « petite » signifie « proche de zéro ».
Tests d'hypothèse en R

Définir les valeurs p

Une valeur p est

la probabilité d'observer une statistique de test

aussi extrême ou plus extrême

que celle de notre échantillon initial,

en supposant l'hypothèse nulle vraie.

Tests d'hypothèse en R

Calcul du score z

prop_child_samp <- stack_overflow %>%
  summarize(point_estimate = mean(age_first_code_cut == "child")) %>%
  pull(point_estimate)
0.388
prop_child_hyp <- 0.35
std_error <- 0.0096028
z_score <- (prop_child_samp - prop_child_hyp) / std_error
3.956
Tests d'hypothèse en R

Calcul de la valeur p

  • pnorm() est la FDR normale.
  • Test unilatéral gauche → utiliser la valeur par défaut lower.tail = TRUE.
  • Test unilatéral droit → définir lower.tail = FALSE.

 

p_value <- pnorm(z_score, lower.tail = FALSE)
3.818e-05
Tests d'hypothèse en R

Passons à la pratique !

Tests d'hypothèse en R

Preparing Video For Download...