Frage zur Varianzberechnung durch Numpy

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
smith0815
User
Beiträge: 99
Registriert: Dienstag 13. April 2010, 11:08

Hi

in habe ein Numpy-Array mit Werten von 0 -100 und möchte nun die Varianz berechen.

numpy.var(numpyArray)

Raus bekommen ich einen Wert von 2217.29056619 da kann doch was nicht stimmen oder?
BlackJack

@smith0815: Vielleicht stimmt Deine Erwartung an die `var()`-Funktion nicht.

Code: Alles auswählen

In [627]: b
Out[627]: array([  0, 100])

In [628]: b.mean()
Out[628]: 50.0

In [629]: b - b.mean()
Out[629]: array([-50.,  50.])

In [630]: (b - b.mean())**2
Out[630]: array([ 2500.,  2500.])

In [631]: ((b - b.mean())**2).mean()
Out[631]: 2500.0

In [632]: b.var()
Out[632]: 2500.0
Die `var()`-Funktion ist wie in 631 definiert.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BlackJack hat geschrieben:@smith0815: Vielleicht stimmt Deine Erwartung an die `var()`-Funktion nicht.
Die Standardabweichung liegt damit bei etwa 47. Das spricht nicht gerade für eine ausgewogenen Verteilung der Daten im einem Intervall der Größe 100. Das sollte sich mit einem einfachen Blick auf die Daten zumindest absehen lassen.
Antworten