сбивающий с толку относительно кластеризации k-means для корреляции данных

Вопрос или проблема

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

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

A =[[I1-1, I2-1, .... I100-1],  (I1-1 — это цена инструмента 1 в день 1)
    [I1-2, I2-2, .... I100-2],
    ....
    [I1-365, I-2365, .... I100-365]
    ]

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

   C =[C1-2, C1-3,...C1-100,C2-3,....C99-100] (C1-2 — это корреляция ценовых колебаний между инструментами 1 и 2 за весь год)

Затем я хотел бы применить алгоритм кластеризации K-Means, чтобы классифицировать корреляцию, скажем, на 10 категорий. Таким образом, в теории я создал 10 категорий, в которых цены начали двигаться вместе.

Однако, чем больше я об этом думаю, тем больше я понимаю, что это не совсем корректно. Например, если это мой результат корреляции:

 C =[0.35, 0.59,...0.88(C1-100),0.48,....0.99(C99-100)]

Разве кластеризация K-Means может классифицировать C1-100, C99-100 в один кластер, а C1-2, C1-3, C2-3 в другой кластер?

Когда я читаю это, это означает, что инструмент 1, 100, 99 в одной категории, а инструменты 1, 2, 3 в другой категории. Но я хотел бы, чтобы каждый инструмент был доступен только в одной категории, так что, похоже, в моей идее есть недочет, или, может быть, моя идея совершенно неверна?

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

По сути, вы начнете с вашей матрицы корреляции $R$ и построите соответствующую матрицу Лапласа $L$. Собственные векторы, соответствующие наименьшим собственным значениям $L$, дадут вам проекционное пространство, в котором вы можете выполнить кластеризацию k-means.

Эта техника эффективна, если у вас есть хорошая мера сходства, но работает только для достаточно больших наборов данных (потому что вам нужно собственное разложение матрицы $n \times n$).

Ответ или решение

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

1. Понимание проблемы

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

2. Проблема с K-средними

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

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

3. Альтернатива: Спектральное кластерирование

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

  1. Корреляционная матрица. Начните с вашей корреляционной матрицы $R$. Этот шаг уже у вас выполнен.

  2. Построение лапласиана. На основе матрицы корреляции создайте лапласиан $L$. Это позволит вам учесть структуру данных и выделить группы инструментов более осмысленно.

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

  4. K-средние в новом пространстве. Примените алгоритм K-средних в полученном пространстве, что позволит более корректно разделить ваши инструменты на категории, сохраняя их взаимозависимости.

4. Заключение

Вы верно отмечаете, что при простом использовании K-средних могут возникнуть нежелательные результаты в группировке ваших инструментов. Спектральное кластерирование позволит вам воспользоваться преимуществами корреляционных данных, учитывая их структуру.

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

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

Оцените материал
Добавить комментарий

Капча загружается...