Je réserve ici
Mathématiques 2ⁿᵈᵉ

Ressources · 2ⁿᵈᵉ · Mathématiques

Croisement de deux variables qualitatives : tableaux croisés

Tableau croisé d’effectifs, fréquences marginales et conditionnelles, compléter un tableau à partir de pourcentages, comparer des sous-populations, filtres ET, OU, NON et traitement d’un fichier en Python ou au tableur.

À propos de cette page
Ce cours de maths de 2nde sur le croisement de deux variables qualitatives suit six parties : lire et compléter un tableau croisé d’effectifs, fréquences marginales et conditionnelles, dresser le tableau à partir de pourcentages, comparer des sous-populations, filtres ET, OU, NON, puis filtrer un fichier en Python ou au tableur. Le fil rouge est l’enquête d’un château sur l’âge des visiteurs et la location d’un audioguide.
1

Variables qualitatives et tableau croisé d’effectifs

Ce qu’il faut savoir

Variable qualitative. C’est un caractère dont les valeurs, appelées modalités, ne sont pas des nombres sur lesquels on calcule : moyen de transport, espèce, réponse « oui » ou « non »… Elle est nominale si ses modalités n’ont pas d’ordre (profession, département de résidence) et ordinale si elles se rangent naturellement (degré de satisfaction, niveau d’études).

Tableau croisé d’effectifs. On étudie deux variables qualitatives sur les mêmes N individus. Les modalités de l’une sont en lignes, celles de l’autre en colonnes. La case à l’intersection de la ligne A et de la colonne B contient l’effectif n(A∩B) des individus qui présentent à la fois A et B (on écrit aussi Card(A∩B)). Chaque individu est compté dans une seule case intérieure.

Effectifs marginaux. Ce sont les totaux des lignes et des colonnes, écrits dans la marge. Pour chaque variable, la somme des effectifs marginaux vaut N (case en bas à droite).

Compléter un tableau. Dans chaque ligne et dans chaque colonne, la somme des cases intérieures est égale au total de la marge. Dans un tableau à deux lignes et deux colonnes, il suffit de connaître N, un effectif marginal de chaque variable et une case intérieure pour retrouver tout le reste.

Exemples

Lire un tableau. Un samedi, un château a interrogé ses 400 visiteurs sur leur âge et sur la location d’un audioguide.

AudioguideSans audioguideTotal
Moins de 26 ans48112160
26 ans et plus132108240
Total180220400

48 visiteurs ont moins de 26 ans et ont pris un audioguide. Les effectifs marginaux de l’âge sont 160 et 240, ceux de l’audioguide 180 et 220 : 160+240=180+220=400=N.

Compléter par des raisonnements sur les effectifs. Supposons qu’on connaisse seulement N=400, 160 visiteurs de moins de 26 ans, 180 audioguides loués et 48 jeunes avec audioguide. Ligne des moins de 26 ans : 160−48=112 sans audioguide. Colonne « Audioguide » : 180−48=132 visiteurs de 26 ans et plus. Marge : 400−160=240 visiteurs de 26 ans et plus, dont 240−132=108 sans audioguide. Contrôle : 400−180=220 et 112+108=220.

Réflexe — Je trace le tableau avec une ligne et une colonne « Total », je place N et les données, puis je complète par différences dans chaque ligne et chaque colonne. Je termine toujours par le contrôle : total des lignes = total des colonnes = N.

Attention — Une case intérieure n’est pas un total : 48 compte les jeunes avec audioguide, alors que 160 compte tous les jeunes. Et l’on n’additionne jamais un total de ligne avec un total de colonne pour retrouver N.

1 / 6

2

Fréquences marginales et conditionnelles

Ce qu’il faut savoir

Fréquence marginale. f(A)=n(A)N : part de la modalité A dans toute la population.

Fréquence de « A et B ». f(A∩B)=n(A∩B)N : part, dans toute la population, des individus qui présentent à la fois A et B.

Fréquence conditionnelle. Si n(A)≠0, la fréquence de B parmi les individus qui présentent A est fA(B)=n(A∩B)n(A). La population de référence n’est plus N, mais la sous-population A. Les mots « parmi », « chez les », « sur l’ensemble des » la signalent.

L’ordre compte. fA(B) et fB(A) ont le même numérateur n(A∩B) mais pas le même dénominateur : en général, elles sont différentes.

Tableau des fréquences conditionnelles par ligne (le « profil » de chaque ligne) : on divise chaque case par le total de sa ligne. Chaque ligne totalise alors 100% ; les colonnes n’ont pas de total à interpréter.

Propriété. Si n(A)≠0 : f(A∩B)=f(A)×fA(B). En effet, n(A)N×n(A∩B)n(A)=n(A∩B)N, car n(A) se simplifie (c’est un pourcentage de pourcentage).

