Loi conjointe d’un couple de variables aléatoires continues

Date de publication

18 février 2026

Définition — Couple de variables aléatoires continues

Un couple de variables aléatoires continues est une application \[ (X,Y):\Omega\to\mathbb{R}^2, \qquad \omega\mapsto (X(\omega),Y(\omega)). \]

Qu’est-ce qu’un couple de variables aléatoires ?

Chaque résultat \(\omega\) de l’expérience aléatoire produit simultanément deux valeurs \((X(\omega), Y(\omega))\). On peut penser à un individu tiré au hasard dans une population : \(X(\omega)\) est sa taille, \(Y(\omega)\) son poids. Le couple \((X, Y)\) décrit la distribution jointe de ces deux quantités dans la population.

L’intérêt fondamental du couple est qu’il capture la relation entre \(X\) et \(Y\) — information que les lois individuelles de \(X\) et \(Y\) ne contiennent pas. Connaître séparément la loi de la taille et la loi du poids ne dit pas si, dans la population, les individus grands tendent aussi à être lourds. C’est la loi conjointe qui encode cette structure.

Formellement, la loi du couple est une mesure de probabilité sur \(\mathbb{R}^2\) : pour toute région \(\mathcal{D}\) du plan, \(P\bigl((X,Y) \in \mathcal{D}\bigr)\) est la probabilité que l’issue aléatoire tombe dans \(\mathcal{D}\). Lorsque cette mesure admet une densité \(f\), on dit que le couple est absolument continu, et toutes les probabilités se calculent par intégration de \(f\) sur des régions du plan.

Densité de probabilité sur \(\mathbb{R}^2\)

Définition — Densité sur \(\mathbb{R}^2\)

Une fonction \(f : \mathbb{R}^2 \to \mathbb{R}\) est une densité de probabilité sur \(\mathbb{R}^2\) si :

  • \(f(x,y)\ge 0\) pour tout \((x,y)\),
  • \(f\) est intégrable sur \(\mathbb{R}^2\),
  • \(\displaystyle \iint_{\mathbb{R}^2} f(x,y)\,dx\,dy = 1\).

L’intuition géométrique est celle d’un relief : \(f(x,y)\) représente la “hauteur” en chaque point du plan. La condition \(\iint f = 1\) signifie que le volume total sous ce relief vaut exactement \(1\). La probabilité que le couple \((X,Y)\) tombe dans une région \(\mathcal{D}\) est \(\iint_{\mathcal{D}} f(x,y)\,dx\,dy\), c’est-à-dire le volume du morceau de relief situé au-dessus de \(\mathcal{D}\). Plus la densité est élevée en un point, plus ce point est probable — mais la probabilité d’une valeur exacte \((x_0, y_0)\) est toujours nulle, exactement comme dans le cas unidimensionnel.

Figure 1: Gauche : la probabilité que \((X,Y)\) tombe dans la région \(\mathcal{D}\) est le volume du relief \(f\) au-dessus de \(\mathcal{D}\). Droite : le relief vu de dessus — les zones sombres correspondent aux régions de forte densité (événements plus probables).

Explorateur interactif — Corrélation et densité conjointe

Faites varier le coefficient de corrélation \(\rho\) pour observer l’effet sur la forme de la densité. Quand \(\rho = 0\), les contours d’équiprobabilité sont des cercles et les variables sont indépendantes. À droite : la densité conditionnelle \(f_{Y|X}(y\mid 1.5)\) se déplace avec \(\rho\), illustrant que la loi de \(Y\) sachant \(X = 1.5\) dépend du coefficient de corrélation.

#| standalone: true
#| components: [viewer]
#| viewerHeight: 430

from shiny import App, render, ui
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np

BG = '#1C2E22'
FG = '#D2CCC0'

def biv_normal_pdf(X, Y, rho):
    c = max(1 - rho**2, 1e-8)
    return np.exp(-(X**2 - 2*rho*X*Y + Y**2) / (2*c)) / (2*np.pi*np.sqrt(c))

def normal_pdf(x, mu=0.0, sigma=1.0):
    return np.exp(-0.5*((x - mu)/sigma)**2) / (sigma * np.sqrt(2*np.pi))

app_ui = ui.page_fluid(
    ui.tags.style(f"""
        body {{ background-color: {BG}; color: {FG}; padding: 10px;
                font-family: sans-serif; margin: 0; }}
        .form-label {{ color: {FG} !important; }}
        .form-range {{ accent-color: steelblue; width: 100%; }}
        .badge {{ display: inline-block; padding: 4px 10px; border-radius: 4px;
                  font-size: 0.88em; font-weight: bold; margin: 4px 0; }}
    """),
    ui.h5("🎲 Loi normale bivariée — faites varier ρ"),
    ui.row(
        ui.column(4,
            ui.input_slider("rho", "Corrélation ρ :", min=-0.95, max=0.95, value=0.0, step=0.05),
            ui.output_ui("badge"),
            ui.hr(),
            ui.tags.ul(
                ui.tags.li("ρ = 0 → cercles → indépendance",
                           style=f"color:{FG}; font-size:0.82em"),
                ui.tags.li("ρ > 0 → ellipses penchées ↗",
                           style=f"color:{FG}; font-size:0.82em"),
                ui.tags.li("ρ < 0 → ellipses penchées ↘",
                           style=f"color:{FG}; font-size:0.82em"),
                ui.tags.li("Marginale f_Y(y) : toujours N(0,1), quel que soit ρ",
                           style=f"color:{FG}; font-size:0.82em"),
            ),
        ),
        ui.column(8,
            ui.output_plot("plot", height="350px"),
        ),
    ),
)

