← Retour au sommaire

Chapitre 11 – Croisement de deux variables

Chapitre 11 | Seconde générale et technologique | Mathématiques

Dernière mise à jour : 21 octobre 2026

Objectifs du chapitre

Rappel — variable qualitative

Une variable est qualitative lorsque ses valeurs sont des catégories (des mots, pas des nombres à additionner). On distingue :

Ce chapitre est un premier contact avec les bases de données : chaque individu est une ligne, chaque variable une colonne. Prérequis : effectifs et fréquences \(f = \dfrac{n}{N}\), passage fréquence ↔ pourcentage \(p = 100\,f\).

I. Croiser deux variables qualitatives

1. Le tableau croisé d'effectifs

On étudie deux variables qualitatives sur une même population de \(N\) individus. Par exemple, sur des personnes accidentées de la route : la variable « type d'usager » (piéton / cycliste / automobiliste) et la variable « gravité » (indemne / blessé / tué). Croiser ces deux variables, c'est compter combien d'individus tombent dans chaque combinaison de catégories.

Définition — Tableau croisé d'effectifs

Un tableau croisé (ou tableau de contingence) présente en lignes les catégories d'une première variable, en colonnes les catégories d'une seconde variable. À l'intersection d'une ligne et d'une colonne se trouve l'effectif des individus qui possèdent à la fois la catégorie de la ligne et celle de la colonne.

Exemple

On interroge \(200\) personnes sur leur moyen de transport principal (voiture / transports en commun) et sur le fait qu'elles habitent en ville ou à la campagne.

VoitureTransports en communTotal
Ville\(40\)\(80\)\(120\)
Campagne\(70\)\(10\)\(80\)
Total\(110\)\(90\)\(200\)

La case (Ville ; Voiture) \(= 40\) signifie : \(40\) personnes habitent en ville et utilisent la voiture.

Exercice d'application 1. Avec le tableau ci-dessus, combien de personnes habitent à la campagne et utilisent les transports en commun ? Combien de personnes au total ont été interrogées ?

Case (Campagne ; Transports en commun) \(= 10\) personnes. Total : \(N = 200\) personnes (case en bas à droite).

2. Effectifs et fréquences marginales

Les cases situées en marge du tableau (dernière ligne et dernière colonne, les « Total ») ignorent la seconde variable : elles décrivent chaque variable séparément.

Définition — Effectifs marginaux

Les effectifs marginaux sont les totaux des lignes et des colonnes du tableau croisé. La case en bas à droite est l'effectif total \(N\).

Définition — Fréquence marginale

La fréquence marginale d'une catégorie est le quotient de son effectif marginal par l'effectif total :

\[f_{\text{marginale}} = \frac{\text{effectif marginal de la catégorie}}{N}.\]
Exemple (suite)

Effectifs marginaux : \(120\) citadins, \(80\) ruraux ; \(110\) utilisateurs de la voiture, \(90\) des transports en commun ; total \(N = 200\).

Sens. Une fréquence marginale répond à une question sur une seule variable : « quelle part de la population habite en ville ? » — sans tenir compte du moyen de transport.
Exercice d'application 2. Toujours avec le tableau (Ville/Campagne × Voiture/TC), calculer la fréquence marginale des ruraux, puis celle des utilisateurs des transports en commun.

Ruraux : \(\dfrac{80}{200} = 0{,}40 = 40\%\). Utilisateurs des transports en commun : \(\dfrac{90}{200} = 0{,}45 = 45\%\).

II. Fréquences conditionnelles

1. Définition

Une fréquence conditionnelle restreint l'étude à une sous-population : on ne s'intéresse qu'aux individus vérifiant une certaine condition, et on calcule une proportion à l'intérieur de ce groupe.

Définition — Fréquence conditionnelle

La fréquence de \(A\) sachant \(B\) est la proportion d'individus possédant la catégorie \(A\) parmi ceux qui possèdent la catégorie \(B\) :

\[\boxed{f(A \text{ sachant } B) = \frac{\text{effectif}(A \text{ et } B)}{\text{effectif}(B)}.}\]

Le dénominateur est l'effectif de la condition \(B\) (un effectif marginal, ou plus généralement l'effectif du groupe de référence choisi), et non l'effectif total.

Exemple (suite)

Parmi les citadins, quelle est la proportion d'utilisateurs de la voiture ?

\[f(\text{Voiture sachant Ville}) = \frac{\text{effectif(Ville et Voiture)}}{\text{effectif(Ville)}} = \frac{40}{120} = \frac{1}{3} \approx 0{,}33 = 33\%.\]

Parmi les ruraux, quelle est la proportion d'utilisateurs de la voiture ?

\[f(\text{Voiture sachant Campagne}) = \frac{70}{80} = 0{,}875 = 87{,}5\%.\]

