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

10

У меня есть набор данных из 50 образцов. Каждый образец состоит из 11 (возможно, коррелированных) булевых функций. Я хотел бы кое-что визуализировать эти образцы на двухмерном графике и изучить, есть ли кластеры / группировки среди 50 образцов.

Я попробовал следующие два подхода:

(a) Запустите PCA на матрице 50x11 и выберите первые два основных компонента. Спроецируйте данные на 2D-график и запустите простые K-средства для идентификации кластеров.

(б) Построить матрицу подобия 50x50 (косинус). Запустите спектральную кластеризацию для уменьшения размерности, а затем снова выполните K-средних.

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

Кроме того, есть ли лучшие способы визуализации таких данных в 2D? Поскольку мой размер выборки всегда ограничен 50, а мой набор функций всегда находится в диапазоне 10-15, я готов на лету попробовать несколько подходов и выбрать лучший.

Связанный вопрос: Группировка образцов по кластерам или PCA

user2602740
источник

Ответы:

9

В чем концептуальная разница между выполнением прямого PCA и использованием собственных значений матрицы подобия?

PCA выполняется на ковариационной или корреляционной матрице, но спектральная кластеризация может принимать любую матрицу сходства (например, построенную с косинусным сходством) и находить там кластеры.

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

И, наконец, я вижу, что PCA и спектральная кластеризация служат разным целям: одна - это метод уменьшения размерности, а другая - скорее подход к кластеризации (но это делается через уменьшение размерности).

Алексей Григорьев
источник
5

Для логических (т. Е. Категориальных с двумя классами) функций хорошая альтернатива использованию PCA состоит в использовании анализа множественной корреспонденции (MCA), который является просто расширением PCA для категориальных переменных (см. Связанный поток ). Для некоторой предыстории о MCA, статьи Husson et al. (2010) или Абди и Валентин (2007) . Отличным R-пакетом для выполнения MCA является FactoMineR . Он предоставляет вам инструменты для построения двухмерных карт нагрузок наблюдений по основным компонентам, что очень проницательно.

Ниже приведены два примера карт из одного из моих прошлых исследовательских проектов (нанесенных на карту с помощью ggplot2). У меня было всего около 60 наблюдений, и это дало хорошие результаты. Первая карта представляет наблюдения в пространстве PC1-PC2, вторая карта в пространстве PC3-PC4 ... Переменные также представлены на карте, что помогает интерпретировать значение измерений. Собирая информацию из нескольких этих карт, можно получить довольно хорошее представление о том, что происходит с вашими данными.

введите описание изображения здесь

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

  • выполнить MCA,
  • сохраните первые измерений (где , с ваше исходное количество элементов). Этот шаг полезен тем, что он удаляет некоторый шум и, следовательно, позволяет более стабильную кластеризацию,k < p pkk<pp
  • выполнить агломерационную (восходящую) иерархическую кластеризацию в пространстве оставшихся ПК. Поскольку вы используете координаты проекций наблюдений в пространстве ПК (действительные числа), вы можете использовать евклидово расстояние с критерием Уорда для связи (минимальное увеличение дисперсии внутри кластера). Вы можете вырезать дендограмму на нужной вам высоте или позволить функции R срезаться, если или вы основаны на некоторой эвристике,
  • (необязательно) стабилизировать кластеры, выполняя кластеризацию K-средних. Начальная конфигурация задается центрами кластеров, найденными на предыдущем шаге.

Затем у вас есть много способов исследовать кластеры (большинство представительных функций, большинство представительных людей и т. Д.)

Antoine
источник