Test t à deux échantillons

Analyser des données de sondage avec Python

EbunOluwa Andrew

Data Scientist

Comparer l'agréabilité

personnes qui se serrent la main

group_a.agreeableness.mean()
4.011701199563795
group_b.agreeableness.mean()
4.03669574700109
Analyser des données de sondage avec Python

Définir le test t à deux échantillons

  • Vérifie si les moyennes de deux groupes indépendants diffèrent significativement
  • Évalue si les écarts sont dus au hasard

Paires de bouteilles étiquetées A et B

Analyser des données de sondage avec Python

Hypothèses d'un test t à deux échantillons

  • Indépendance
  • Distribution normale
    • Test de Shapiro–Wilk
    • stats.shapiro()
    • p-value > 0.05 -> distribution normale
  • Variances égales
    • Test de Levene
    • stats.levene()
    • p-value > 0.05 -> variances égales

Chiffres en blocs de bois

Analyser des données de sondage avec Python

Résultats du sondage

group_a

| userid | agreeableness |
|--------|---------------|
|    895 |          4.78 |
|    a06 |          3.40 |
|    e94 |          3.66 |
|    ee6 |          5.41 |
|    521 |          4.58 |
|    f4c |          3.24 |
...

1 = Peu agréable

group_b

| userid | agreeableness |
|--------|---------------|
|    b7e | 4.43          |
|    030 | 2.92          |
|    f91 | 4.01          |
|    36f | 2.20          |
|    875 | 3.83          |
|    750 | 4.95          |
...

7 = Très agréable

Analyser des données de sondage avec Python

Groupes indépendants

deux groupes

Analyser des données de sondage avec Python

Groupes à distribution normale

from scipy.stats import shapiro
import scipy.stats as stats

norm_A = stats.shapiro(
  group_a.agreeableness)

ShapiroResult(
statistic=0.997467577457428,
pvalue=0.16834689676761627)
from scipy.stats import shapiro
import scipy.stats as stats

norm_B = stats.shapiro(
  group_b.agreeableness)

ShapiroResult(
statistic=0.9987381100654602,
pvalue=0.7757995128631592)
Analyser des données de sondage avec Python

Variances égales

import scipy.stats as stats

var_test = stats.levene(group_a.agreeableness, group_b.agreeableness)
LeveneResult(statistic=0.40492634057696597, pvalue=0.5246354858484796)
Analyser des données de sondage avec Python

Hypothèses vérifiées

  • Groupes indépendants
    • aucun chevauchement d'individus
  • Groupes à distribution normale
  • Variances égales
    • pas d'écart significatif entre les deux variances

Apple Pencil — Photo par Dose Media sur Unsplash

Analyser des données de sondage avec Python

Test t à deux échantillons avec statsmodels

from scipy import stats

stats.ttest_ind(group_a.agreeableness, group_b.agreeableness)
Analyser des données de sondage avec Python

Test t à deux échantillons avec statsmodels

Ttest_indResult(statistic=0.7746406648066304, pvalue=0.4386519848366188)
Analyser des données de sondage avec Python

Analyse complémentaire

group_a_mean = 4.011701199563795
group_b_mean = 4.03669574700109

Le logement en Californie

Analyser des données de sondage avec Python

Passons à la pratique !

Analyser des données de sondage avec Python

Preparing Video For Download...