Une fréquence est un nombre entre 0 et 1, souvent écrit en pourcentage.

Exemples

On reprend le tableau du château (N=400).

Fréquences marginales. f(moins de 26 ans)=160400=0,4 : 40% des visiteurs ont moins de 26 ans. f(audioguide)=180400=0,45, soit 45%.

Fréquence de « jeune et audioguide ». 48400=0,12 : 12% des visiteurs ont moins de 26 ans et ont pris un audioguide.

Fréquences conditionnelles. Parmi les moins de 26 ans : 48160=0,3, soit 30% prennent un audioguide. Parmi les 26 ans et plus : 132240=0,55, soit 55%. Dans l’autre sens, parmi les audioguides loués, la part des moins de 26 ans est 48180≈0,267, soit environ 26,7%.

Profils par ligne.

AudioguideSans audioguideTotal
Moins de 26 ans30%70%100%
26 ans et plus55%45%100%

Vérifier la propriété. f(jeune)×fjeune(audioguide) =0,4×0,3=0,12 : on retrouve la fréquence de « jeune et audioguide ».

Réflexe — Avant de diviser, je me demande « part de qui, parmi qui ? ». Le groupe qui suit « parmi » donne le dénominateur (un effectif marginal) ; la case « et » donne le numérateur. Sans « parmi », le dénominateur est N.

Attention — « 30% des jeunes prennent un audioguide » ne veut pas dire « 30% des audioguides sont pris par des jeunes » (c’est environ 26,7%). Et 48400 n’est pas la part des jeunes qui prennent un audioguide : c’est une part de tous les visiteurs.

2 / 6

3

Compléter un tableau à partir de pourcentages

Ce qu’il faut savoir

Un énoncé donne souvent des pourcentages au lieu des effectifs. Pour dresser le tableau :

1. Je place N et je repère, pour chaque pourcentage, la population sur laquelle il porte.
2. Je le transforme en effectif : n(A)=f(A)×N, et n(A∩B)=fA(B)×n(A) quand le pourcentage porte sur la sous-population A.
3. Je complète par différences, puis je contrôle les totaux.

Si un effectif manque, je le note x et j’écris une équation qui traduit l’énoncé.

Exemples

Dresser le tableau. Un magasin de bricolage a étudié 800 clients : 35% ont la carte de fidélité. 60% des titulaires de la carte ont acheté un article en promotion, contre 25% des autres clients.

Carte : 0,35×800=280 clients ; sans carte : 800−280=520. Les 60% portent sur les 280 titulaires : 0,6×280=168. Les 25% portent sur les 520 autres : 0,25×520=130. On complète : 280−168=112, 520−130=390, puis les totaux 168+130=298 et 112+390=502. Contrôle : 298+502=800.

PromotionSans promotionTotal
Avec la carte168112280
Sans la carte130390520
Total298502800

Exploiter le tableau. Parmi les clients qui ont acheté en promotion, la part des titulaires de la carte est 168298≈0,564, soit environ 56,4%.

Avec une inconnue. Si l’on savait seulement que 298 clients sur 800 ont acheté en promotion, avec les mêmes 60% et 25%, on noterait x le nombre de titulaires de la carte : 0,6x+0,25(800−x)=298, soit 0,35x+200=298, donc x=980,35=280.

Réflexe — Pour chaque pourcentage, je pose la question « pourcentage de quoi ? », et je le multiplie par l’effectif de cette population, pas par N d’office.

Attention — « 60% des titulaires » ne donne pas 0,6×800. Et 60%+25%=85% n’a aucun sens : les deux pourcentages ne portent pas sur la même population.

3 / 6

4

Comparer des sous-populations

Ce qu’il faut savoir

Comparer des groupes de tailles différentes. On ne compare pas les effectifs, qui dépendent de la taille des groupes : on compare les fréquences conditionnelles du caractère étudié dans chaque groupe.

Fréquence globale. La fréquence d’un caractère dans toute la population n’est pas la moyenne simple des fréquences de chaque groupe : on additionne les effectifs avant de diviser par N. C’est une moyenne pondérée par la taille des groupes ; elle est comprise entre la plus petite et la plus grande des fréquences des groupes ; avec deux groupes, elle est plus proche de celle du groupe le plus nombreux.

Conclure avec prudence. La conclusion ne vaut que pour la population étudiée. Un écart entre deux fréquences décrit un lien entre les variables ; il ne prouve pas qu’une variable est la cause de l’autre.

Exemples

Une entreprise a demandé à 400 clients de deux agences leur degré de satisfaction (variable ordinale).

SatisfaitNeutreInsatisfaitTotal
Agence Nord1705030250
Agence Sud1142115150
Total2847145400

