Distances et droites aléatoires

lundi 14 décembre 2009
par  Alain BUSSER

On a vu dans l’article précédent que si $A$ et $B$ sont deux points gaussiens, le vecteur $\overrightarrow{AB}$ est aussi gaussien. Mais sa norme n’est pas gaussienne, ni le quotient de ses coordonnées (le coefficient directeur de la droite $(AB)$).

Norme d’un vecteur

1) Norme d’un vecteur d’espérance $\vec{0}$

Si un vecteur est gaussien d’espérance nulle, la distribution du carré de sa norme est une loi du khi-deux à deux degrés de liberté, et donc sa norme suit une loi de Rayleigh. Pour l’illustrer ainsi que les exemples suivants de cet article, on va renoncer à l’aspect dynamique de CaRMetal pour utiliser la puissance d’Euler Math Toolbox qui peut en une ou deux secondes créer un échantillon d’un million de vecteurs gaussiens ou uniformes [1]... Ainsi les histogrammes seront plus réguliers grâce à la loi des grands nombres.

x=normal(1,1000000); y=normal(1,1000000);

permet de créer 1 000 000 nombres aléaoires gaussiens centrés réduits (stockés dans une matrice $x$) et 1 000 000 autres stockés dans $y$. Le vecteur de coordonnées $(x ;y)$ est donc gaussien d’espérance $(0 ;0)$. Sa norme est obtenue par

sqrt(x^2+y^2);

mais c’est encore une matrice ligne d’un million de données. On n’a donc plus qu’à afficher la répartition des échantillons selon leur valeur (autrement dit, l’histogramme) pour voir à quoi ressemble la fameuse loi de Rayleigh), dans le cas présent avec 100 rectangles :

plot2d(d,distribution=100);

EuMathT produit en moins de 2 secondes le beau graphique suivant :

2) Norme d’un vecteur d’espérance non nulle

Par analogie avec ce TP de Seconde, on va considérer le cas où le vecteur a pour espérance $\left(\frac{7}{2} ;\frac{3}{2} \right)$. Le code EuMathT ressemble alors à ceci :

x=3.5*ones(1,1000000)+normal(1,1000000); y=1.5*ones(1,1000000)+normal(1,1000000);
d=sqrt(x^2+y^2);
plot2d(d,distribution=100);

et le graphique obtenu

montre que la distribution des normes, si elle n’est pas gaussienne, est presque gaussienne...

3)Norme d’un vecteur uniforme

Le corrigé de ce TP montre que la distribution de la norme d’un vecteur dont l’abscisse est uniforme sur $\left[3 ;4\right]$ et l’ordonnée est uniforme sur $\left[1 ;2\right]$ est assez compliquée. Voici la version EuMathT :

Elle a été obtenue avec ce code :

x=3+random(1,1000000); y=1+random(1,1000000);
d=sqrt(x^2+y^2);
plot2d(d,distribution=100);

Distance entre deux points

Cas gaussien

On considère deux points A et B gaussiens d’écart-type 1, le premier ayant pour espérance $\left(-\frac{3}{2} ;-\frac{1}{2}\right)$, le second ayant pour espérance $\left(\frac{5}{2} ;\frac{3}{2}\right)$, la distance $AB$ est une variable aléatoire dont la distribution ressemble à ceci :

Malgré les apprences, cette distribution n’est pas gaussienne.

Cas uniforme

Si maintenant A est uniforme sur $\left[-2 ;-1\right]\times\left[-1 ;0\right]$ et B uniforme sur $\left[2 ;3\right]\times\left[1 ;2\right]$, la distribution de la distance $AB$ ressemble à ceci :

Droite par deux points aléatoires

1) Droite passant par l’origine

Le coefficient directeur de la droite passant par l’origine et un point gaussien est le quotient de deux variables aléatoires gaussiennes, qui n’est pas gaussien. En plus, les valeurs extêmes arrivent assez souvent pour rendre à peu près illisible un histogramme (par exemple, si l’espérance du vecteur gaussien est nulle, le coefficient directeur suit une loi de Cauchy).

