Как понять, что выборка данных принадлежит определенному распределению? Есть 2 метода: аналитический тест Колмогорова-Смирнова (тест Шапиро-Уилка для нормального) и графический метод при помощи графика квантиль-квантиль плот.

Чем так замечателен второй вариант? Q-Q plot позволяет кроме принадлежности:

  • оценить степень отклонения данных от теоретического распределения

  • графически проиллюстрировать такие параметры как расположение данных, масштаб и скошенность. Читаем: медиану, дисперсию и наклон функции плотности распределения.

  • сравнить две выборки между собой

  • делать выводы, не основываясь на таких спорных показателях как p.value.

Фактически, p.value в случае Q-Q Plot будет оценивать человеческий мозг на основе визуального изучения.

Графический метод является мощнейшим инструментом анализа, но как сказано в англоязычной статье википедии про Q-Q Plots, требует серьезных навыков для интерпретации. В данной статье я представляю дорожную карту пути к пониманию квантильных графиков.

С чего начинать? Сперва стоит посмотреть видео на YouTube от StatQuest. Это тот самый автор, который на обложке видеороликов пишет "... Clearly Explained". Если у вас Яндекс-браузер, то вы можете смотреть его видео почти на русском. Есть упомянутая статья в википедии, а также отличный текст на Медиуме. Мне показалось, что это лучшее, что можно найти в поиске по теории, если просто вбивать в строку браузера "Understanding QQ-Plots". Напишите в комментариях вашу любимую статью по квантильным графикам.

Несмотря на замечательные материалы, которые я упомянул, у меня не сложилось полноценного понимания QQ-Plots. Я до сих пор не могу с ходу представить в голове распределение, если мне показать квантильный график. Но в процессе их изучения я смог осознать несколько важных тезисов, с которыми и хочу вас познакомить при помощи визуализаций на Wolfram Mathematica.

В статье я представляю идеальные квантильные графики. Выводы, сделанные на их основе легко переносятся на соответствующие распределения выборочных данных в случае большого их объема (см. Рис. 1). На графиках в статье по горизонтальной оси я буду откладывать только теоретические квантили стандартного нормального распределения.

1. Квантили

Начнем с трех важнейших определений: дискретный квантиль выборки, дискретный квантиль функции плотности распределения и квантиль-функция.

Квантиль дискретной выборки — это одна из точек, делящих упорядоченную последовательность чисел на равные части.

Рис. 1: (а) и (б) Иллюстрация возможных квантилей выборки. (в) Иллюстрация квантилей, используемых для построения Q-Q Plot — самих значений выборки.
Рис. 1: (а) и (б) Иллюстрация возможных квантилей выборки. (в) Иллюстрация квантилей, используемых для построения Q-Q Plot — самих значений выборки.

Обращаю ваше внимание, что понятия 0.25 квантиль, 1 квартиль и 25 персентиль обозначают одно и то же, как и 2 квартиль, 0.5 квантиль и 50 персентиль.

Квантиль непрерывного распределения — это одна из точек, делящих функцию плотности распределения на участки, вероятность попадания в которые одинакова, то есть на участки одинаковой площади.

Рис. 2: Иллюстрация квантилей непрерывного распределения.
Рис. 2: Иллюстрация квантилей непрерывного распределения.

Квантиль-функция — это функция, которая по значению вероятности P возвращает такое число (квантиль) q, что вероятность того, что случайная величина примет значение меньше q равняетсяP.

Quantile(P) = q : Probability(x<q) = P
Рис. 3: Иллюстрация квантиль-функции.
Рис. 3: Иллюстрация квантиль-функции.

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

2. Главный квантильный график

Для начала построим базовый Q-Q Plot — теоретических квантилей стандартного нормального распределения от теоретических квантилей стандартного нормального распределения. На следующей картинке (рисунок слева) в виде непрерывной прямой показана зависимость этих теоретических квантилей. Горизонтальные прямые делят распределение оси y на 8 равных по площади промежутков, а вертикальные прямые делят распределение на оси x на 8 равных промежутков и визуализируют появление непрерывной прямой, которую вы наблюдаете.

На рисунке справа я тоже построил квантильный график, но в этом случае по оси y отложил квантили выборки из 200 чисел, случайно выбранных из стандартного нормального распределения. Обращаю ваше внимание, что в случае квантильного графика выборки, за квантиль выбирается каждая точка наших данных, как показано в нижней части на рисунке 1. Далее в статье я буду опускать построение выборочного квантильного графика. Повторюсь, что на больших объемах выборки квантильный график будет полностью повторять теоретическую зависимость.

Как мы видим, в случае одинаковых распределений Q-Q Plot представляет собой прямую линию y = x, причем масштаб нормальных распределений не имеет значения, главное, чтобы у них совпадали средние значения и стандартное отклонение. Этот вывод переносится на случай произвольных распределений.

