variancefvariance (and mean) of a vector or matrix of frequency-weighted real or complex numbersSyntax
[s [,mc]] = variancef(x, fre [,orien [,m]])
[s, mc] = variancef(x)
[s, mc] = variancef(x, fre, "r"|1 )
[s, mc] = variancef(x, fre, "c"|2 )
[s, mc] = variancef(x, fre, "*" , %nan)
[s, mc] = variancef(x, fre, "r"|1, %nan)
[s, mc] = variancef(x, fre, "c"|2, %nan)
s = variancef(x, fre, "*", m)
s = variancef(x, fre, "r", m)
s = variancef(x, fre, "c", m)
Argumentsx
vector or matrix of real or complex numbers
fre
vector or matrix of positive decimal integers = frequencies: fre(i,j) is the number of times that x(i,j) must be counted.
fre and x have same sizes.
orienthe orientation of the computation. Valid values are:
1 or "r" : result is a row, after a column-wise computation.2 or "c" : result is a column, after a row-wise computation.
"*" : full undirectional computation (default); explicitly required when m is used.
m
The known mean of the underlying statistical distribution law (assuming that it is known).
"*" mode (default): m must be scalar
"r" or 1 mode: m is a row of length size(x,2). The variance along the column #j is computed using m(j) as the mean for the considered column. If m(j) is the same for all columns, it can be provided as a scalar m.
"c" or 2 mode: m is a column of length size(x,1). The variance along the row #i is computed using m(i) as the mean for the considered row. If m(i) is the same for all rows, it can be provided as a scalar m.
When m is not provided, the variance is built dividing the quadratic distance of n values to mean(x,fre)(or mean(x,fre,"c") or mean(x,fre,"r")) by (n-1) (n being sum(fre) or sum(fre,"c") or sum(fre,"r")). If the elements of x are mutually independent, the result is then statistically unbiased.
Else, the variance is built dividing the quadratic distance of values to m by the number n of considered values.
If a true value m independent from x elements is used, x and m values are mutually independent, and the result is then unbiased.
When the special value m = %nan is provided, the variance is still normalized by n (not n-1) but is computed using
m = mean(x, fre) instead (or m = mean(x,fre,"c") or m = mean(x,fre,"r")). This m does not bring independent information, and yields a statistically biased result.
s
The variance of weighted values of x elements. It is a scalar or a column vector or a row vector according to orien.
mc
Scalar or orien-wise mean of weighted x elements (= mean(x, fre,..)), as computed before and used as reference in the variance.
Description
This function computes the variance of the values of a
vector or matrix x, each of them x(i,j) being counted fre(i,j) times.
If x is complex, then variancef(x,fre,..) = variancef(real(x),fre,..) + variancef(imag(x),fre,..) is returned.
s = variancef(x,fre) (or s=variancef(x,fre,"*")) returns the scalar variance computed over all values of x.
s = variancef(x,fre,"r")(or equivalently s = variancef(x,fre,1)) returns a row s such that for each j,
s(j) = variancef(x(:,j),fre(:,j),..).
s = variancef(x,fre,"c")(or equivalently s = variancef(x,fre,2)) returns a column s such that for each i,
s(i) = variancef(x(i,:),fre(i,:),..).
When the mean m is provided, it is used as reference in the variance computation instead of being internally estimated from x (unless it is equal to the special value %nan: See m's description). This allows to compute the variance of a sample x with respect to a given statistical model (rather than extracting an empirical statistical dispersion in order to build the model).
Examples always <= s
]]>See also
variance
mtlb_var
stdevf
Bibliography
Wonacott, T.H. & Wonacott, R.J.; Introductory Statistics, fifth edition, J.Wiley & Sons, 1990.
History5.5.0variancef(complexes,..) fixed.variancef(x, fre, orien, m) introduced: the true mean m of the underlying statistical law can be used.variancef(x, fre, orien, %nan) introduced: mean(x, fre,..) is used but divided by n values (instead of n-1)[s, mc] = variancef(x,fre,..) introduced : the mean mc computed from x and fre is now also returned