Как использовать графики QQ для проверки нормальности


График QQ, сокращение от графика «квантиль-квантиль», используется для оценки того, потенциально ли набор данных получен из некоторого теоретического распределения.

В большинстве случаев этот тип графика используется для определения того, соответствует ли набор данных нормальному распределению.

Если данные распределены нормально, точки на графике QQ будут лежать на прямой диагональной линии.

И наоборот, чем больше точки на графике значительно отклоняются от прямой диагональной линии, тем менее вероятно, что набор данных следует нормальному распределению.

В следующих примерах показано, как создавать графики QQ в R для проверки нормальности.

Пример 1: График QQ для нормальных данных

В следующем коде показано, как сгенерировать нормально распределенный набор данных с 200 наблюдениями и создать график QQ для набора данных в R:

#make this example reproducible
set. seed (1)

#create some fake data that follows a normal distribution
data <- rnorm(200)

#create Q-Q plot
qqnorm(data)
qqline(data)

Мы видим, что точки лежат в основном вдоль прямой диагональной линии с небольшими отклонениями вдоль каждого из хвостов.

Основываясь на этом графике, мы можем с уверенностью предположить, что этот набор данных имеет нормальное распределение.

Пример 2: График QQ для ненормальных данных

В следующем коде показано, как создать график QQ для набора данных, который соответствует экспоненциальному распределению с 200 наблюдениями:

#make this example reproducible
set. seed (1)

#create some fake data that follows an exponential distribution
data <- rexp(200, rate=3)

#create Q-Q plot
qqnorm(data)
qqline(data)

Мы видим, что точки значительно отклоняются от прямой диагональной линии. Это явный признак того, что набор данных не является нормально распределенным.

Это должно иметь смысл, учитывая, что мы указали, что данные должны следовать экспоненциальному распределению.

Графики QQ и гистограммы

Стоит отметить, что графики QQ — это способ визуально проверить, соответствует ли набор данных нормальному распределению.

Другой способ визуально проверить нормальность — создать гистограмму набора данных. Если данные примерно повторяют форму кривой колокола на гистограмме, мы можем предположить, что набор данных имеет нормальное распределение.

Например, вот как создать гистограмму для нормально распределенного набора данных из ранее:

#make this example reproducible
set. seed (1)

#create some fake data that follows a normal distribution
data <- rnorm(200)

#create a histogram to visualize the distribution
hist(data) 

А вот как создать гистограмму для набора данных, которая следует экспоненциальному распределению из предыдущего:

#make this example reproducible
set. seed (1)

#create some fake data that follows an exponential distribution
data <- rexp(200, rate=3)

#create a histogram to visualize the distribution
hist(data) 

Мы видим, что гистограмма совсем не похожа на кривую нормального распределения, что ясно указывает на то, что данные не следуют нормальному распределению.

Дополнительные ресурсы

Что такое предположение о нормальности в статистике?
Как создать график QQ в R
Как создать график QQ в Excel
Как создать график QQ в Python