def server(input, output, session):
    @output
    @render.ui
    def badge():
        rho = input.rho()
        if abs(rho) < 0.05:
            c, msg = "#1B5E20", "✅ ρ ≈ 0 → INDÉPENDANTES"
        elif rho > 0:
            c, msg = "#E65100", f"↗ ρ = {rho:.2f} → dépendance positive"
        else:
            c, msg = "#880E4F", f"↙ ρ = {rho:.2f} → dépendance négative"
        return ui.HTML(f"<div class='badge' style='background:{c};color:white'>{msg}</div>")

    @output
    @render.plot
    def plot():
        rho = input.rho()
        x = np.linspace(-3, 3, 200)
        y = np.linspace(-3, 3, 200)
        X, Y = np.meshgrid(x, y)
        Z = biv_normal_pdf(X, Y, rho)

        fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(9, 3.8))
        fig.patch.set_facecolor(BG)
        for ax in (ax1, ax2):
            ax.set_facecolor(BG)
            ax.tick_params(colors=FG)
            for sp in ax.spines.values():
                sp.set_edgecolor(FG)

        ax1.contourf(X, Y, Z, levels=20, cmap='Blues')
        ax1.contour(X, Y, Z, levels=7, colors='white', alpha=0.35, linewidths=0.7)
        ax1.set_xlabel('$x$', color=FG)
        ax1.set_ylabel('$y$', color=FG)
        ax1.set_title(f'Densité conjointe (ρ = {rho:.2f})', color=FG, fontsize=10)
        ax1.set_aspect('equal')

        t = np.linspace(-3.5, 3.5, 400)
        f_margY = normal_pdf(t)
        cond_std = np.sqrt(max(1 - rho**2, 1e-4))
        f_condY = normal_pdf(t, mu=rho * 1.5, sigma=cond_std)
        ax2.plot(t, f_margY, color='#4FC3F7', lw=2, label='marginale $f_Y(y)$')
        ax2.plot(t, f_condY, color='#FFA726', lw=2, linestyle='--',
                 label='conditionnelle $f_{Y|X}(y|1.5)$')
        ax2.set_xlabel('$y$', color=FG)
        ax2.set_ylabel('densité', color=FG)
        ax2.legend(fontsize=8, facecolor='#152119', edgecolor='none', labelcolor=FG)
        ax2.set_title('Marginale vs conditionnelle (x = 1.5)', color=FG, fontsize=10)
        ax2.set_xlim(-3.5, 3.5)
        ax2.set_ylim(0, 1.5)

        plt.suptitle('Loi normale bivariée standard', color=FG, fontsize=10)
        plt.tight_layout()
        return fig

app = App(app_ui, server)
Définition — Couple absolument continu

Le couple \((X,Y)\) est dit absolument continu s’il existe une densité conjointe \(f\) telle que, pour tous intervalles \(I,J\subset\mathbb{R}\), \[ P(X\in I,\ Y\in J) = \iint_{I\times J} f(x,y)\,dx\,dy. \]

Exemple 2 — Densité exponentielle sur le quadrant

Soit \[ f(x,y)= \begin{cases} e^{-(x+y)} & \text{si } x\ge 0,\ y\ge 0,\\ 0 & \text{sinon.} \end{cases} \] Montrer que \(f\) est une densité sur \(\mathbb{R}^2\).

La positivité est immédiate. Ensuite : \[ \iint_{\mathbb{R}^2} f(x,y)\,dx\,dy = \left(\int_0^{+\infty} e^{-x}\,dx\right) \left(\int_0^{+\infty} e^{-y}\,dy\right)=1\cdot 1=1. \] Donc \(f\) est bien une densité.

Fonction de répartition conjointe

Définition

La fonction de répartition du couple \((X,Y)\) de densité \(f\) est \[ F(x,y)=P(X\le x,\ Y\le y)=\int_{-\infty}^{x}\int_{-\infty}^{y} f(u,v)\,dv\,du. \]

Proposition (admise)

Aux points où \(f\) est continue, \[ f(x,y)=\frac{\partial^2 F}{\partial x\partial y}(x,y). \]

La densité conjointe et la répartition conjointe caractérisent la loi du couple.

La fonction de répartition conjointe \(F(x,y)\) est l’analogue bidimensionnel de la répartition usuelle : elle cumule la probabilité d’être dans le “quadrant inférieur gauche” \((-\infty, x] \times (-\infty, y]\). La proposition ci-dessus établit le lien fondamental avec la densité : dériver \(F\) successivement par rapport à \(x\) puis par rapport à \(y\) redonne \(f\). C’est le pendant exact de la relation \(F' = f\) du cas unidimensionnel, généralisée à la dimension deux.