Les effectifs trompent. L’agence Nord a plus de clients satisfaits (170 contre 114), mais elle a aussi plus de clients. Parmi les clients du Nord : 170250=0,68, soit 68% de satisfaits ; parmi ceux du Sud : 114150=0,76, soit 76%. Proportionnellement, les clients du Sud sont plus souvent satisfaits.

Fréquence globale. f(satisfait)=284400=0,71, soit 71%, et non 68+762=72%. On peut l’écrire avec les parts des deux agences : 250400×0,68=0,425 et 150400×0,76=0,285, puis 0,425+0,285=0,71. Le Nord, plus nombreux, pèse davantage.

Réflexe — Pour comparer, je calcule la fréquence conditionnelle dans chaque groupe, puis je conclus par une phrase du type « proportionnellement, … », sans sortir de la population étudiée.

Attention — « 170>114 » ne permet pas de dire que le Nord satisfait mieux ses clients. Et la fréquence globale ne se calcule pas en faisant la moyenne de 68% et 76%.

4 / 6

5

Filtres ET, OU, NON

Ce qu’il faut savoir

Filtrer, c’est sélectionner les individus qui vérifient une condition.

• A ET B (A∩B) : les deux conditions à la fois ; c’est une case du tableau.
• A OU B (A∪B) : au moins une des deux conditions. Le OU est inclusif : ceux qui vérifient les deux sont sélectionnés.
• NON A (A―) : ceux qui ne vérifient pas A.

Propriétés.

• n(A∪B)=n(A)+n(B)−n(A∩B) et f(A∪B)=f(A)+f(B)−f(A∩B). Justification : dans n(A)+n(B), les individus de A∩B sont comptés deux fois ; on les retire une fois.
• n(A―)=N−n(A) et f(A―)=1−f(A).
• NON (A ET B) sélectionne les mêmes individus que (NON A) OU (NON B) ; NON (A OU B) sélectionne les mêmes que (NON A) ET (NON B) : ce sont ceux qui ne sont « ni A ni B ».

Exemples

Tableau du château : J = « avoir moins de 26 ans », G = « avoir pris un audioguide ».

OU. n(J∪G)=160+180−48=292. Contrôle par les cases, chacune une seule fois : 48+112+132=292. Fréquence : 292400=0,73.

NON. n(G―)=400−180=220 ; f(G―)=1−0,45=0,55.

NON (ET). NON (J ET G) : 400−48=352 visiteurs. Avec (NON J) OU (NON G) : 240+220−108=352. Même résultat.

Ni l’un ni l’autre. Les visiteurs de 26 ans et plus sans audioguide forment NON (J OU G) : 400−292=108, c’est bien la case lue dans le tableau.

Réflexe — Je traduis la phrase en filtre (« et », « ou », « ne… pas », « ni… ni »). Pour un OU, j’additionne les deux effectifs marginaux et je retire la case ET, ou bien j’additionne les cases concernées, chacune une seule fois. Pour un NON, je retranche de N.

Attention — 160+180=340 compte deux fois les 48 jeunes avec audioguide. Et la négation de « J ET G » n’est pas « NON J ET NON G » (108 visiteurs seulement).

5 / 6

6

Du fichier des individus au tableau : Python et tableur

Ce qu’il faut savoir

Fichier des individus. Une base de données décrit chaque individu sur une ligne. En Python, on range les deux caractères dans deux listes de même longueur : l’élément de rang i de chaque liste concerne le même individu.

Filtrer en Python. On parcourt les rangs avec for i in range(len(L1)) et on teste une condition écrite avec and (ET), or (OU), not (NON). Un compteur augmente de 1 à chaque individu sélectionné.

Dresser le tableau croisé. On appelle la fonction de comptage pour chaque couple de modalités ; une fréquence conditionnelle s’obtient en divisant l’effectif « ET » par l’effectif de la sous-population.

Dans un tableur. NB.SI(plage ; critère) compte les lignes qui vérifient une condition ; NB.SI.ENS(plage1 ; critère1 ; plage2 ; critère2) compte celles qui vérifient les deux (filtre ET).

Exemples

Huit élèves ont donné leur mode de transport et s’ils pratiquent un sport (« O » oui, « N » non) :

mode = ["bus", "vélo", "bus", "marche",
        "bus", "vélo", "marche", "bus"]
sport = ["O", "N", "N", "O",
         "O", "O", "N", "O"]

def effectif(L1, L2, m1, m2):
    n = 0
    for i in range(len(L1)):
        if L1[i] == m1 and L2[i] == m2:
            n = n + 1
    return n

Appel. effectif(mode, sport, "bus", "O") sélectionne les rangs 0, 4 et 7 (le rang 2 prend le bus mais ne fait pas de sport) : la fonction renvoie 3.

