Jak obliczyć skośność i kurtozę w pythonie
W statystyce skośność i kurtoza to dwa sposoby pomiaru kształtu rozkładu.
Skośność jest miarą skośności rozkładu. Wartość ta może być dodatnia lub ujemna.
- Ujemna skośność wskazuje, że ogon znajduje się po lewej stronie rozkładu, który rozciąga się w stronę bardziej ujemnych wartości.
- Dodatnie pochylenie wskazuje, że ogon znajduje się po prawej stronie rozkładu, który rozciąga się w kierunku bardziej dodatnich wartości.
- Wartość zero oznacza, że w rozkładzie nie ma asymetrii, co oznacza, że rozkład jest doskonale symetryczny.
Kurtoza jest miarą tego, czy rozkład jest ciężki czy lekki w porównaniu z rozkładem normalnym .
- Kurtoza rozkładu normalnego wynosi 3.
- Jeśli dany rozkład ma kurtozę mniejszą niż 3, nazywa się go playkurtycznym , co oznacza, że ma tendencję do tworzenia mniejszej liczby i mniej skrajnych wartości odstających niż rozkład normalny.
- Jeśli dany rozkład ma kurtozę większą niż 3, nazywa się go leptokurtycznym , co oznacza, że ma tendencję do tworzenia większej liczby wartości odstających niż rozkład normalny.
Uwaga: W niektórych wzorach (definicja Fishera) od kurtozy odejmuje się 3, aby ułatwić porównanie z rozkładem normalnym. Stosując tę definicję, rozkład miałby większą kurtozę niż rozkład normalny, gdyby miał wartość kurtozy większą niż 0.
W tym samouczku wyjaśniono, jak obliczyć zarówno skośność, jak i kurtozę danego zbioru danych w Pythonie.
Przykład: Skośność i spłaszczanie w Pythonie
Załóżmy, że mamy następujący zbiór danych:
data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81]
Aby obliczyć przykładową skośność i kurtozę tego zbioru danych, możemy użyć funkcji skew() i kurt() z biblioteki Scipy Stata z następującą składnią:
- odchylenie (tablica wartości, odchylenie = fałsz)
- kurt (tablica wartości, błąd = fałsz)
Argumentu odchylenie=Fałsz używamy do obliczenia skośności i kurtozy próbki w przeciwieństwie do skośności i kurtozy populacji.
Oto jak używać tych funkcji dla naszego konkretnego zbioru danych:
data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81] #calculate sample skewness skew(data, bias= False ) 0.032697 #calculate sample kurtosis kurtosis(data, bias= False ) 0.118157
Skośność wynosi 0,032697 , a kurtoza wynosi 0,118157 .
Oznacza to, że rozkład jest lekko skośny dodatnio i ma więcej wartości w ogonach w porównaniu do rozkładu normalnego.
Dodatkowe źródło: Kalkulator skośności i kurtozy
Można także obliczyć skośność dla danego zbioru danych, korzystając ze statystycznego kalkulatora skośności i kurtozy , który automatycznie oblicza skośność i kurtozę dla danego zbioru danych.