Alors au lieu d’un million d’échantillons, on n’en calculera « que » 2000 :

x=3.5*ones(1,2000)+normal(1,2000); y=1.5*ones(1,2000)+normal(1,2000);
a=y/x;
plot2d(a,distribution=100);

Du coup, l’histogramme est moins régulier que les précédents :

On voit quand même l’asymétrie de la distribution du coefficient directeur.

Si maintenant l’extrémité du vecteur est uniforme, la distribution des coefficients directeurs prend une allure compliquée (ne serait-ce que parce qu’elle est définie par morceaux) qui ressemble à celle des distances :

Le code EuMathT qui a produit ceci est le suivant :

x=3+random(1,1000000); y=1+random(1,1000000);

a=y/x;

plot2d(a,distribution=100);

Droite par deux points aléatoires

On considère les deux points A d’espérance $\left(-\frac{3}{2} ;-\frac{1}{2}\right)$ et B d’espérance $\left(\frac{5}{2} ;\frac{3}{2}\right)$, la droite $(AB)$ devrait osciller autour de la droite d’équation $y=\frac{x}{2}+\frac{1}{4}$.

Dans le cas gaussien, le code EuMathT suivant permet de voir que la distribution du coefficient comme celle de l’ordonnée à l’origine sont instables :

xa=-1.5*ones(1,1000)+normal(1,1000); ya=-0.5*ones(1,1000)+normal(1,1000);
xb=2.5*ones(1,1000)+normal(1,1000); yb=1.5*ones(1,1000)+normal(1,1000);
m=(yb-ya)/(xb-xa);
plot2d(m,distribution=100);
p=ya-m*xa;
plot2d(p,distribution=100);

Voici la distribution du coefficient directeur :

et voici celle de l’ordonnée à l’origine :

Si maintenant les deux points A et B sont uniformes (dans les carrés habituels) le code EuMathT peut à nouveau être utilisé avec un million de lancers :

xa=-2*ones(1,1000000)+random(1,1000000); ya=-ones(1,1000000)+random(1,1000000);
xb=2*ones(1,1000000)+random(1,1000000); yb=ones(1,1000000)+random(1,1000000);
m=(yb-ya)/(xb-xa);
plot2d(m,distribution=100);
p=ya-m*xa;
plot2d(p,distribution=100);

Voici la distribution du coefficient directeur :

et celle de l’ordonnée à l’origine :

Ces variables aléatoires sont bornées.

Euler Math Toolbox est capable de faire des calculs sur des intervalles, alors autant en profiter :

xa=interval(-2,-1); ya=interval(-1,0);
xb=interval(2,3); yb=interval(1,2);
d=sqrt((xb-xa)^2+(yb-ya)^2)

(on remarque l’absence du point-virgule à la fin de la troisième ligne, ce qui force l’affichage du résultat de celle-ci) donne la réponse $[3.162,5.831]$ ce qui peut se vérifier par Pythagore (les valeurs exactes sont $\sqrt{10}$ et $\sqrt{34}$).

Ensuite l’intervalle auquel appartient le coefficient directeur est calculé par

m=(yb-ya)/(xb-xa)

et vaut $[0.2,1]$ d’après EuMathT (ces valeurs sont exactes).

Pour l’ordonnée à l’origine,

p=ya-m*xa

donne l’intervalle $[-0.8,2]$ (là encore ce sont des valeurs exactes).


[1préféré à SciLab qui, dans la même catégorie, offre le double avantage d’être français et multiplateforme. En effet SciLab est un logiciel de technologie et pas de maths, ce qui le rend plus complexe à utiliser. De surcroît Euler Math Toolbox incorpore deux modules de calcul formel, ce qui au final le rend plus puissant, quoique plus simple. Et les exemples mathématiques abondent, notamment son module de géométrie...


Commentaires