Робастный кластерный метод для смешанных данных в R


12

Я рассчитываю на кластеризацию небольшого набора данных (64 наблюдения 4-х интервальных переменных и одной трехфакторной категориальной переменной). Теперь я довольно новичок в кластерном анализе, но я знаю, что был значительный прогресс со времен, когда иерархическая кластеризация или k-средних были единственными доступными вариантами. В частности, кажется, что доступны новые методы кластеризации на основе моделей, которые, как указывает chl , позволяют использовать «индексы соответствия» для определения количества кластеров или классов ».

Однако стандартный пакет R для кластеризации на основе моделей, mclustочевидно, не подойдет для моделей со смешанными типами данных. fpcМодель, но имеет неприятности подгонки модели, я подозреваю , что из-за негауссовости непрерывных переменных. Должен ли я продолжить модельный подход? Я хотел бы продолжать использовать R, если это возможно. На мой взгляд, у меня есть несколько вариантов:

  1. Преобразуйте трехуровневую категориальную переменную в две фиктивные переменные и используйте mclust. Я не уверен, что это повлияет на результаты, но если нет, то это мой предпочтительный вариант.
  2. Как-то преобразуйте непрерывные переменные и используйте fpcпакет.
  3. Используйте другой пакет R, с которым я еще не сталкивался.
  4. Создайте матрицу различий, используя меру Гауэра, и используйте традиционные иерархические или кластерные методы перемещения.

Есть ли какие-нибудь предложения у сайта stats.se?


Чтобы преобразовать ваши категориальные данные в фиктивную (одну горячую), вы можете использовать функцию dummy.data.frame. в качестве входных данных вы можете предоставить свои смешанные данные, а в качестве выходных данных они просто кодируют категориальные.
Нагме

Ответы:


7

Я бы порекомендовал вам использовать Gower с последующей иерархической кластеризацией. Иерархическая кластеризация остается наиболее гибким и подходящим методом в случае небольшого количества объектов (например, 64). Если ваша категориальная переменная является номинальной, Gower будет внутренне перекодировать ее в фиктивные переменные и основывать на них сходство базовых кубиков (как части Gower). Если ваша переменная имеет порядковый номер, вы должны знать, что последняя версия коэффициента Гауэра также может ее использовать.

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


Я закончил тем, что пошел по этому маршруту, спасибо за подсказку.
Fmark
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.