Loi conjointe dâun 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)). \]
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\)
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.
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)
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. \]
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
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. \]
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.