prof404
← Retour aux ressources du module
Sommaire (4 sections) · 6 min
Ce que tu travailles iciAnalyser et synthétiserPourquoi ces compétences ?
  • BC02Analyser et synthétiser. Faire parler la donnée : calculer ce qui décrit vraiment une population, repérer une tendance, et dire ce qu'elle veut dire pour l'entreprise.

Ce sont les compétences du titre RNCP 38616, celles sur lesquelles le jury évalue.

Lire la p-valeur d'un test de moyennes

Deux échantillonsUn sous-ensemble d'observations choisi pour étudier un ensemble plus vaste., c'est-à-dire deux sous-ensembles d'observations, ont des moyennes différentes. Cet écart suffit-il pour écarter l'égalité des moyennes dans les populations statistiques, les ensembles sur lesquels on voudrait tirer une conclusion ?

Cette fiche travaille une seule méthode du bloc BC02 : le test t de WelchUne méthode qui compare la moyenne de deux groupes en tenant compte de leur effectif et de leur dispersion, sans supposer que les deux dispersions sont égales.. Il compare les moyennes de deux groupes à partir de leur effectif, de leur moyenne et de leur dispersion, sans supposer que les deux dispersions sont égales.

Ce qui te bloque Ce que tu travailles ici
Écrire la règle avant le calcul Section 1
Calculer et lire la p-valeurLa probabilité d'obtenir un résultat au moins aussi éloigné de l'hypothèse nulle que celui observé, si cette hypothèse et les conditions du test sont respectées. Sections 2 et 3
Refaire le test sur deux autres groupes Section 4

Si tu lis depuis plus de vingt minutes sans avoir écrit les hypothèsesUne attente formulée avant le calcul, avec les données et la comparaison qui permettront de l’examiner. Un écart observé décrit ces données ; il ne démontre pas à lui seul une cause ni une règle valable ailleurs. ou exécuté le code, ferme la fiche et reprends l'essai de la section 2.

1. Écrire la règle avant le calcul

On compare le prix moyen par produit entre deux catégories Olist : papelaria, la papeterie, et utilidades_domesticas, les articles ménagers. Un produit vendu plusieurs fois compte une fois, avec la moyenne de ses prix de vente. Quarante produits sont tirés dans chaque catégorie.

Écris ces trois lignes avant d'ouvrir le résultat :

  1. Hypothèse nulleL'affirmation prise comme point de départ d'un test, par exemple l'absence de différence entre deux moyennes ; le calcul évalue si les données permettent de la rejeter. : les deux moyennes de prix sont égales dans les populations dont viennent les échantillons.
  2. Hypothèse examinée : les deux moyennes diffèrent.
  3. Seuil de décision : 0,05. Si la p-valeur est inférieure à ce seuil, on rejette l'hypothèse nulle. Sinon, les données ne permettent pas de la rejeter.

Une p-valeur mesure à quel point le résultat serait inhabituel si l'hypothèse nulle et les conditions du test étaient respectées. Elle n'est pas la probabilité que l'hypothèse nulle soit vraie.

Avant de calculer, prédis laquelle de ces trois p-valeurs ferait rejeter l'hypothèse nulle avec la règle écrite : 0,40, 0,08 ou 0,01.

Le seuil a été fixé à 0,05 avant le calcul. La p-valeur vaut 0,08. Quelle décision suit la règle ?

2. Calculer sur deux échantillons Olist

La requête construit un prix moyen par produit, disperse les identifiants dans un ordre reproductible, puis garde 40 produits de chaque catégorie. Ce tirage stable sert à refaire le même exercice ; il ne remplace pas le plan d'échantillonnage d'une enquête réelle.

SQL
WITH par_produit AS (
    SELECT p.product_id,
           p.product_category_name AS categorie,
           AVG(i.price)::double precision AS prix_moyen
    FROM products p
    JOIN order_items i USING (product_id)
    WHERE p.product_category_name IN (
        'brinquedos', 'papelaria', 'telefonia', 'utilidades_domesticas'
    )
    GROUP BY p.product_id, p.product_category_name
),
tirage AS (
    SELECT *,
           ROW_NUMBER() OVER (
               PARTITION BY categorie ORDER BY md5(product_id)
           ) AS rang
    FROM par_produit
)
SELECT categorie,
       COUNT(*) AS effectif,
       ROUND(AVG(prix_moyen)::numeric, 6) AS moyenne,
       ROUND(STDDEV_SAMP(prix_moyen)::numeric, 6) AS ecart_type,
       ROUND(MIN(prix_moyen)::numeric, 2) AS minimum,
       ROUND(PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY prix_moyen)::numeric, 2) AS mediane,
       ROUND(MAX(prix_moyen)::numeric, 2) AS maximum
