Jak utworzyć wykres qq w pythonie
Wykres QQ , skrót od „kwantyl-kwantyl”, jest często używany do oceny, czy zbiór danych potencjalnie pochodzi z rozkładu teoretycznego.
W większości przypadków ten typ wykresu służy do określenia, czy zbiór danych ma rozkład normalny .
W tym samouczku wyjaśniono, jak utworzyć wykres QQ dla zestawu danych w języku Python.
Przykład: wykres QQ w Pythonie
Załóżmy, że mamy następujący zestaw danych składający się ze 100 wartości:
import numpy as np #create dataset with 100 values that follows a normal distribution np.random.seed(0) data = np.random.normal(0,1, 1000) #view first 10 values data[:10] array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799, -0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])
Aby utworzyć wykres QQ dla tego zbioru danych, możemy użyć funkcji qqplot() z biblioteki statsmodels:
import statsmodels.api as sm import matplotlib.pyplot as plt #create QQ plot with 45-degree line added to plot fig = sm.qqplot(data, line='45') plt.show()
Na wykresie QQ oś x przedstawia kwantyle teoretyczne . Oznacza to, że nie pokazuje rzeczywistych danych, ale raczej wskazuje, gdzie znajdowałyby się Twoje dane, gdyby były normalnie dystrybuowane.
Oś Y wyświetla aktualne dane . Oznacza to, że jeśli wartości danych przebiegają mniej więcej po linii prostej pod kątem 45 stopni, wówczas dane mają rozkład normalny.
Na powyższym wykresie QQ widzimy, że wartości danych mają tendencję do zbliżenia się do 45 stopni, co oznacza, że dane mają prawdopodobnie rozkład normalny. Nie powinno to być zaskakujące, ponieważ wygenerowaliśmy 100 wartości danych za pomocą funkcji numpy.random.normal() .
Zamiast tego rozważ, czy wygenerowaliśmy zbiór danych składający się ze 100 równomiernie rozłożonych wartości i utworzyliśmy wykres QQ dla tego zbioru danych:
#create dataset of 100 uniformly distributed values data = np.random.uniform(0,1, 1000) #generate QQ plot for the dataset fig = sm.qqplot(data, line='45') plt.show()
Wartości danych wyraźnie nie odpowiadają czerwonej linii 45 stopni, co wskazuje, że nie mają rozkładu normalnego.
Uwagi na temat wykresów QQ
Należy pamiętać o następujących uwagach dotyczących wykresów QQ:
- Chociaż wykres QQ nie jest formalnym testem statystycznym, zapewnia prosty sposób wizualnego sprawdzenia, czy zbiór danych ma rozkład normalny, czy nie.
- Należy uważać, aby nie pomylić wykresów QQ z wykresami PP , które są rzadziej używane i mniej przydatne do analizy wartości danych znajdujących się na końcu rozkładu.
Więcej samouczków dotyczących Pythona znajdziesz tutaj .