Nous allons maintenant mettre en pratique les tests statistiques que nous avons précédemment identifiés pour nos données qualitatives. Nous allons utiliser, en particulier, le test de Fisher pour explorer l'association entre le genre et le type de voyage et le test du Chi-2 pour examiner la relation entre la saison et le type de voyage.
Pour exécuter le test de Fisher, il faut suivre les étapes suivantes.
Chargez les donnĂ©es de âDonnĂ©es clients VertiGo nettoyĂ©esâ qui liste le genre des clients et les types de voyages. Dans le cadre de cet exemple, vous devez isoler uniquement les genres âhommeâ et âfemmeâ et les types de voyage âaventureâ et âculturelâ pour remplir les conditions du test exact de Fisher.
CrĂ©ez le tableau de contingence.Â
Calculez le test de Fisher en incluant lâodds ratio.Â
Calculez la valeur p associée.
Voici le code à exécuter pour obtenir les résultats.
import pandas as pd
from scipy.stats import fisher_exact
# Charger les données
file_path = '/mnt/data/DonneÌes+clients+VertiGo+nettoyeÌes.csv'
data = pd.read_csv(file_path)
# Sélectionner les hommes et les femmes uniquement.
data = data[data['genre'] != "Autre"]
# Notre colonne contient des majuscules et des minuscules.
# Nous allons donc tout mettre en minuscule.
data["type de voyage"] = data["type de voyage"].str.lower()
# Créer le tableau de contingence
contingency_table_fm = pd.crosstab(data['genre'], data['type de voyage'])
# Exécuter le test exact de Fisher pour un tableau 2x2 (exemple : Aventure vs Culturel)
contingency_table_2x2_fm = contingency_table_fm[['aventure', 'culturel']]
odds_ratio, p_value = fisher_exact(contingency_table_2x2_fm)
print(f"Tableau de contingence 2x2:\n{contingency_table_2x2_fm}")
print(f"Odds Ratio: {odds_ratio}")
print(f"Valeur p: {p_value}")Nous obtenons les résultats suivants :
Tableau de contingence :Â
 | Aventure | Culturel |
Femme | 61 | 89 |
Homme | 60 | 97 |
Odds ratio : 1,119
p-valeur : 0,642
Comment interpréter ces résultats ?
L'odds ratio de 1,19 indique que les femmes ont pratiquement les mĂȘmes chances de prĂ©fĂ©rer les voyages d'aventure par rapport aux voyages culturels que les hommes. Cet odds ratio est trĂšs proche de 1, indiquant une quasi-Ă©galitĂ©. MĂȘme si mathĂ©matiquement, il semble y avoir une lĂ©gĂšre probabilitĂ© supĂ©rieure pour les femmes, la valeur p va nous renseigner sur la significativitĂ© de cette diffĂ©rence.
La valeur p de 0,642 est bien supérieure au seuil de 0,05, ce qui signifie que nous n'avons pas suffisamment de preuves pour rejeter l'hypothÚse nulle. Par conséquent, il n'y a pas d'association statistiquement significative entre le genre et le type de voyage préféré pour les catégories "Aventure" et "Culturel".
Voici une vidéo qui récapitule les étapes à suivre pour réaliser un test avec Fisher et visualiser les données avec une heat map.
 Pour exĂ©cuter le test de Chi-2, il faut suivre les mĂȘmes Ă©tapes que pour le test de Fisher.
Ă partir de âDonnĂ©es clients VertiGo nettoyĂ©esâ, concentrez-vous sur les saisons de voyage et les types de voyages choisis par les clients de lâagence VertiGo.
CrĂ©ez le tableau de contingence. Dans notre cas, nous lâavons dĂ©jĂ gĂ©nĂ©rĂ© dans le chapitre âIdentifiez les tests qualitatifs pertinentsâ. Le voici :Â
 | Aventure | Culturel | Détente |
Printemps | 31 | 52 | 37 |
ĂtĂ© | 82 | 132 | 64 |
Automne | 39 | 61 | 42 |
Hiver | 80 | 120 | 58 |
Calculez le test du Chi-2 en prenant en compte les frĂ©quences attendues et les degrĂ©s de libertĂ©.Â
Calculez la valeur p associée.
Voici le code à exécuter pour obtenir les résultats.
import pandas as pd
from scipy.stats import chi2_contingency
# Charger les données
file_path = '/mnt/data/DonneÌes+clients+VertiGo+nettoyeÌes.csv'
data = pd.read_csv(file_path)
# Créer le tableau de contingence
contingency_table = pd.crosstab(data['saison de voyage'], data['type de voyage'])
# Calculer le test du Chi-2
chi2_stat, p_value, dof, expected = chi2_contingency(contingency_table)
print(f"Statistique Chi-2: {chi2_stat}")
print(f"Valeur p: {p_value}")
print(f"Degrés de liberté: {dof}")
print("Fréquences attendues:")
print(expected)Nous obtenons les résultats suivants :
Statistique Chi-2 : 5,392
Valeur p : 0,494
Degré de liberté : 6
FrĂ©quences attendues :Â
 | Aventure | Culturel | Détente |
Printemps | 34,88 | 54,89 | 30,23 |
ĂtĂ© | 80,82 | 127,16 | 70,02 |
Automne | 41,28 | 64,95 | 35,77 |
Hiver | 75,00 | 118,00 | 64,98 |
Comment interpréter ces résultats ?
Eh bien pour ça, reprenons les choses dans lâordre.
Statistique Chi-2 : La statistique Chi-2 de 5,392 indique la somme des écarts au carré entre les fréquences observées et attendues.
Valeur p : La valeur p de 0,494 est supĂ©rieure au seuil de 0,05, indiquant que nous n'avons pas suffisamment de preuves pour rejeter l'hypothĂšse nulle H0â.Â
Nous pouvons conclure que, selon les données disponibles, la saison de voyage est indépendante du type de voyage préféré.
Voici une vidéo qui récapitule les étapes à suivre pour réaliser un test avec Chi-2 et visualiser les données avec une heat map.
Vous avez analysĂ© âDonnĂ©es clients VertiGo nettoyĂ©esâ dans la partie prĂ©cĂ©dente et vous avez normalement sĂ©lectionnĂ© le test de Chi-2 pour comparer les destinations des clients de VertiGo avec la saison. Il nây a plus quâĂ rĂ©aliser ce test !
Formulez les hypothĂšses H0 et H1.
SĂ©lectionnez les colonnes pertinentes.Â
CrĂ©ez le tableau de contingence.Â
Visualisez les données avec le graphique adapté.
Calculez le test du Chi-2 en prenant en compte les fréquences attendues et les degrés de liberté.
Calculez la valeur p associĂ©e.Â
Vous devez réaliser le test en Python.
Le test de Fisher examine lâassociation entre deux variables qualitatives lorsque les Ă©chantillons sont de petite taille. Â
Le test de Chi-2 est pertinent pour analyser les relations entre les variables qualitatives lorsque les échantillons sont suffisamment grands.
Un odds ratio proche de 1 indique une absence de différence significative entre les groupes comparés dans le test de Fisher.
Une valeur p supérieure à 0,05 dans les tests de Fisher et de Chi-2 indique que la corrélation n'est pas statistiquement significative.
Nous avons testĂ© dâun cĂŽtĂ© les donnĂ©es quantitatives et de lâautre les donnĂ©es qualitatives. Mais que se passe-t-il quand on veut comparer des variables de types diffĂ©rents ? Et bien voyons cela ensemble dans la prochaine partie de ce cours !