Як створити графік qq у python


Діаграма QQ , скорочення від «квантиль-квантиль», часто використовується для оцінки того, чи набір даних потенційно походить із теоретичного розподілу.

У більшості випадків цей тип графіка використовується, щоб визначити, чи відповідає набір даних нормальному розподілу .

У цьому посібнику пояснюється, як створити діаграму QQ для набору даних у Python.

Приклад: графік QQ у Python

Припустимо, ми маємо наступний набір даних зі 100 значень:

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

Щоб створити діаграму QQ для цього набору даних, ми можемо використати функцію qqplot() із бібліотеки 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()

QQ Plot у Python

На графіку QQ вісь x відображає теоретичні квантилі . Це означає, що він не показує ваші фактичні дані, а скоріше представляє, де ваші дані були б, якби вони розповсюджувалися нормально.

На осі Y відображаються поточні дані . Це означає, що якщо значення даних йдуть приблизно по прямій лінії під кутом 45 градусів, то дані розподіляються нормально.

Ми бачимо на нашому графіку QQ вище, що значення даних, як правило, точно відповідають 45 градусам, тобто дані, швидше за все, розподіляються нормально. Це не повинно дивувати, оскільки ми згенерували 100 значень даних за допомогою функції numpy.random.normal() .

Натомість подумайте, чи ми створили набір даних зі 100 рівномірно розподілених значень і створили графік QQ для цього набору даних:

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

Графік Q-Q з прямою лінією в Python за допомогою matplotlib

Значення даних явно не йдуть за червоною лінією під кутом 45 градусів, що вказує на те, що вони не відповідають нормальному розподілу.

Примітки щодо графіків QQ

Майте на увазі такі примітки щодо графіків QQ:

  • Хоча графік QQ не є офіційним статистичним тестом, він надає простий спосіб візуально перевірити, чи набір даних розподілений нормально чи ні.
  • Будьте обережні, щоб не сплутати графіки QQ із графіками PP , які рідше використовуються та менш корисні для аналізу значень даних, які потрапляють у хвости розподілу.

Ви можете знайти більше посібників з Python тут .

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *