Корреляция (Correlation) - Лена Капаца
Корреляция (Correlation) by Лена Капаца Dec. 13, 2020

Корреляция (причинность, взаимозависимость) – мера взаимосвязи переменных друг с другом. В Машинном обучении (ML) зачастую подразумевается как взаимосвязь переменной-предиктора и целевой переменной (Target Variable).

В статистике корреляция – метод, который определяет, как одна переменная изменяется по отношению к другой, поскольку в большинстве случаев полезно выражать одну тему с точки зрения ее отношений с другими.

Самой распространенной в Машинном обучении по праву считается корреляция Пирсона и высчитывается это коэффициент следующим образом:

$$r_x = \frac{n * Σ(x_i * y_i) - Σx_i * Σy_i}{\sqrt{(n * Σ{x_i^2} - (Σx_i)^2) - (n * Σ{y_i^2} - (Σy_i)^2)}}$$
$$n\space{–}\space{количество}\space{наблюдений,}$$
$$x_i\space{–}\space{значения,}\space{принимаемые}\space{первой}\space{переменной,}$$
$$y_i\space{–}\space{значения},\space{принимаемые}\space{второй}\space{переменной}$$

Пример. Двадцати школьникам были даны тесты на наглядно-образное и вербальное мышление. Измерялось среднее время решения заданий теста в секундах. Психолога интересует вопрос: существует ли взаимосвязь между временем решения этих задач? Переменная X – среднее время решения наглядно-образных, а переменная Y – среднее время решения вербальных заданий.

Представим данные в виде таблицы, где время решения наглядно-образных задач – X, вербальных – Y, а n – количество учеников. Снабдим ее дополнительными расчетными метриками – произведением X и Y, а также X и Y в квадрате по отдельности. Дополнительно вычислим сумму значений каждого столбца.

Выполнив подстановку, мы получим:

$$r_x = \frac{20 * 20 089 - 731 * 518}{\sqrt{(20 * 27 873 - 731^2) - (20 * 16 000 - 518^2)}} = 0,669$$

Отлично! Мы получили сильную корреляцию, поскольку принято разграничивать ее типы следующими интервалами:

Чем лучше ученик решает наглядно-образные задачи, тем лучше он справляется и с вербальными. Визуализируем это Наблюдение (Observation), отсортировав для наглядности таблицу от большего к меньшему по столбцу X.

Построим Точечную диаграмму (Scatterplot) на базе этой таблицы:

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

Существует несколько классификаций корреляции:

Нелинейная корреляция

В Машинном обучении принято рассматривать пять типов такой взаимозависимости – r (коэффициент корреляции Пирсона), p (к. к. Спирмана), τ ("тау", к. к. Кендалла), φk ("фи-ка", к. фи-корреляции), φc ("фи-Крамер", к. к. Крамера).

Матрица корреляции, вычисленная с помощью библиотеки pandas-profiling

Чем ярче (краснее / синее) ячейка, тем сильнее выражена корреляция. Диагональные ячейки игнорируются, поскольку являются результатом расчета коэффициента между переменной и ее копией.

Корреляция и причинность

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

Фото: @anniespratt

© Лена Капаца. Все права защищены.