Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
variance
variance d'un vecteur, matrice (voire hypermatrice) de nombres réels ou complexes
Séquence d'appel
[s, [mc]] = variance(x [,orien [,m]]) [s, mc] = variance(x) [s, mc] = variance(x, "r"|1 ) [s, mc] = variance(x, "c"|2 ) [s, mc] = variance(x, "*" , %nan) [s, mc] = variance(x, "r"|1, %nan) [s, mc] = variance(x, "c"|2, %nan) s = variance(x, "*", m) s = variance(x, "r", m) s = variance(x, "c", m)
Paramètres
- x
vecteur ou matrice de nombres réels ou complexes. Une hypermatrice est acceptable uniquement sans les options "r" ou "c" :
variance(x)
orvariance(x,"*",m)
- orien
variance selon les lignes ou les colonnes de
x
. Les valeurs possibles sont- 1 or "r" : calcul par colonne. Le résultat est un vecteur
r
angée (ligne) - 2 or "c" : calcul par ligne. Le résultat est une
c
olonne - "*" : calcul tous les éléments de
x
confondus (mode utilisé par défaut); requis si le 3ème paramètrem
doit être utilisé.
- 1 or "r" : calcul par colonne. Le résultat est un vecteur
- m
Espérance mathématique de la loi de distribution de probabilité sous-jacente (supposée connue).
- mode "*" (par défaut) :
m
doit être scalaire - mode "r" or 1 :
m
un vecteur ligne àsize(x,2)
éléments. La variance des éléments de la colonne #j dex
est calculée en utilisantm(j)
comme moyenne pour la colonne. Sim
est la même pour toutes les colonnes, sa valeur scalaire peut être fournie au lieu d'une ligne. - mode "c" ou 2 :
m
un vecteur colonne àsize(x,1)
éléments. La variance des éléments de la ligne #i dex
est calculée en utilisantm(i)
comme moyenne pour la ligne. Sim
est la même pour toutes les lignes, sa valeur scalaire peut être fournie au lieu d'une colonne.
Lorsque
m
n'est pas indiquée, lavariance
est estimée en divisant par (n-1) (non n) la distance quadratique totale des n valeurs à la moyenne calculéemean(x)
(oumean(x,"c")
oumean(x,"r")
) (n vaut length(x) ou size(x,1) ou size(x,2)). Si les éléments dex
sont indépendants entre eux, l'estimation de la variance retournée est non biaisée.Sinon, la
variance
est estimée en divisant parn
(au lieu den-1
) la distance quadratique totale des valeursx(k)
àm
(n
valant toujourslength(x)
ousize(x,1)
ousize(x,2)
). Alors :- Si une véritable valeur
m
indépendante des éléments de x est fournie, elle est utilisée comme moyenne de référence dans le calcul de la variance. La valeur obtenue et retournée pour celle-ci est alors réputée non biaisée. - Si la valeur spéciale
m=%nan
est fournie, la variance est toujours "normalisée" par n (non n-1) mais est estimée en utilisant l'estimation "empirique"m=mean(x)
de la moyenne de référence (oum = mean(x,"c")
oum = mean(x,"r")
). Commem=%nan
n'apporte aucune information nouvelle à "l'équation", celle-ci retourne une estimation biaisée de la variance.
- mode "*" (par défaut) :
- s
- Estimation de la variance des valeurs de
x
(non pondérées).s
est un scalaire ou un vecteur ligne ou colonne selon l'optionorien
utilisée. - mc
- Moyenne calculée à partir de
x
(= mean(x,..)
) et utilisée comme référence dans le calcul de la variance. Valeur scalaire ou en vecteur colonne ou ligne, selon l'optionorien
utilisée.
Description
Cette fonction calcule la variance d'un ensemble de nombres réels ou complexes d'un vecteur, d'une matrice (voire d'une hypermatrice) x
. Pour x
à valeurs complexes, variance(x,..) = variance(real(x),..) + variance(imag(x),..)
est retournée.
Pour un vecteur, une matrice ou une hypermatrice x
, s = variance(x)
ou s = variance(x, "*")
retourne dans le scalaire s
la variance de tous les éléments de x
.
s = variance(x,"c")
(ou indifféremment s = variance(x, 2)
) calcule la variance de chaque ligne.
Le vecteur colonne s
est retourné, avec s(j) = variance(x(j,:),..)
.
s = variance(x,"r")
(ou indifféremment s = variance(x,1)
) calcule la variance de chaque colonne.
Le vecteur ligne s
est retourné, avec s(i) = variance(x(:,i),..)
.
La syntaxe variance(x, "*"|"c"|"r", 1) utilisable uniquement en Scilab 5.4.1 doit être remplacée par
variance(x,"*"|"c"|"r", %nan) . variance(x, "*"|"c"|"r", 1) émettra une alerte
jusqu'en Scilab 6.0. En effet, 1 est désormais compris comme m=1 .
Si 1 est la valeur de l'espérance m à fournir, l'alerte peut être évitée
en indiquant1+%eps au lieu de 1 . |
Exemples
x = [ 0.2113249 0.0002211 0.6653811; 0.7560439 0.4453586 0.6283918 ] s = variance(x) s = variance(x, "r") s = variance(x, "c") // La loi de distribution de probabilité sous-jacente et son espérance (moyenne) sont connues : x = grand(100,5,"unf",0,7); // Distribution uniforme sur [0, 7] // => espérance = (0+7)/2 = 3.5 et variance = (7-0)^2/12 (7-0)^2/12 // Variance asymptotique vraie s = variance(x) // Estimation non biaisée (division par n-1). s = variance(x, "*", 3.5) // Estimation non biaisée (division par n). Toujours >= variance(x) s = variance(x, "*", %nan) // Estimation biaisée (division par n). Toujours <= variance(x) // A travers les colonnes (le long des lignes) => résultat en colonne : s = variance(x, "c") s = variance(x, "c", 3.5) s = variance(x, "c", %nan) // Nombres complexes uniformément distribués sur [0,1] + [0,1].i : x = rand(4, 3) + rand(4, 3)*%i s = variance(x) s = variance(x, "*", 0.5 + 0.5*%i) s = variance(x, "*", %nan) s = variance(x, "r") s = variance(x, "c") // Nombres fournis en hypermatrice : x = rand(3, 2, 2) // Distribution uniforme sur [0, 1] s = variance(x) s = variance(x, "*", 0.5) s = variance(x, "*", %nan) // s = variance(x, "r") // Utilisation non admise pour une hypermatrice // s = variance(x, "c") // Utilisation non admise pour une hypermatrice
Voir aussi
Bibliographie
Wonacott, T.H. & Wonacott, R.J.; Introductory Statistics, fifth edition, J.Wiley & Sons, 1990.
Historique
Version | Description |
5.5.0 |
|
5.4.1 |
|
Report an issue | ||
<< stdev | Descriptive Statistics | variancef >> |