Вопросов:
У меня большая корреляционная матрица. Вместо того, чтобы кластеризовать отдельные корреляции, я хочу кластеризовать переменные на основе их корреляций друг с другом, т. Е. Если переменная A и переменная B имеют схожие корреляции с переменными C-Z, то A и B должны быть частью одного кластера. Хороший реальный пример этого - разные классы активов - корреляции внутри класса активов выше, чем корреляции между классами активов.
Я также рассматриваю кластеризацию переменных с точки зрения строгой связи между ними, например, когда корреляция между переменными A и B близка к 0, они действуют более или менее независимо. Если вдруг некоторые базовые условия меняются и возникает сильная корреляция (положительная или отрицательная), мы можем думать об этих двух переменных как о принадлежности к одному кластеру. Таким образом, вместо того, чтобы искать положительную корреляцию, нужно искать отношения, а не отношения. Я предполагаю, что аналогия может быть кластером положительно и отрицательно заряженных частиц. Если заряд падает до 0, частица уходит от кластера. Однако как положительные, так и отрицательные заряды притягивают частицы к пышным кластерам.
Я прошу прощения, если что-то из этого не очень ясно. Пожалуйста, дайте мне знать, я уточню конкретные детали.
источник
Ответы:
Вот простой пример в R с использованием
bfi
набора данных: bfi - это набор данных из 25 элементов теста личности, организованных вокруг 5 факторов.Иерархический кластерный анализ с использованием евклидова расстояния между переменными на основе абсолютной корреляции между переменными может быть получен следующим образом:
Дендрограмма показывает, как элементы обычно группируются с другими элементами в соответствии с теоретическими группировками (например, группа элементов N (Neuroticism) вместе). Также показано, как некоторые элементы в кластерах более похожи (например, C5 и C1 могут быть более похожими, чем C5 с C3). Это также предполагает, что кластер N менее похож на другие кластеры.
В качестве альтернативы вы можете сделать стандартный факторный анализ, например, так:
источник
При кластеризации корреляций важно не рассчитывать расстояние дважды. Когда вы берете матрицу корреляции, вы по сути делаете расчет расстояния. Вы захотите преобразовать его в истинное расстояние, взяв 1 - абсолютное значение.
Когда вы собираетесь преобразовать эту матрицу в объект расстояния, если вы используете функцию dist, вы будете измерять расстояния между вашими корреляциями. Вместо этого вы хотите использовать
as.dist()
функцию, которая просто преобразует ваши заранее рассчитанные расстояния в"dist"
объект.Применение этого метода к примеру Alglim
приводит к другой дендрограмме
источник