La voiture est nettement plus utilisée à la campagne qu'en ville : croiser les deux variables révèle un lien que les fréquences marginales seules ne montraient pas.

2. « \(A\) sachant \(B\) » n'est pas « \(B\) sachant \(A\) »

C'est le point le plus délicat du chapitre : les deux fréquences conditionnelles se calculent avec le même numérateur mais des dénominateurs différents, donc elles sont en général différentes.

Propriété

En général,

\[f(A \text{ sachant } B) \neq f(B \text{ sachant } A),\]

car

\[f(A \text{ sachant } B) = \frac{\text{effectif}(A \text{ et } B)}{\text{effectif}(B)} \qquad \text{et} \qquad f(B \text{ sachant } A) = \frac{\text{effectif}(A \text{ et } B)}{\text{effectif}(A)}.\]
Exemple (suite)

Comparons deux phrases qui se ressemblent mais disent des choses très différentes.

Même case au numérateur (\(40\)), mais l'une se rapporte aux \(120\) citadins, l'autre aux \(110\) automobilistes.

Travail sur la langue

« \(87{,}5\%\) des ruraux utilisent la voiture » et « \(87{,}5\%\) des utilisateurs de la voiture sont ruraux » n'ont pas le même sens. Toujours identifier la population de référence (le « parmi qui ? »), c'est-à-dire le mot qui suit « sachant » ou « parmi ». Ce chapitre prépare directement les probabilités conditionnelles du chapitre suivant.

Exercice d'application 3. Avec le tableau (Ville/Campagne × Voiture/TC), calculer \(f(\text{Campagne sachant Voiture})\) et \(f(\text{Voiture sachant Campagne})\). Ces deux nombres sont-ils égaux ?

\(f(\text{Campagne sachant Voiture}) = \dfrac{70}{110} \approx 0{,}636 = 63{,}6\%\) (parmi les \(110\) automobilistes).

\(f(\text{Voiture sachant Campagne}) = \dfrac{70}{80} = 0{,}875 = 87{,}5\%\) (parmi les \(80\) ruraux).

Non : même numérateur (\(70\)), mais dénominateurs différents (\(110\) et \(80\)).

III. Compléter un tableau croisé

Souvent, un tableau croisé n'est donné qu'en partie : on doit retrouver les cases manquantes.

Méthode par les effectifs

Chaque total de ligne (resp. de colonne) est la somme des cases de cette ligne (resp. colonne) ; l'effectif total est la somme des totaux de lignes, égale à la somme des totaux de colonnes. Ces relations d'addition/soustraction permettent souvent de tout reconstituer.

Méthode par les fréquences conditionnelles

Une phrase du type « parmi les \(B\), \(p\%\) sont des \(A\) » fournit directement un effectif :

\[\text{effectif}(A \text{ et } B) = \frac{p}{100}\times \text{effectif}(B).\]
Exemple

Un sondage porte sur \(500\) personnes, réparties en \(300\) hommes et \(200\) femmes. On sait que \(60\%\) des hommes et \(75\%\) des femmes déclarent pratiquer un sport. Complétons le tableau (Sport oui / non).

SportPas de sportTotal
Hommes\(180\)\(120\)\(300\)
Femmes\(150\)\(50\)\(200\)
Total\(330\)\(170\)\(500\)

On peut alors répondre à toute question de fréquence : par exemple, parmi les sportifs, la proportion de femmes est \(f(\text{Femme sachant Sport}) = \dfrac{150}{330} \approx 45{,}5\%\).

Méthode — Lire et compléter un tableau croisé
  1. Identifier les deux variables (lignes / colonnes) et repérer les cases « Total » (marges).
  2. Utiliser les relations d'addition : chaque total = somme de sa ligne (ou colonne) ; \(N\) = somme des totaux.
  3. Traduire chaque information en effectif : « \(p\%\) des \(B\) sont \(A\) » \(\Rightarrow\) effectif \(= \dfrac{p}{100}\times\) effectif\((B)\).
  4. Compléter case par case, puis vérifier que toutes les sommes de lignes et de colonnes redonnent \(N\).
Exercice d'application 4. Une enquête porte sur \(400\) personnes : \(240\) femmes, le reste des hommes. \(70\%\) des femmes et \(40\%\) des hommes possèdent un vélo. Combien d'hommes ? Combien de femmes possèdent un vélo ? Combien d'hommes possèdent un vélo ?

Hommes : \(400 - 240 = 160\).

Femmes avec vélo : \(0{,}70\times 240 = 168\). Hommes avec vélo : \(0{,}40\times 160 = 64\).

Méthodes-types résumées

Méthode — Fréquence marginale
  1. Repérer l'effectif marginal de la catégorie (ligne ou colonne « Total »).
  2. Diviser par l'effectif total \(N\).
  3. Convertir en pourcentage si demandé (\(\times 100\)).

