Index: > A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Business Industries Finance Tax

Home > Algorithms for calculating variance


In statistics, a formula for calculating the variance of a population of size n is:

A formula for calculating the unbiased estimation of the population variance from n finite samples is:

The method of calculation may be more easily understood from the table below where the mean is 8.

i xi xi − mean (xi − mean)2
(index) (datum) (deviation) (squared deviation)
1 5 −3 9
2 7 −1 1
3 8 0 0
4 10 2 4
5 10 2 4
n = 5 sum = 40 0 18

Note: Details of the variance calculation:

338 = [52 + 72 + 82 + 102 + 102]
40 = [5 + 7 + 8 + 10 + 10]

1 Algorithm

Therefore a simple algorithm to calculate variance can be described by the following pseudocode:

double sum; double sum_sqr; double variance; long n = data.length; // the number of elements in the data array (the actual syntax is language-specific) for i = 1 to n sum += data[i]; sum_sqr += ( data[i] * data[i] ); end for variance = ((n * sum_sqr) - (sum * sum))/(n*(n-1));

2 Algorithm

Another algorithm which avoids large numbers in sum_sqr while summing up

double avg = 0; double var = 0; long n = data.length; // number of elements for i = 1 to n avg = (avg*i + data[i]) / (i + 1); var = (var * (i - 1) + (data[i] - avg)*(data[i] - avg)) / i; end for return var; // resulting variance Statistics



Non User