TATECHATLAS
◎ Français
Mathématiques et modèles

Combiner les moyennes de groupes avec leurs vrais dénominateurs

Découvrez pourquoi des groupes de tailles différentes donnent une moyenne combinée de 18 plutôt que 15, avec un exemple Python court.

Dans ce guide

Pour combiner des moyennes arithmétiques d'observations compatibles, pondérez chaque moyenne de groupe par le nombre d'observations réellement utilisées dans cette moyenne. Un groupe de deux avec une moyenne de 10 et un groupe de huit avec une moyenne de 20 donnent (2*10 + 8*20)/10 = 18. Leur moyenne non pondérée des moyennes est 15 et répond à une question différente. Conservez les dénominateurs avec chaque moyenne rapportée, surtout lorsque les valeurs manquantes sont exclues.

Identifier la grandeur en cours de moyennisation

Avant de combiner des résumés, confirmez qu'ils décrivent la même grandeur dans les mêmes unités et selon des règles d'inclusion compatibles. Un temps de réponse mesuré en secondes ne peut pas être combiné directement avec un autre rapporté en millisecondes sans conversion. Distinguez également une moyenne par observation d'une moyenne par groupe. Les deux peuvent être pertinentes, mais elles accordent une importance différente à un petit groupe et à un grand groupe.

Conserver le dénominateur utilisé par chaque moyenne

Pour une moyenne arithmétique, multiplier la moyenne par son effectif d'observations reconstruit le total du groupe, sous réserve d'arrondi. Additionner ces totaux et diviser par la somme des effectifs donne la moyenne combinée pour des groupes disjoints et compatibles. L'effectif doit se référer aux observations qui ont contribué à la moyenne. Une taille nominale de département est le mauvais dénominateur si seuls certains membres ont fourni la valeur mesurée.

Calculer l'exemple à effectifs inégaux

Construisez le groupe A avec un effectif de 2 et une moyenne de 10, donc son total est 20. Le groupe B a un effectif de 8 et une moyenne de 20, donnant un total de 160. Le total combiné est 180 sur 10 observations, d'où une moyenne de 18. Moyenner 10 et 20 directement donne 15 car cela attribue un poids égal aux deux groupes. Ces résumés hypothétiques montrent la distinction sans affirmer un jeu de données observé ou un benchmark.

Utiliser un calcul Python court

Python 3.11 et versions ultérieures prennent en charge les poids dans statistics.fmean. L'exemple fournit des moyennes et leurs effectifs correspondants, produisant une valeur attendue de 18.0. Le code ne récupère pas un jeu de données ni ne valide si les effectifs ont été collectés correctement. Considérez ceci comme un calcul d'entrées fournies. Si vous avez besoin d'un comptage décimal exact, examinez la représentation numérique séparément plutôt que de supposer que la sortie en virgule flottante est exacte pour toutes les valeurs.

from statistics import fmean

group_means = [10, 20]
observed_counts = [2, 8]
combined_mean = fmean(group_means, weights=observed_counts)
print(combined_mean)

Combiner les pourcentages via des effectifs compatibles

Supposons qu'un groupe ait 1 succès sur 2 essais et un autre 4 sur 8. La proportion de succès combinée est 5/10, soit 50 pour cent. En général, conservez les effectifs de succès et les effectifs d'essais au lieu de moyenner des pourcentages affichés sans leurs dénominateurs. Des définitions différentes d'un essai ou des groupes qui se chevauchent invalident une interprétation regroupée simple. Les effectifs évitent également certaines pertes d'information causées par des pourcentages arrondis pour la présentation.

Gérer les observations manquantes de manière cohérente

Une moyenne calculée après exclusion des valeurs manquantes doit être associée au nombre d'observations non manquantes pour cette même variable et cette même règle d'inclusion. Différentes colonnes peuvent avoir des effectifs valides différents même au sein d'un même groupe. La moyenne de pandas peut ignorer les valeurs manquantes, donc un effectif brut de lignes n'est pas automatiquement le poids approprié. Si l'absence de données est systématique, un calcul arithmétique correct n'élimine pas le problème de représentativité qui en résulte.

Diagnostiquer une pondération égale accidentelle

Lorsqu'un nombre combiné semble surprenant, notez chaque moyenne, effectif et total reconstruit avant de modifier la formule. Vérifiez si la question visée donne une importance égale aux groupes ou aux observations individuelles. Une pondération égale des moyennes de groupes est appropriée pour une question explicitement au niveau des groupes et peut coïncider avec un regroupement lorsque les effectifs de groupes sont égaux. Elle ne devrait pas être présentée silencieusement comme la moyenne globale au niveau des observations lorsque les effectifs diffèrent.

Reconnaître les limites du regroupement de résumés

Une moyenne arithmétique pondérée de médianes ne reconstruit pas une médiane regroupée. Des taux tels que la vitesse peuvent nécessiter une formule différente selon l'exposition qui est maintenue constante. Des groupes qui se chevauchent peuvent compter la même observation plus d'une fois. Des moyennes arrondies introduisent une erreur de reconstruction, et un poids total nul ne laisse aucune moyenne regroupée définie. Conservez les totaux bruts et les effectifs lorsque cela est possible, et indiquez les informations que les résumés ne contiennent pas.

Points à vérifier

  • Vérifier les unités et les règles d'inclusion.
  • Conserver le nombre effectif de valeurs non manquantes avec chaque moyenne.
  • Distinguer les questions au niveau des observations et au niveau des groupes.
  • Privilégier les numérateurs et dénominateurs bruts pour les pourcentages.
  • Ne pas combiner les médianes avec la formule de la moyenne.

Le regroupement suppose des moyennes arithmétiques compatibles avec des effectifs correspondants et sans double comptage involontaire. Il ne corrige pas le biais lié aux données manquantes, ne restitue pas une médiane regroupée et n'établit pas la formule correcte pour chaque taux. L'exemple de pondération Python nécessite Python 3.11 ou supérieur.

Sources

  1. Python: statistics and weighted fmean ↗
  2. pandas: DataFrame mean and missing values ↗
Retour en haut ↑