Statystyka
Mediana
Mediana dzieli uporządkowane dane na dolną i górną część. Jest mniej wrażliwa na skrajne wartości niż średnia. Porównaj oba wyniki po zmianie największej liczby w zbiorze.
Pierwszy przykład
import msstat
dane = [1, 1, 3, 5, 8]
wynik = msstat.mediana(dane)
print(round(wynik, 6))
Wynik w konsoli (liczby dziesiętne zaokrąglono w kodzie tam, gdzie użyto round):
3.0
Eksperymentuj
Zastąp 8 przez 50. Mediana nadal wyniesie 3, ponieważ środkowa pozycja uporządkowanej listy nie zmieni się.
import msstat
dane = [1, 1, 3, 5, 50]
wynik = msstat.mediana(dane)
print(round(wynik, 6))
Wynik w konsoli (liczby dziesiętne zaokrąglono w kodzie tam, gdzie użyto round):
3.0
Dla pięciu obserwacji wybieramy trzecią wartość po uporządkowaniu. Przy parzystej liczbie obserwacji bierzemy średnią dwóch środkowych. Odporność na skrajne wartości nie oznacza, że każda zmiana danych pozostawia medianę bez zmian.
Odkrywaj w swoim tempie
AParametry i wartości domyślne
Dane podajesz samodzielnie. Pierwszy przykład używa domyślnych wartości pozostałych parametrów.
msstat.mediana(dane)
dane - argument wymagany- Niepusta kolekcja skończonych liczb; argument jest wymagany.
Dane muszą być skończonymi liczbami rzeczywistymi, bez wartości logicznych.
BZnaczenie wyniku i wzór
Dane są niepuste; poniżej x z indeksem w nawiasie oznacza pozycję po uporządkowaniu rosnąco. Przy parzystej liczbie danych brana jest średnia dwóch środkowych. Biblioteka nie zmienia danych wejściowych.
Potrzebna jest co najmniej jedna obserwacja. Dane muszą być rzeczywiste i skończone, bez wartości logicznych. Obliczenie nie zmienia kolejności danych na Twojej liście.
CZapis obliczenia w Pythonie
def oblicz(dane):
liczby = sorted(dane)
n = len(liczby)
polowa = n//2
if n % 2:
return liczby[polowa]
return (liczby[polowa-1] + liczby[polowa])/2
dane = [1, 1, 3, 5, 8]
print(oblicz(dane))
Spróbuj sam
Dopisz liczbę 9 do pierwotnego zbioru. Wyznacz ręcznie medianę sześciu obserwacji i porównaj z wynikiem programu.