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

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

Чтоозначает «корреляция» ?

Одним предложением: насколько образец подходит к другому образцу в наборе данных.

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

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

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

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

Методы корреляции

В целом мы можем разделить типы корреляции на два семейства на основе данных, которые мы используем: параметрические и непараметрические. Параметрический означает, что данные могут быть определены известным статистическим распределением, таким как распределение Гаусса — N~(𝝁, 𝝈²). Непараметрические относятся к другим группам данных, которые мы не можем определить с помощью известного статистического распределения.

Параметрическая корреляция

В этой категории у нас есть один основной метод, называемый корреляцией Пирсона r. Это наиболее распространенный метод корреляции, и обычно, если кто-то говорит вам, что рассчитал значение корреляции, он имеет в виду, что использовал этот метод корреляции Пирсона, особенно если он не знает его. Он измеряет колинеарность и определяется следующим образом:

где xᵢ — одна функция тестируемого вектора, а — среднее значение значений функций выборки. То же самое для yᵢ и в отношении другого образца.
Диапазон показателей корреляции: [-1 , 1]
Плюсы: простое, широко используемое, линейное соединение
Минусы: не подходит для более высоких полиномиальных (многомерных данных) рангов, не дает наилучших результатов для непараметрических данных

Еще одна корреляция — Расстояние, которая, в отличие от предыдущей, может работать с нелинейными распределениями. Корреляция рассчитывается на основе расстояний между значениями в векторе вместо правильных значений.
Диапазон показателей корреляции: [0, 1]
За: можно использовать с нелинейными распределениями
Против: не дает наилучшего результаты для непараметрических данных

Непараметрическая корреляция

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

Наиболее известной в этой подгруппе является ранговая корреляция ро Ро Спирмена. Он определяется следующим образом:

где dᵢ — разница между двумя рангами выборок, например отсортированный образец на 1-й позиции и еще один на 5-й позиции, а n – количество функций.
Диапазон показателей корреляции: [-1, 1]
Плюсы: простота, подходит для непараметрических данных
Минусы: не показывает прямую связь между точками данных — например, нежелательное искажение между двумя примерами графиков.

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

где n – количество признаков.
Диапазон показателей корреляции: [-1, 1]
За: более надежный и эффективный
Против: интерпретация менее прямая

Последнее, о чем я хотел бы упомянуть, — это корреляция D Hoeffding. Он применяется к данным, полученным из непрерывного распределения.
Диапазон показателей корреляции: [-0,5, 1]
Плюсы : более надежен
Минусы: подходит только для данных, взятых из одного и того же непрерывного распределения

Манипуляции

Одна специальная версия корреляции Пирсона определяется следующим образом:

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

где aᵢᵢ — элементы на главной диагонали.
Диапазон корреляции: [-1, 1]
Плюсы: корреляция между случайные векторы
Минусы: работают только с векторами и матрицами

Еще одна манипуляция, которую мы можем реализовать, — это то, что я назвал Корреляция сегментов. Концепция основана на выборе одного из вышеперечисленных подходов, разделении признаков (или значений в векторе) на группы на основе знаменателя (например, схожих диапазонов значений), вычислении корреляции между выборками для каждой группы каждый раз отдельно, а затем объединении все при взвешивании, например, усреднение всех, и это будет наша окончательная оценка.
Диапазон оценки корреляции: полученный на основе выбранного метода корреляции
За: подчеркивает связь между небольшими группами функций выборки
Против: не учитывает вся картина
Я попробовал этот метод дважды: с помощью корреляции Пирсона и с помощью корреляции Спирмена. Я также попытался взвесить связь по количеству функций в каждой группе по сравнению со всеми функциями, которые у меня есть.

Заключение

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