Tableau croisé obtenu en appelant la fonction pour chaque couple :

SportPas de sportTotal
Bus314
Vélo112
Marche112
Total538

Changer de filtre. Avec or à la place de and, la fonction compte « bus OU sport » : 4+5−3=6 élèves. Avec la condition not (L1[i] == m1), elle compte les élèves qui ne prennent pas le bus : 8−4=4.

Fréquence conditionnelle. Parmi les élèves qui prennent le bus, la part des sportifs est 34=0,75.

Réflexe — Je lis une condition Python comme une phrase : and = « et », or = « ou », not = « ne… pas ». Pour vérifier un programme, je déroule la boucle rang par rang et je contrôle le résultat avec le tableau ou la formule du OU.

Attention — Les rangs commencent à 0 en Python. Et pour une fréquence conditionnelle, on divise par l’effectif de la sous-population (ici 4 élèves qui prennent le bus), pas par la longueur de la liste.

6 / 6

+

Pour aller plus loin

Probabilités conditionnelles. Si l’on tire au sort un individu de la population (chaque individu ayant la même chance), la fréquence fA(B) devient la probabilité conditionnelle PA(B). Ce passage, les arbres pondérés et les pièges du type « faux positifs » sont traités dans le chapitre Probabilités.

Pourcentage de pourcentage. La propriété f(A∩B)=f(A)×fA(B) prolonge les proportions emboîtées du chapitre Information chiffrée.

Et, ou, négation. Le sens logique des connecteurs et la négation de « P et Q » sont étudiés dans le chapitre Logique et raisonnements ; les symboles ∩, ∪ et le complémentaire dans Ensembles de nombres et intervalles.

Programmer. Boucles for, instructions conditionnelles et fonctions Python : chapitre Algorithmique et programmation.

À retenir
  • Tableau croisé : une case = l’effectif de « A et B » ; les totaux en marge sont les effectifs marginaux ; on complète par différences et on contrôle que tout donne N.
  • f(A)=n(A)N (marginale) ; fA(B)=n(A∩B)n(A) (conditionnelle, « parmi les A ») ; en général fA(B)≠fB(A).
  • f(A∩B)=f(A)×fA(B) ; un pourcentage se multiplie par l’effectif de la population sur laquelle il porte.
  • Pour comparer des groupes de tailles différentes, on compare des fréquences conditionnelles, jamais des effectifs ; la fréquence globale n’est pas la moyenne simple.
  • n(A∪B)=n(A)+n(B)−n(A∩B) ; n(A―)=N−n(A) ; NON (A ET B) = NON A OU NON B.
  • En Python, and, or, not traduisent ET, OU, NON ; au tableur, NB.SI.ENS compte un filtre ET.

Questions fréquentes

Comment compléter un tableau croisé d’effectifs ?

On place l’effectif total N dans la case en bas à droite, puis on complète par différences : dans chaque ligne et dans chaque colonne, la somme des cases intérieures est égale au total de la marge. On termine en vérifiant que le total des lignes et celui des colonnes valent tous les deux N.

Quelle est la différence entre fréquence marginale et fréquence conditionnelle ?

La fréquence marginale f(A) = n(A) ÷ N est une part de toute la population. La fréquence conditionnelle f_A(B) = n(A ∩ B) ÷ n(A) est une part calculée parmi les seuls individus qui présentent A : on divise par l’effectif de cette sous-population, signalée par le mot « parmi ».

Comment construire un tableau croisé à partir de pourcentages ?

Pour chaque pourcentage, on cherche la population sur laquelle il porte. « 35 % des clients » se multiplie par N ; « 60 % des titulaires de la carte » se multiplie par le nombre de titulaires. On complète ensuite par différences et on contrôle les totaux.

Pourquoi comparer des fréquences et non des effectifs ?

Deux groupes de tailles différentes n’ont pas les mêmes effectifs, même si leurs comportements sont identiques. Seules les fréquences conditionnelles, calculées dans chaque groupe, permettent de comparer. La fréquence globale, elle, n’est pas la moyenne simple des fréquences des groupes.

Comment calculer l’effectif d’un filtre OU ?

On applique n(A ∪ B) = n(A) + n(B) − n(A ∩ B) : les individus qui vérifient les deux conditions sont comptés deux fois dans la somme, on les retire une fois. Pour un filtre NON, on retranche de l’effectif total : n(non A) = N − n(A).

Bloqué sur ce chapitre ?

Moi c'est Ben, j'ai créé ce site pour aider le plus d'élèves possible, partout en France. Je peux aussi reprendre avec toi ce qui coince en cours particulier : en visio, ou à domicile si tu es à Marseille.

Prof de maths à Marseille · Cours particuliers au lycée · Aide aux devoirs