$$s^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2$$
import numpy
mu = 2.0 # znana wartość oczekiwana
X = numpy.array([1.2, 2.7, 1.9, 1.5, 2.3, 2.2, 3.0, 1.0])
# wariancja
s2 = numpy.sum( (X - mu)**2 ) / len(X)
# odchylenie standardowe jako pierwiastek z wariancji
s = numpy.sqrt(s2)
Ten estymator jest nieobciążony i zgodny, ale użyteczny tylko wówczas, gdy znamy prawdziwą wartość oczekiwaną \(\mu\) populacji. W przeciwnym wypadku, mamy do dyspozycji dwa estymatory i warto uważać aby ich nie pomylić.
$$s_1^2 = \frac{1}{N-1} \sum_{i=1}^{N} (x_i - \bar{x})^2$$
import numpy
X = numpy.array([1.2, 2.7, 1.9, 1.5, 2.3, 2.2, 3.0, 1.0])
# wariancja
s2 = numpy.var(X, ddof=1)
# odchylenie standardowe czyli pierwiastek z wariancji
s = numpy.std(X, ddof=1)
Z tego estymatora korzystamy wtedy, gdy nie znamy wariancji. Warto pamiętać, że o ile \(s_1^2\) jest estymatorem nieobciążonym wariancji, to \(s_1\) jako estymator odchylenia standardowego jest już obciążony.
$$s_0^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})^2$$
import numpy
X = numpy.array([1.2, 2.7, 1.9, 1.5, 2.3, 2.2, 3.0, 1.0])
# wariancja
s2 = numpy.var(X)
# odchylenie standardowe czyli pierwiastek z wariancji
s = numpy.std(X)
Z tego estymatora raczej nie korzystamy, ale warto go odróżniać, ponieważ niekiedy wzory zapisane są z jego pomocą. Jest to też estymator największej wiarygodności.
autor: Piotr Różański, ostatnia modyfikacja: 10.04.2016