FROM tirage
WHERE rang <= 40
GROUP BY categorie
ORDER BY categorie;

Vérifie d'abord l'effectif : chaque ligne doit compter 40 produits. Regarde aussi la médianeLa valeur qui coupe la population en deux parts égales : la moitié des lignes sont en dessous, l'autre moitié au-dessus. Contrairement à la moyenne, une valeur extrême ne la déplace presque pas. et le maximum. Pour la papeterie, la moyenne vaut 120,74 BRL, la médiane 91,82 BRL et le maximum 699,00 BRL. Pour les articles ménagers, ces trois valeurs valent 77,14 BRL, 54,53 BRL et 395,90 BRL. Ces écarts signalent des distributionsLa façon dont les valeurs d'une colonne se répartissent : combien sont petites, combien sont grandes, et où elles s'entassent. La moyenne et la médiane sont deux résumés d'une distribution, elles ne la décrivent pas. asymétriques et des prix éloignés du centre. Le test de Welch accepte des dispersions différentes, mais il ne corrige pas automatiquement ce problème de forme. Il faut donc examiner les distributions avant de défendre un verdict sur les populations.

Dans Colab, copie ensuite ce code avec les valeurs des lignes papelaria et utilidades_domesticas :

import scipy
from scipy.stats import ttest_ind_from_stats

print(f"SciPy : {scipy.__version__}")

moyenne1, ecart_type1, effectif1 = 120.743000, 120.179334, 40
moyenne2, ecart_type2, effectif2 = 77.139400, 84.127658, 40

resultat = ttest_ind_from_stats(
    mean1=moyenne1, std1=ecart_type1, nobs1=effectif1,
    mean2=moyenne2, std2=ecart_type2, nobs2=effectif2,
    equal_var=False,
)

print(f"écart observé : {moyenne1 - moyenne2:.2f} BRL")
print(f"p-valeur : {resultat.pvalue:.6f}")

Le code affiche un écart de 43,60 BRL et une p-valeur de 0,064300. Le test utilise l'écart observé, les deux effectifs et les deux écarts-types : une différence de moyennes ne se lit pas sans la dispersion autour d'elles.

3. Limiter la conclusion

La p-valeur, 0,064300, dépasse le seuil de 0,05 fixé avant le test. Écris :

Sur ces deux échantillons de 40 produits, le test t de Welch ne permet pas de rejeter l'hypothèse d'égalité des moyennes des populations au seuil de 5 %. L'écart observé entre papeterie et articles ménagers est de 43,60 BRL.

« Ne pas rejeter » ne veut pas dire « prouver l'égalité ». Le résultat indique que l'écart reste trop incertain pour rejeter l'hypothèse nulle avec cette règle et ces données.

Le test suppose aussi que les produits représentent les populations visées, que les observations indépendantes ne sont ni des copies ni des conséquences directes les unes des autres, et que la forme des distributions ne rend pas l'approximation trompeuse. Le tri reproductible par identifiant n'établit pas ces conditions. Ici, les médianes et maxima imposent justement de regarder les distributions avant tout verdict sur les populations. La conclusion reste limitée à la lecture du calcul dans cet exercice Olist et n'attribue aucune cause à la catégorie.

La fiche Tester une hypothèse avec des données reprend l'écriture de l'attente et du périmètre sans test statistique.

Si l'import SciPy échoue dans Colab

Conserve le message d'erreur et demande la version d'environnement prévue au formateur. N'installe pas une version choisie au hasard : le calcul doit pouvoir être refait dans le même environnement. Après correction de l'environnement, relance l'import et conserve la version affichée avec ton résultat.

Le test ne rejette pas l'égalité des moyennes. Quelle phrase respecte ce résultat ?

4. Transférer sur deux autres catégories

Avant le calcul, réécris les deux hypothèses pour brinquedos, les jouets, et telefonia, la téléphonie. Garde le seuil de 0,05. Dans le code Python, remplace les six valeurs des deux lignes d’affectation par celles des catégories correspondantes de la requête, puis exécute.

Rends les deux effectifs, l'écart, la p-valeur et la décision produite par la règle. Ajoute une limite sur l'échantillonnage ou l'indépendance des produits.

Vérifier le transfert après avoir écrit ta conclusion

Les deux effectifs valent 40. L'écart jouets moins téléphonie vaut 128,60 BRL. La p-valeur vaut 0,000016, elle est inférieure à 0,05 : si les conditions annoncées sont défendues, ces échantillons apportent assez d'éléments pour rejeter l'hypothèse d'égalité des moyennes des populations au seuil fixé. Examine toutefois les médianes et maxima avant de défendre cette inférence. Le calcul ne prouve pas que la catégorie cause le prix.