Как создать график 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 ось 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()
Значения данных явно не соответствуют красной линии под углом 45 градусов, что указывает на то, что они не соответствуют нормальному распределению.
Примечания к графикам QQ
Имейте в виду следующие примечания относительно графиков QQ:
- Хотя график QQ не является формальным статистическим тестом, он предоставляет простой способ визуально проверить, нормально ли распределен набор данных или нет.
- Будьте осторожны и не путайте графики QQ с графиками PP , которые используются реже и менее полезны для анализа значений данных, попадающих в хвосты распределения.
Дополнительные уроки по Python вы можете найти здесь .