3. Физический смысл коэффициентов прямой

Рис. 5: Зависимость теоретических квантилей нормального распределения N(5, 1) от теоретических квантилей стандартного нормального N(0, 1).
Рис. 5: Зависимость теоретических квантилей нормального распределения N(5, 1) от теоретических квантилей стандартного нормального N(0, 1).

Что произойдет с прямой, если у распределения на оси y поменять среднее значение (и медиану, соответственно)? Построенная прямая сместится таким образом, чтобы медиане квантилей на оси x соответствовала медиана квантилей на оси y. На рисунке слева визуально ничего не изменилось, только по оси y отложены квантили нормального распределения со средним 5 стандартным отклонением 1.

Таким образом:

  • При построении Q-Q Plot от теоретических квантилей стандартного нормального распределения значение квантильной зависимости в нуле имеет смысл медианы распределения, которое мы строим на оси y.

А что произойдет с прямой, если у распределения на оси y поменять стандартное отклонение?

Рис. 6: Зависимость теоретических квантилей (а) нормального распределения N(0, 0.5) и (б) нормального распределения N(0, 2) — от теоретических квантилей стандартного нормального распределения N(0, 1).
Рис. 6: Зависимость теоретических квантилей (а) нормального распределения N(0, 0.5) и (б) нормального распределения N(0, 2) — от теоретических квантилей стандартного нормального распределения N(0, 1).

Ответ представлен на Рисунке 6. Поигравшись с параметрами можно сделать следующий вывод:

  • При построении Q-Q Plot от теоретических квантилей стандартного нормального распределения тангенс наклона прямой имеет смысл стандартного отклонения распределения, которое мы строим на оси y. Если прямая положе, чем y = x (Рис. 4а), то нормальное распределение, построенное на вертикальной оси менее дисперсно, чем распределение, построенное на горизонтальной оси. Если прямая круче, чем y = x (Рис. 4б), то распределение, построенное не вертикальной оси более дисперсно, чем распределение, построенное на горизонтальной оси.

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

4. Линия главного тренда на примере скошенных распределений

Все бы хорошо, да кроме нормальных распределений есть еще много других. Если в случае построения околонормального распределения все точки стелятся вдоль прямой линии как на Рис. 4б (коэффициенты которой очень легко интерпретируются), то в случае, например, скошенных распределений точки на прямую ложиться не будут.

При построении Q-Q Plot многие программные пакеты подбирают и изображают некоторую прямую, которая называется линией главного тренда (англ. Reference Line).

Рис. 7: (а) Зависимость квантилей скошенного вправо нормального распределения 
SkewNormalDistr(0, 1, 3) и (б) скошенного влево нормального распределения SkewNormalDistr(0, 1, -3)
— от теоретических квантилей стандартного нормального распределения N(0, 1).
Рис. 7: (а) Зависимость квантилей скошенного вправо нормального распределения SkewNormalDistr(0, 1, 3) и (б) скошенного влево нормального распределения SkewNormalDistr(0, 1, -3) — от теоретических квантилей стандартного нормального распределения N(0, 1).

Intercept и slope этой контрольной прямой имеют смысл среднего и стандартного отклонения нормального распределения, "наилучшим образом" подходящего к нашим данным. Как написано в замечательном гайде по q-q plots на языке SAS есть 3 способа это сделать:

  1. Провести прямую по двум точкам: через 1 и 3 квартили.

  2. Провести прямую методом наименьших квадратов.

  3. К выборочным данным подобрать среднее и стандартное отклонение генеральной совокупности, используя метод максимального правдоподобия и провести прямую, иллюстрирующую зависимость теоретических квантилей подобранного идеального нормального распределения от теоретических квантилей стандартного нормального (или любого другого, используемого при построении).

Мнение автора по интерпретации 1 и 2 способа.

В первом случае "идеальная прямая" будет соответствовать нормальному распределению со средним, равным среднему значению 1 и 3 квартилей выборки и стандартным отклонением, равным отношению межквартильного размаха распределения на оси y и межквартильного размаха распределения на оси x.

tg(\alpha) = \frac{IQR(y)}{IQR(x)}

где IQR(x) и IQR(y) — межквартильный размах распределений, построенных на осях y и x соответственно. Для стандартного нормального распределения IQR(x) примерно равен 1.35.

Во втором случае тангенс наклона прямой будет равен произведению корреляции квантилей изображенных распределений — на стандартное отклонение распределения на оси y.

tg(\alpha) = corr(x,y) \, sd(y)

где corr — корреляция, а sd — стандартное отклонение. Это следует из формул для коэффициентов регрессионной прямой, а также из того факта, что для стандартного нормального распределения sd(x) = 1.

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

Разные программные пакеты строят эту линию, используя один из указанных подходов. Если есть большая потребность узнать методы построения, можно заглянуть в документацию. Но если это не принципиально, можно ориентироваться на главную идею: линия главного тренда представляет прямую идеального нормального распределения для наших данных.

Выводы:

  • Если оба конца квантильного графика находятся выше прямой главного тренда, то скорее всего это распределение скошено вправо.

  • Если оба конца квантильного графика находится ниже прямой главного тренда, то скорее всего это распределение скошено влево.

5. Изогнутые Q-Q Plots: Равномерное, Бимодальное и t-распределения.

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

Рис. 8: Зависимость теоретических квантилей (a) равномерного распределения Uniform(-1, 1) (б) равномерного распределение Uniform(-2,2) (в) бимодального распределения из двух нормальных N(-1,0.5) и N(1, 0.5) и (г) бимодального распределения из двух нормальных N(-1, 0.3) и N(1, 0.3) — от теоретических квантилей стандартного нормального распределения N(0, 1)
Рис. 8: Зависимость теоретических квантилей (a) равномерного распределения Uniform(-1, 1) (б) равномерного распределение Uniform(-2,2) (в) бимодального распределения из двух нормальных N(-1,0.5) и N(1, 0.5) и (г) бимодального распределения из двух нормальных N(-1, 0.3) и N(1, 0.3) — от теоретических квантилей стандартного нормального распределения N(0, 1)

Квантиль-квантиль плот для равномерного и бимодальных распределений представляют собой S - Образную кривую. В случае равномерного распределения кривая стелется вдоль линии главного тренда, а в случае бимодального пересекает ее. Обращаю также ваше внимание на поведение буквы S в нуле в случае бимодального распределения. Если разрыв между горбами велик, то квантильная зависимость в этом месте становится почти вертикальной.

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

Рис. 9: Зависимость теоретических квантилей (а) распределения Стьюдента с 2 степенями свободы и (б) распределения Стьюдента с 6 степенями свободы — от теоретических квантилей стандартного нормального распределения N(0, 1).
Рис. 9: Зависимость теоретических квантилей (а) распределения Стьюдента с 2 степенями свободы и (б) распределения Стьюдента с 6 степенями свободы — от теоретических квантилей стандартного нормального распределения N(0, 1).

Здесь мы тоже видим змееобразную кривую, но она представляет собой букву Sзеркально-отраженную относительно линии главного тренда.

Бонус: Экспоненциальное распределение

Рис. 10: Зависимость теоретических квантилей экспоненциального распределения с параметром 1 Exp(1) — от теоретических квантилей стандартного нормального распределения N(0, 1).
Рис. 10: Зависимость теоретических квантилей экспоненциального распределения с параметром 1 Exp(1) — от теоретических квантилей стандартного нормального распределения N(0, 1).

На следующем рисунке изображён первый график из англоязычной статьи Википедии про Q-Q Plots. Обращаю еще раз ваше внимание на то, что значение квантильного графика в нуле — это медиана распределения, которое мы строим вдоль оси y. На данном квантильном графике не изображена линия главного тренда. Пунктирная прямая представляет график функции y = x.

Заключение

Если делать summary, то главным является следующее.

  • Если точки на графике Q-Q Plot стелятся вдоль какой-то прямой, то наши данные неплохо соответствуют теоретическим квантилям, отложенным по горизонтальной оси.

Если мы строим Q-Q Plot от теоретических квантилей стандартного нормального распределения, то:

  • Значение получившейся функции в нуле — это медиана нашей выборки. Вообще все квантили нашей выборки соответствуют квантилям распределения на оси x, а не только медиана :)

  • Тангенс линии тренда соответствует стандартному отклонению нормального распределения, наилучшим образом описывающем нашу выборку. Значение линии главного тренда в нуле соответствует его среднему значению

  • Равномерное распределение - это S-образная кривая, стелющаяся вдоль линии тренда, бимодальное распределение - это S-образная кривая, пересекающая линию тренда. t-распределение - это зеркально отраженная S-образная кривая.

Я буду рад, если моя статья поможет кому-то в понимании QQ-Plots. Поделитесь в комментариях вашим любимым учебным материалом по квантильным графикам или примером реального их использования в анализе данных.

Благодарю Анастасию Котликову за ценное обсуждение способов построения линии главного тренда и за помощь в интерпретации ее коэффициентов.

Комментарии (2)


  1. ksigne
    19.09.2021 11:03
    +1

    Спасибо, отличные иллюстрации! Если эти иллюстрации получены на питоне, я осмелюсь попросить сниппет.


    1. volodya_research Автор
      19.09.2021 15:16

      Очень рад, что вам понравилось! Первую иллюстрацию я рисовал в Miro, а остальные строил в Wolfram Mathematica. Суммарный код к каждому графику получился настолько большим, что я не стал включать его в статью.