Loi conjointe d’un couple de variables alĂ©atoires continues

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.