Использование команды cluster kmeans в Stata

У меня вопрос об использовании команды cluster kmeans в Stata. Я использую версию 13 программного обеспечения.

Я понимаю, что для получения согласованных группировок при использовании команды cluster необходимо установить начальное значение перед командой. Мой вопрос: почему, когда я устанавливаю разные семена и запускаю одну и ту же команду cluster, полученные группы полностью отличаются друг от друга по составу? Я понял это, запустив кросс-таблицу одного на другом, например. tab _clus_1 _clus_2, где каждая кластеризация была сгенерирована после другого начального набора, и вы видите, что многие случаи сгруппированы по-разному.

Поскольку я мало знаю об алгоритме, который использует команда cluster, это вызывает у меня беспокойство по поводу надежности создаваемой группирующей переменной. Я использую набор данных из 616 наблюдений и передаю команде кластера 41 переменную, многие из которых либо являются фиктивными (0/1), либо находятся в диапазоне от 0 до 1, поэтому я задался вопросом, может ли это отсутствие вариаций способствовать тому, что очень разные группы генерируются каждый раз, когда я устанавливаю семя на другое число.


person user2835147    schedule 01.10.2013    source источник
comment
Это больше относится к статистике, чем к программированию, но очень просто, если вы не можете получить (почти) повторяющиеся кластеризации, кластерный анализ, вероятно, будет бессмысленным. С другой стороны, использование переменных 0-1 должно упростить кластеризацию, а не усложнить ее. В связи с этим вопросы без кода на этом форуме считаются не относящимися к теме, и их лучше направлять на перекрестную проверку.   -  person Nick Cox    schedule 01.10.2013
comment
Поскольку вы упомянули о своем незнании алгоритма, я хотел бы отметить, что метки кластеров совершенно произвольны. Запуск kmeans много раз и получение каждый раз новой метки для случая не означает, что кластеризация отличается, просто присвоена другая произвольная метка. Единственное, что является информативным, — это группа случаев внутри каждой метки. Прошу прощения, если это слишком очевидно   -  person Kyle Heuton    schedule 02.10.2013


Ответы (1)


Если все переменные, которые вы кластеризуете, являются бинарными или факторными переменными, вы можете найти более стабильное решение, используя кластеризацию скрытых классов.

Stata может выполнять скрытый анализ классов с помощью (1) программы gllamm, разработанной Софией Рабе-Хескет и доступной на SSC ​​из Stata, или (2) подключаемого модуля LCA для Stata по адресу http://methodology.psu.edu/downloads/lcastata, который доступен только для платформы Windows.

Хотя плагин LCA не предназначен для работы со Stata/IC из-за ограничений максимального размера матрицы (т. е. 800), он должен работать для вашей задачи, поскольку у вас есть только 616 случаев и 41 переменная, если вы set matsize 800. Если у вас более высокий вариант Stata (например, SE или MP), плагин LCA не должен беспокоить эти ограничения максимального размера матрицы.

person RedOwl    schedule 01.10.2013