Lorsqu’on doit traiter un nombre important de variables aléatoires de différentes lois, il est souvent difficile de calculer analytiquement un certain nombre de grandeurs caractéristiques (valeurs moyennes, variances, paramètres de lois, quantiles, etc...). On doit alors avoir recours au calcul numérique et à la simulation.
La librairie standard d’un langage d’implémentation sur ordinateur contient généralement un générateur de nombres aléatoires. L’appel à une fonction de type random fournit une suite de nombres x1,...,xn ∈ [0, 1] sensés être n réalisations X1(ω),...,Xn(ω) de n variables aléatoires indépendantes de loi uniforme sur [0, 1].
Sous Scilab, la fonction rand permet de réaliser une telle simulation, à ceci près qu’elle permet de générer des matrices aléatoires au lieu de simples listes.
Ainsi, l’appel à la fonction :
Question 1 Générer une suite de n réalisations de variables aléatoires de loi uniforme sur [0, 1] (i.e. une matrice de dimension (1,n)) puis tracer l’histogramme correspondant avec la fonction histplot
Que constatez vous ? Ceci vous semble-t-il cohérent ? Pourquoi ?
Question 2 Augmenter le nombre n. L’histogramme change-t-il significativement ?
La fonction rand permet également de simuler directement une matrice de variables aléatoires indépendantes suivant une autre loi que la loi uniforme. Voici un exemple avec la loi normale.
La deuxième ligne permet d’obtenir une suite de n variables aléatoires de loi normale N(μ,σ2).
La quatrième ligne permet de revenir à la simulation ¡¡ uniforme ¿¿. On peut également avoir la simulation ¡¡ normale ¿¿ par défaut, en tapant
La fonction grand est un générateur aléatoire qui permet de simuler des variables aléatoires d’un certain nombre de lois. Elle s’appelle et fonctionne comme la fonction rand à ceci près qu’il faut en plus entrer les arguments des différentes lois. Nous donnons ici quelques exemples utiles.
Scilab propose également des fonctions cdf*, à partir desquelles on retrouve la fonction de répartition, la densité et la fonction quantile des lois les plus courantes. On pourra se référer à l’aide de Scilab, pour voir comment les appeler.
La fonction plot2d3 permet de représenter des diagrammes en bâtons.
La fonction histplot représente des histogrammes. Son premier paramètre peut être un entier (nombre de classes), auquel cas l’histogramme est régulier, ou un vecteur donnant les bornes des classes.
La fonction hist3d représente des histogrammes dans R3 mais n’effectue pas le calcul des fréquences de classes.
Pour cela, on pourra utiliser la fonction freq2d définie ci-dessous. Elle prend en entrée deux vecteurs de bornes, bornex et borney, et une matrice echant, à 2 lignes et ncolonnes.
La fonction hist3d prendra alors en entrée une liste formée de la matrice des fréquences et des deux vecteurs de bornes.
Voici quelques exemples d’utilisation.
Pour représenter un nuage de points dans le plan, on peut utiliser plot2d avec un style de représentation négatif.
On peut visualiser des nuages de points à trois dimensions à l’aide de param3d1, et utiliser la rotation à l’aide de la souris.