Exemple. Dans le tableau des sportifs (\(N = 500\)) : fréquence marginale des sportifs \(= \dfrac{330}{500} = 0{,}66 = 66\%\).

Méthode — Fréquence conditionnelle « \(A\) sachant \(B\) »
  1. Repérer la condition \(B\) : c'est le mot qui suit « sachant » ou « parmi ». Son effectif est le dénominateur.
  2. Numérateur : effectif des individus qui sont à la fois \(A\) et \(B\) (une case intérieure du tableau).
  3. Diviser : \(f(A \text{ sachant } B) = \dfrac{\text{effectif}(A \text{ et } B)}{\text{effectif}(B)}\).
  4. Interpréter en revenant à la sous-population \(B\).

IV. Algorithmique et Python

On représente les individus par des listes parallèles : une liste par variable, l'individu numéro \(i\) correspondant à l'élément d'indice \(i\) de chaque liste.

# Deux variables qualitatives pour 8 individus
zone      = ["ville", "ville", "campagne", "ville", "campagne", "campagne", "ville", "campagne"]
transport = ["voiture", "TC", "voiture", "TC", "voiture", "voiture", "TC", "voiture"]

1. Filtrer un sous-ensemble (ET, OU, NON)

On sélectionne les individus vérifiant un critère à l'aide de and (ET), or (OU) et not (NON).

# Individus habitant en ville ET utilisant la voiture  (ET -> and)
indices_ville_voiture = []
for i in range(len(zone)):
    if zone[i] == "ville" and transport[i] == "voiture":
        indices_ville_voiture.append(i)

print(len(indices_ville_voiture))     # effectif(Ville et Voiture)

# Individus en campagne OU utilisant les transports en commun  (OU -> or)
nb_campagne_ou_TC = 0
for i in range(len(zone)):
    if zone[i] == "campagne" or transport[i] == "TC":
        nb_campagne_ou_TC += 1

# Individus n'habitant PAS en ville  (NON -> not)
nb_pas_ville = 0
for i in range(len(zone)):
    if not (zone[i] == "ville"):
        nb_pas_ville += 1

2. Dresser le tableau croisé et calculer des fréquences

def effectif_et(liste1, valeur1, liste2, valeur2):
    """Compte les individus tels que liste1 == valeur1 ET liste2 == valeur2."""
    n = 0
    for i in range(len(liste1)):
        if liste1[i] == valeur1 and liste2[i] == valeur2:
            n += 1
    return n

def effectif(liste, valeur):
    """Compte les individus tels que liste == valeur (effectif marginal)."""
    return liste.count(valeur)

N = len(zone)

# Frequence marginale : proportion de citadins
f_ville = effectif(zone, "ville") / N

# Frequence conditionnelle : voiture SACHANT ville
n_ville_voiture = effectif_et(zone, "ville", transport, "voiture")
f_voiture_sachant_ville = n_ville_voiture / effectif(zone, "ville")
À retenir sur le code. Pour une fréquence conditionnelle, on divise par l'effectif de la condition (effectif(zone, "ville")), pas par N. Pour une fréquence marginale, on divise par N.
Exercice d'application 5. On donne espece = ["chat","chien","chat","oiseau","chien","chat"] et vaccine = ["oui","non","oui","oui","oui","non"]. Écrire le test Python sélectionnant les chats vaccinés, puis donner \(f(\text{vacciné sachant chat})\).

Test : if espece[i] == "chat" and vaccine[i] == "oui":

Chats aux indices \(0, 2, 5\) ; vaccinés parmi eux : \(0\) et \(2\), soit \(2\) chats vaccinés sur \(3\) chats. Donc \(f(\text{vacciné sachant chat}) = \dfrac{2}{3} \approx 66{,}7\%\).

Erreurs fréquentes / points de vigilance

Les pièges du chapitre

❌ Confondre « \(A\) sachant \(B\) » et « \(B\) sachant \(A\) ».

✅ Même numérateur, dénominateurs différents : repérer la population de référence (« parmi qui ? »).

❌ Diviser par \(N\) au lieu de l'effectif de la condition.

✅ Une fréquence conditionnelle se calcule dans la sous-population, pas dans la population totale.

❌ Confondre fréquence marginale et fréquence conditionnelle.

✅ La marginale ignore la seconde variable ; la conditionnelle restreint à un groupe.

❌ Additionner des fréquences conditionnelles de conditions différentes.

✅ \(f(\text{Voiture sachant Ville})\) et \(f(\text{Voiture sachant Campagne})\) ne s'additionnent pas.

❌ Traiter une variable qualitative comme un nombre.

✅ Ni moyenne ni médiane de catégories : seuls effectifs et fréquences ont un sens.

❌ Oublier de vérifier les marges après avoir complété un tableau.

✅ Sommes des lignes et des colonnes doivent redonner \(N\). En Python : == et non = dans un test.

L'essentiel à retenir

À retenir :