Фильтрация переменных в кластерном анализе в R

Я пытаюсь запустить кластерный анализ (PAM) набора финансовых данных с большим шумом.

Существует более 100 переменных, многие из которых сильно коллинеарны.

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

При оценке тенденции к кластеризации (статистика Хопкина) определенной группы, скажем, из 10 переменных, я могу определить, жизнеспособна ли кластеризация. Мой вопрос в том, есть ли способ зациклить статистику Хопкина для каждой возможной группы, скажем, из 10 переменных, чтобы я мог запустить алгоритм кластеризации в группе с лучшей статистикой Хопкина и т. Д.

Возможно, я ошибаюсь в этом, но я приветствую любые советы.


person R.Bro    schedule 16.08.2018    source источник
comment
choose(100,10) говорит, что это непрактично.   -  person G5W    schedule 16.08.2018
comment
Есть мысли об альтернативе?   -  person R.Bro    schedule 16.08.2018
comment
Не полагайтесь на статистику Хопкинса. Это простой тест на однородность, но не на мультимодальность. То есть, один гауссиан будет иметь высокую тенденцию к кластеризации, но это, вероятно, не будет вам полезно.   -  person Has QUIT--Anony-Mousse    schedule 18.08.2018


Ответы (2)


Существует пакет clustertend, и здесь есть статистика Хопкина как функция https://cran.r-project.org/web/packages/clustertend/clustertend.pdf

person Nar    schedule 16.08.2018
comment
Спасибо за ваш ответ. У меня вопрос о выборе самих факторов. Например, если у меня есть 100 наблюдений около 50 переменных, есть ли способ проверить, какая комбинация переменных дает наибольшую статистику Хопкина? Прямо сейчас я застрял в ручном тестировании комбинаций переменных для кластерных наблюдений. - person R.Bro; 17.08.2018

Используйте подход кластеризации подпространств.

Эти алгоритмы пытаются одновременно идентифицировать как кластеры, так и переменные, которые различают этот кластер.

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

Не полагайтесь на статистику Хопкинса. Это простой тест на однородность, но не на мультимодальность. То есть, один гауссиан будет иметь высокую «тенденцию к кластеризации», но это, вероятно, не будет вам полезно. Так что статистика, скорее всего, не поможет.

person Has QUIT--Anony-Mousse    schedule 18.08.2018