Рожают ли аисты детей? Хотя это было теоретически доказано в контексте корреляции и причинности, в этой статье исследуется корреляция и ее отличие от причинности.

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

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

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

  • Один или несколько атрибутов зависят от другого атрибута или причины для другого атрибута.
  • Один или несколько атрибутов связаны с другими атрибутами.

Итак, чем полезна корреляция?

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

Давайте подробнее рассмотрим, что это означает и чем может быть полезна корреляция. Есть три типа корреляций:

Положительная корреляция: означает, что если характеристика A увеличивается, функция B также увеличивается, или если функция A уменьшается, то функция B также уменьшается. Обе функции движутся в тандеме и имеют линейную связь.

Отрицательная корреляция: означает, что если характеристика A увеличивается, функция B уменьшается, и наоборот.

Нет корреляции: нет связи между этими двумя атрибутами.

Каждый из этих типов корреляции может существовать в спектре, представленном значениями от 0 до 1, где слегка или сильно положительные признаки корреляции могут быть примерно 0,5 или 0,7. Если имеется сильная и идеальная положительная корреляция, то результат представлен значением оценки корреляции 0,9 или 1.

Если есть сильная отрицательная корреляция, она будет представлена ​​значением -1.

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

Как мне справиться с этой проблемой?

Есть несколько способов справиться с этой проблемой. Самый простой способ - удалить или устранить одну из идеально коррелированных функций. Другой способ - использовать алгоритм уменьшения размерности, такой как Анализ основных компонентов (PCA).

Матрица корреляции Спирмена VS Пирсона:

Спирмен и Пирсон - это два статистических метода для расчета силы корреляции между двумя переменными или атрибутами. Коэффициент корреляции Пирсона можно использовать с непрерывными переменными, имеющими линейную зависимость. Вот пример:

Чтобы распечатать оценку коэффициента Пирсона, я просто запускаюpearsonr(X,Y) и получаю следующие результаты: (0.88763627518577326, 5.1347242986713319e-05), где первое значение - это коэффициенты корреляции Пирсона, а второе значение - это P-значение. 0,8 означает, что переменные сильно коррелированы.

Если переменные имеют нелинейную связь, вы можете измерить корреляцию с помощью коэффициента корреляции Спирмена . Его также можно использовать с порядковыми категориальными переменными. Вы можете получить оценку коэффициента Спирмена, выполнив: scipy.stats.spearmanr(X,Y)

Это может показаться сложным, особенно с многомерными наборами данных. В этом случае лучше визуализировать корреляцию в матрице. Вот как это можно сделать с помощью pandas. Я использую Набор данных прогнозирования безопасных драйверов Porto Seguro от Kaggle:

Как вы можете видеть в приведенной выше матрице, существует высокая корреляция между переменными ps_reg_03 и ps_reg_02, а также между ps_car_12 и ps_car_13 и так далее.

Существует также еще один популярный метод - коэффициент Тау Кендалла, который также основан на переменных рангах, но в отличие от коэффициента Спирмена, он не учитывает разницу между рангами. Поскольку в центре внимания данной статьи находится корреляция Пирсона и Спирмена, метод Кендалла выходит за рамки данной статьи.

Заблуждение (рожают ли аисты детей?):

Корреляция часто интерпретируется как причинная связь, что является большим заблуждением. Корреляция между переменными НЕ указывает на причинную связь. Любая сильно коррелированная переменная должна быть изучена и тщательно продумана. Вот (юмористическая) немецкая статья, в которой корреляция использовалась для доказательства теории о том, что детей рожают аисты. Исследование показывает значительную корреляцию между увеличением популяции аистов вокруг города и увеличением количества родов за пределами городских больниц.

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

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