Matlab calcule variance

Fermé
espoirdz - 16 mars 2011 à 17:05
khunlun Messages postés 117 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 17 avril 2012 - 17 mars 2011 à 08:37
Bonjour,

matlab calcule la variance d'un vecteur en uitlisant cette formule :

function [mean,var,median]=stats(x)
//Moyenne, variance et mediane du vecteur x
n=length(x);mean=sum(x)/n;var=sum((x-mean).^2)/(n-1);

ma question est si la taille de x est n pourquoi diviser la somme des carrés sur
n-1 ?????????

3 réponses

alors l'utilisation de la fonction var de matlab ne donne pas le bon resultat ????
1
khunlun Messages postés 117 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 17 avril 2012 27
17 mars 2011 à 08:37
Si, si.

mean=sum(x)/n;
var=sum((x-mean).^2)/(n-1);

La variance est le bon calcul.

Le "mauvais" (enfin le biaisé) est le suivant :
var=sum((x-mean).^2)/n;

Enfin, c'est vrai pour des valeurs de n grandes.
1
khunlun Messages postés 117 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 17 avril 2012 27
16 mars 2011 à 17:15
Pour que l'estimateur de la variance ne soit pas biaisé.
Vu qu'on travaille avec un estimateur et pas la variance elle-même.
0