Section : Statistiques en Scilab
Précédent : Représentations graphiques.
Suivant : Analyse de données

Calculs de moments.

Les calculs de moyennes, médianes et écart-types s'effectuent par des fonctions vectorielles (mean, median et st_deviation) qui s'appliquent à l'ensemble d'une matrice, à ses lignes ou à ses colonnes selon l'option. Attention, st_deviation calcule la racine carrée de la variance non biaisée. La fonction corr retourne les corrélations ou covariances d'une ou deux séries chronologiques, mais ne s'applique pas directement au calcul de la matrice de covariance d'un échantillon vectoriel. Les fonctions ci-dessous calculent les matrices de covariance et de corrélation pour un échantillon de taille $ n$ de vecteurs de dimension $ d$, donné sous forme d'une matrice à $ n$ lignes et $ d$ colonnes.
function c=covariance(echant)
//      retourne la matrice de covariance
//      de l'echantillon echant. L'entree est une matrice 
//      a n lignes (individus) et d colonnes (variables)

moyenne = mean(echant,"r");
echcent = echant - ones(size(echant,"r"),1)*moyenne;
c=(echcent'*echcent)/size(echant,"r");


function c=correlation(echant)
//      retourne la matrice de correlation
//      de l'echantillon echant. L'entree est une matrice 
//      a n lignes (individus) et d colonnes (variables)

cov=covariance(echant);
ectinv=diag((1)./sqrt(diag(cov)));
c=ectinv*cov*ectinv;
Supposons que ces deux fonctions soient dans le fichier covariance.sci.
getf("covariance.sci");
M=[0;0;0]; 
S=[1,0.5,0.9 ; 0.5,1,0.3 ; 0.9,0.3,1];
v=grand(10000,"mn",M,S);
cov_estimee = covariance(v')
cov_estimee-S
cor_estimee = correlation(v')
cor_estimee-S


© B. Ycart (2001)