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()

Wykres QQ w Pythonie

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()

Wykres Q-Q z linią prostą w Pythonie przy użyciu matplotlib

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 .

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *