
Корреляционный анализ — мощный инструмент статистики и анализа данных, применяемый для выявления степени связи между переменными. Описаны принципы его работы, разновидности коэффициентов корреляции (Пирсона, Спирмена, Кендалла), особенности интерпретации результатов, а также распространенные ошибки. Уделено внимание практическому использованию метода в науке, бизнесе и машинном обучении.
Корреляционный анализ — это метод статистического исследования для определения степени связи между несколькими случайными величинами (переменными, признаками), описывающими предметную область. Простыми словами, корреляция показывает, как изменения одной случайной величины связаны с изменениями другой.
Сам термин «корреляция» происходит от латинского «correlatio» — соотношение. В широком смысле это понятие указывает на любой тип связи, которая может быть или не быть причинно-следственной. Однако в анализе данных и статистике под корреляцией обычно понимают степень связи между двумя случайными переменными, которые выступают в качестве признаков, описывающих объекты или процессы предметной области. Типичными примерами могут быть связь между ценой товара и объемом его продаж (чем ниже цена, тем больше покупателей), процентной ставкой и числом заемщиков.
Корреляционный анализ широко используется для поддержки принятия решений в различных сферах деятельности. Так, зная корреляцию между температурой воздуха и уровнем потребления электроэнергии, можно оптимизировать нагрузку электросетей. Кроме этого, в анализе данных корреляция между переменными используется для повышения качества аналитических моделей (например, при отборе переменных).
При этом корреляция показывает только степень зависимости между величинами, но не отражает причинно-следственных связей между описываемыми ими явлениями, что иногда приводит к бессмысленным и даже ложным выводам. Например, может наблюдаться сильная корреляция между ущербом от пожара и числом пожарных, задействованных при тушении. Здравый смысл подсказывает, что причина в том, что высокий ущерб получается от масштабных пожаров, на борьбу с которыми требуется много ресурсов. Хотя можно сделать и вывод, что минимальный ущерб от пожара будет, если его вообще не тушить.
Таким образом, наличие корреляции само по себе не является подтверждением наличия причинно-следственной связи, т.е. она не означает зависимость. И чтобы понять, почему возникла корреляция, необходимо дополнительное исследование с целью определить, существует ли связь между величинами в реальности или это просто случайное совпадение. Можно утверждать, что если корреляция все же наблюдается, то вероятность того, что коррелирующие величины связаны, выше, чем при ее отсутствии.
Возможны три случая, когда корреляция наблюдается:
Кроме этого, возможна ситуация, когда корреляция между величинами непосредственно не наблюдается, но каждая из них коррелирует с некоторой третьей величиной (например, интенсивность ландшафтных пожаров и уровень грунтовых вод могут быть связаны через количество осадков).
Несмотря на риск случайного совпадения, корреляция в большинстве случаев позволяет выявить неочевидные зависимости между признаками в наборах данных. При ее интерпретации необходимо учитывать контекст данных и особенности решаемой задачи. Обнаружение корреляции само по себе обычно не является ни целью исследования, ни его конечным результатом, а используется в комплексе с другими технологиями анализа данных для повышения качества решения.
В настоящее время корреляционный анализ является важнейшим инструментом исследования данных во многих областях, основными из которых являются:
Однако во всех случаях необходимо тщательно интерпретировать результаты корреляционного анализа, чтобы избежать обнаружения ложных причинно-следственных связей и получения на их основе ошибочных выводов и суждений.
Корреляция может быть:
Также возможен случай нелинейной корреляции, когда на разных диапазонах изменения коррелирующих величин характер связи между ними различен. Так, на рисунке для этого случая корреляция сначала положительная, а затем отрицательная.
Виды корреляций
Пусть требуется изучить связь между количеством часов обучения и оценками, полученными студентами. Если обнаружится, что с увеличением количества часов полученные оценки также увеличиваются, то между двумя переменными существует положительная корреляция. С другой стороны, если окажется, что с возрастанием этой величины оценки уменьшаются, то имеет место отрицательная корреляция. Если никакой связи нет, можно сделать вывод о нулевой корреляции.
Величиной, численно характеризующей корреляцию, является коэффициент корреляции, который принимает значения от -1 до 1. Значение 1 соответствует идеальной положительной корреляции, когда увеличение одного признака всегда приводит к увеличению другого, а -1 указывает на идеальную отрицательную корреляцию, когда возрастание одной переменной всегда приводит к уменьшению другой. Нулевое значение говорит о полном отсутствии корреляции, когда связь между величинами отсутствует.
На практике используют следующую градацию значений коэффициента корреляции по степени связи между величинами:
В зависимости от вида данных к которому относятся признаки, связь между которыми требуется измерить, используются несколько типов коэффициентов корреляции. Для вещественных (непрерывных) величин используется коэффициент корреляции Пирсона, а для признаков, измеренных в порядковой шкале — коэффициенты ранговой корреляции (Спирмена и Кендалла).
Коэффициент корреляции Пирсона. Является наиболее часто используемой мерой и служит для измерения связи между вещественными величинами. Он обозначается латинской буквой r и вычисляется по формуле:
r=\frac{\sum\limits_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})}{\sqrt{\sum\limits_{i=1}^{n}(x_{i}-\bar{x})\sum\limits_{i=1}^{n}(y_{i}-\bar{y})}}, (1)
где n — число наблюдений выборки x и y — переменные, между которыми измеряется корреляция, \bar{x} и \bar{y} их средние значения.
Пример вычисления коэффициента корреляции Пирсона.
| Месяц | Затраты на рекламу, тыс. руб | Продажи, тыс. руб |
|---|---|---|
| Январь | 36 | 659.30 |
| Февраль | 24 | 780.20 |
| Март | 18 | 429.50 |
| Апрель | 28 | 317.70 |
| Май | 21 | 564.80 |
| Июнь | 17 | 515.40 |
| Июль | 15 | 681.90 |
| Август | 26 | 945.70 |
| Сентябрь | 34 | 1230.90 |
| Октябрь | 32 | 985.20 |
| Ноябрь | 27 | 675.90 |
| Декабрь | 25 | 879.50 |
Обозначим затраты на рекламу x, а сумму продаж как y. Сначала рассчитаем средние:
\mu_{x}=\frac{1}{n}\sum\limits_{i=1}^{n}x_{i}\approx 25.3.
\mu_{y}=\frac{1}{n}\sum\limits_{i=1}^{n}y_{i}\approx 722.2.
Сумму произведений разностей в числителе рассчитаем с помощью таблицы.
| Месяц | x-\bar{x} | y-\bar{y} | (x-\bar{x})\cdot (y-\bar{y}) |
|---|---|---|---|
| Январь | 36.00-25.30=10.70 | 659.30-722.20=-62.90 | -673.03 |
| Февраль | 24.00-25.30=-1.30 | 780.20-722.20=58.00 | -75.40 |
| Март | 18-25.30=-7.30 | 429.5-722.20=-292.70 | 2 136.71 |
| Апрель | 28-25.3=2.70 | 317.70-722.20=-404.50 | -1 092.15 |
| Май | 21-25.30=-4.30 | 564.80-722.20=-157.40 | 676.82 |
| Июнь | 17-25.30=-8.30 | 515.40-722.20=-206.80 | 1 716.44 |
| Июль | 15-25.30=-10.30 | 681.90-722.20=-40.30 | 415.09 |
| Август | 26-25.30=0.70 | 945.70-722.20=223.50 | 156.45 |
| Сентябрь | 34-25.30=8.70 | 1230.90-722.20=508.70 | 4 425.69 |
| Октябрь | 32-25.30=6.70 | 985.20-722.20=263.00 | 1 762.10 |
| Ноябрь | 27-25.30=1.70 | 675.90-722.20=-46.30 | -78.71 |
| Декабрь | 25-25.30=-0.30 | 879.50-722.20=157.30 | -47.19 |
| Сумма | 9 322.82 |
Таким образом, числитель в формуле (1) составит 9 322.82
| Месяц | (x-\bar{x})^{2} | (y-\bar{y})^{2} |
|---|---|---|
| Январь | 114.49 | 3 956.41 |
| Февраль | 1.69 | 3 364.00 |
| Март | 53.29 | 85 673.29 |
| Апрель | 7.29 | 163 620.25 |
| Май | 18.49 | 24 774.76 |
| Июнь | 68.89 | 42 766.24 |
| Июль | 106.09 | 1 624.09 |
| Август | 0.49 | 49 952.25 |
| Сентябрь | 75.69 | 258 775.69 |
| Октябрь | 44.89 | 69 169.00 |
| Ноябрь | 2.89 | 2 143.69 |
| Декабрь | 0.09 | 24 743.69 |
| Сумма | 494.28 | 730 563.00 |
Подставив итоговые значения из таблиц в формулу (1), получим
r_{xy}\approx\frac{9 322.82}{\sqrt{494.28\cdot 730 563.00}}\approx\frac{9 322.82}{19 002.70}\approx0.49.
В нашем примере имеет место умеренная положительная корреляция между затратами на рекламу и уровнем продаж.
Коэффициенты ранговой корреляции
Как было отмечено выше, коэффициент корреляции Пирсона применим только для вещественных (непрерывных) переменных. В то же время, в задачах анализа данных часто встречаются категориальные признаки, которые могут быть определенным образом ранжированы, т.е. представлены в ранговой шкале, когда каждому значению присваивается некоторый ранг.
Шкала рангов упорядочивает наблюдения по степени выраженности значений признаков в соответствии с отношением «больше-меньше», в которой числа (ранги) определяют только порядок следования значений. При этом операции производятся именно над числовыми рангами, а не над значениями признаков. Каждый сталкивается со шкалой рангов при поступлении в школу, так как используемая там 5-балльная система оценки именно таковой и является.
Она позволяет оценить уровень знаний учащегося как: 1 — очень плохой, 2 — плохой, 3 — удовлетворительный, 4 — хороший и 5 — отличный. Таким образом, оперируя рангами, можно применять численные методы обработки к признакам, которые изначально представлены категориями. Аналогично можно построить и методы определения силы связи между качественными признаками.
Наиболее популярными методами определения силы связи между признаками, представленными в шкале рангов, являются коэффициенты корреляции Спирмена и Кендалла. Рассмотрим их более подробно.
Коэффициент ранговой корреляции Спирмена (обозначается r_{s}или греческой буквой \rho основан на измерении силы связи между рангами, а не абсолютными значениями. Кроме возможности работы с нечисловыми признаками, он имеет ряд преимуществ по сравнению с коэффициентом корреляции Пирсона, а именно:
Интуитивно понятно, что коэффициент корреляции Спирмена тем выше, чем в большем числе наблюдений выборки значения двух признаков будут иметь один и тот же ранг. Если ранги совпадают во всех наблюдениях, то r_{s} = 1, а если ранги в обратном порядке, то r_{s} = -1.
Рассмотрим пример. Пусть предприятие организовывало работу выездной торговой точки в течение 8 недель. При этом она каждую неделю работала определенное количество часов X, получая соответствующую выручку Y. Результаты работы можно представить в виде таблицы.
Таблица 1.
| Неделя | Время торговли, X час. | Выручка, Y тыс. руб. |
|---|---|---|
| 1 | 12 | 42 |
| 2 | 9 | 107 |
| 3 | 8 | 100 |
| 4 | 14 | 60 |
| 5 | 15 | 78 |
| 6 | 11 | 79 |
| 7 | 10 | 90 |
| 8 | 15 | 54 |
Даже простой визуальный анализ таблицы показывает, что выручка не пропорциональна времени работы: на 2-й неделе за 9 часов она составила 107 тыс. руб., а на 5-й за 15 часов — всего 78 тыс. руб. В связи с этим возникает вопрос: а стоит ли пытаться увеличить выручку за счет простого наращивания времени торговли? Или стоит поискать другие решения: правильно выбрать место и период дня? Именно в этом и может помочь коэффициент корреляции Спирмена, который покажет степень связи между продолжительностью торговли и выручкой.
Вычисление начнем с присвоения рангов. Для этого сначала упорядочим по возрастанию значения x_{i} признака X и присвоим им ранги d_{xi}, как показано в таблице 2.
Таблица 2.
| x_{i} | d_{xi} |
|---|---|
| 8 | 1 |
| 9 | 2 |
| 10 | 3 |
| 11 | 4 |
| 12 | 5 |
| 14 | 6 |
| 15 | 7 |
| 15 | 8 |
Аналогичную операцию проведем и для признака Y.
Таблица 3.
| y_{i} | d_{yi} |
|---|---|
| 42 | 1 |
| 54 | 2 |
| 60 | 3 |
| 78 | 4 |
| 79 | 5 |
| 90 | 6 |
| 100 | 7 |
| 107 | 8 |
В таблице с рангами для X можно увидеть, что два одинаковых значения x_{5}=15 и x_{8}=15 имеют разные ранги 7 и 8. Это вызывает неоднозначность: почему не наоборот? В таких случаях вычисляют среднеарифметический ранг для всех наблюдений с одинаковыми значениями и подставляют на место исходных значений. В нашем случае оно будет равно (7+8)/2=7.5. Поскольку признак Y не имеет одинаковых значений, применять аналогичную корректировку для него не обязательно.
Теперь вернем значениям признаков исходную последовательность и сведем результаты ранжирования в общую таблицу, подставив скорректированные ранги.
| x_{i} | d_{xi} | y_{i} | d_{yi} |
|---|---|---|---|
| 12 | 5 | 42 | 1 |
| 9 | 2 | 107 | 8 |
| 8 | 1 | 100 | 7 |
| 14 | 6 | 60 | 3 |
| 15 | 7.5 | 78 | 4 |
| 11 | 4 | 79 | 5 |
| 10 | 3 | 90 | 6 |
| 15 | 7.5 | 54 | 2 |
После присвоения рангов бывает полезным проверить его корректность. Для этого необходимо убедиться, что суммы рангов для обоих признаков равны:
\sum\limits_{i=1}^{n}d_{xi}=\sum\limits_{i=1}^{n}d_{yi}=\frac{(n+1)\cdot n}{2}=36.
Убедившись, что это так, перейдем непосредственно к вычислению коэффициента корреляции Спирмена на основе присвоенных рангов. Для этого можно использовать упрощенную формулу:
r_{s}=1-\frac{6\cdot \sum\limits_{i=1}^{n}(d_{xi}-d_{yi})^{2}}{n\cdot (n^{2}-1)}.
Следует отметить, что эта формула дает точное решение, только если нет дробных (связных) рангов. Однако если их не так много, а точность вычислений не столь критична, то ее можно использовать для получения приближенного решения. Заполним расчетную таблицу:
| x_{i} | d_{xi} | y_{i} | d_{yi} | d_{i}=(d_{xi}-d_{yi}) | d_{i}^{2} |
|---|---|---|---|---|---|
| 12 | 5 | 42 | 1 | 4 | 16 |
| 9 | 2 | 107 | 8 | -6 | 36 |
| 8 | 1 | 100 | 7 | -6 | 36 |
| 14 | 6 | 60 | 3 | 3 | 9 |
| 15 | 7.5 | 78 | 4 | 3.5 | 12.25 |
| 11 | 4 | 79 | 5 | -1 | 1 |
| 10 | 3 | 90 | 6 | -3 | 9 |
| 15 | 7.5 | 54 | 2 | 5.5 | 30.25 |
| \sum_{}^{}=149.5 |
Поскольку имеются дробные ранги, то формула дает лишь приближенный результат:
r_{s}\approx 1- \frac{6\cdot \sum\limits_{i=1}^{n}d_{i}^{2}}{n\cdot (n^{2}-1)}=\approx 1-\frac{6\cdot 149.5}{8\cdot (8^{2}-1)}\approx -0.78.
Как понять полученный результат? Поскольку ранговый коэффициент корреляции Спирмена эквивалентен коэффициенту корреляции Пирсона для рангов, то и интерпретации их значений аналогичны. Поэтому можно сказать, что имеет место сильная отрицательная корреляция между продолжительностью продаж и выручкой.
На первый взгляд результат обескураживает: получается, что чем меньше по времени идет торговля, тем больше выручка. Из этого можно сделать странный вывод: если свести время торговли до минимума, то выручка окажется максимальной. Однако здравый смысл подсказывает, что это не так. Действительно, ранее мы отметили, что коэффициент корреляции показывает только степень статистической зависимости и не объясняет причинно-следственных связей.
Более здравым предположением является, что если время и место выбраны удачно, то торговля идет интенсивно и товар распродается быстро, обеспечивая высокую выручку. Низкая выручка с длительным временем продажи говорит о том, что торговля идет вяло и товар остается нераспроданным. Таким образом, для увеличения выручки нужно определить локацию и время дня, когда непродолжительная торговля дала большую выручку.
Коэффициент ранговой корреляции Кендалла (обозначается греческой буквой \tau основан на следующих соображениях: он равен 1, если ранги для обоих признаков, между которыми измеряется связь, следуют в одном и том же порядке, и -1 — если в противоположном. Когда он по модулю меньше 1, это значит, что имеются нарушения порядка следования рангов.
Тогда в качестве меры связи между порядковыми признаками можно использовать количество перестановок, которое нужно сделать, чтобы устранить эти нарушения. Интуитивно понятно, что чем больше перестановок потребуется, тем слабее корреляция, и наоборот.
Вернемся к примеру, который мы использовали ранее для иллюстрации коэффициента ранговой корреляции Спирмена, где рассмотрели два признака: X и Y. Тогда выборку можно представить в виде множества пар (x_{1},y_{1})...(x_{n},y_{n}), где все значения x_{i} и y_{j} уникальны.
Любая пара наблюдений (x_{i},y_{i}) и (y_{j},y_{j}), где i\lt j, называются конкордантными или согласованными, если порядок сортировки (x_{i},x_{j}) и (y_{i},y_{j}) является согласованным, т.е. выполняется: x_{i}\gt x_{j} и y_{i}\gt y_{j} или x_{i}\lt x_{j} и y_{i}\lt y_{j}. В противном случае пары будут дисконкордантными или несогласованными.
Число дисконкордантных пар в выборке называется ранговым расстоянием Кендалла или τ-расстоянием.
Коэффициент ранговой корреляции Кендалла может быть рассчитан следующим образом:
\tau=\frac{C — D}{n}=1-\frac{2\cdot D}{ (n\cdot(n-1))/2},
где C — число конкордантных пар, D — число дисконкордантных пар, n — общее число пар.
Рассчитаем коэффициент ранговой корреляции Кендалла для ранее рассмотренного примера о связи выручки с продолжительностью торговли. Для этого нам понадобится таблица с установленными рангами для признаков. При этом ранги для первого признака упорядочиваются по возрастанию, а второго располагаются так, чтобы сохранилась связь с исходным расположением признаков. Для этого воспользуемся данными из таблиц 1, 2 и 3.
| d_{xi} | d_{yi} |
|---|---|
| 1 | 7 |
| 2 | 8 |
| 3 | 6 |
| 4 | 5 |
| 5 | 1 |
| 6 | 3 |
| 7.5 | 4 |
| 7.5 | 2 |
Теперь дополним расчетную таблицу двумя столбцами: P и Q. Для каждого ранга d_{yi} из числа следующих за ним рангов подсчитывается количество больших него по величине (заносится в столбец P) и число рангов, меньших по значению (заносится в столбец Q).
| d_{xi} | d_{yi} | P | Q |
|---|---|---|---|
| 1 | 7 | 1 | 6 |
| 2 | 8 | 0 | 6 |
| 3 | 6 | 0 | 5 |
| 4 | 5 | 0 | 4 |
| 5 | 1 | 3 | 0 |
| 6 | 3 | 1 | 1 |
| 7.5 | 4 | 0 | 1 |
| 7.5 | 2 | 0 | 0 |
| \sum_{}^{}=5 | \sum_{}^{}=23 |
Тогда для расчета можно использовать следующую формулу:
\tau=\frac{2\cdot (\sum_{}^{}P-\sum_{}^{}Q)}{n\cdot (n-1)}=\frac{2\cdot (5-23)}{8\cdot 7}\approx -0.64.
Как можно увидеть, коэффициент ранговой корреляции Кендалла \tau=-0.64, так же, как и Спирмена r_{s}=-0.78 для данного примера показывают значительную отрицательную корреляцию.
Значения коэффициентов корреляции Спирмена и Кендалла обычно ниже, чем Пирсона для тех же данных (если связь действительно линейная). Поэтому при интерпретации ранговых корреляций, как правило, используют более «либеральные» пороги для определения силы связи, чем для других ее типов.
Достаточно популярной является шкала Чеддока, предложенная в 1925 году:
| Абсолютное значение коэффициента | Сила связи |
|---|---|
| менее 0.3 | слабая |
| от 0.3 до 0.5 | умеренная |
| от 0.5 до 0.7 | значительная |
| от 0.7 до 0.9 | высокая |
| более 0.9 | очень высокая |
И в заключение рассмотрим, в каких случаях предпочтительно использовать коэффициент ранговой корреляции Спирмена, а в каких — Кендалла.
| Критерий выбора | Коэффициент Спирмена | Коэффициент Кендалла |
|---|---|---|
| Объем выборки | Большой | Малый |
| Наличие связных рангов | Плохо работает | Менее чувствителен |
| Чувствительность к аномальным значениям | Более чувствителен | Менее чувствителен |
| Вычислительная сложность | Ниже | Выше |
Несмотря на то, что корреляционный анализ широко используется в статистических исследованиях и анализе данных, подходить к интерпретации его результатов следует с осторожностью. Эту ситуацию хорошо иллюстрирует известная фраза: correlation does not imply causation — «корреляция не подразумевает причинно-следственную связь».
Эта фраза подчеркивает, что нельзя делать обоснованный вывод о причинно-следственной связи между двумя переменными только на основании наблюдаемой корреляции между ними. Идея о том, что «корреляция означает причинность», является примером логической ошибки сомнительной причины, при которой два события, происходящие одновременно, ошибочно принимаются за причинно-связанные.
Эта ошибка также известна по латинской фразе cum hoc ergo propter hoc — «вместе с этим, значит, из-за этого». Она отличается от другой ошибки — post hoc ergo propter hoc («после этого, значит, из-за этого»), при которой событие, следующее за другим, ошибочно считается его следствием.
Кроме того, при интерпретации значений коэффициентов корреляции следует учитывать феномен иллюзорной корреляции. Это явление заключается в том, что исследователь склонен видеть связь между переменными, даже когда ее нет. Особенно это характерно для редких или новых событий, которые более заметны и потому привлекают больше внимания.
При аккуратном и грамотном использовании корреляционный анализ является мощным инструментом исследования данных. Его результаты помогают принимать более обоснованные решения при оптимизации бизнес-процессов.
Дополнительные материалы: