Cluster computing 在Stata中使用cluster kmeans命令

Cluster computing 在Stata中使用cluster kmeans命令,cluster-computing,stata,seed,Cluster Computing,Stata,Seed,我有一个关于在Stata中使用clusterkmeans命令的问题。我使用的是13版的软件 我认识到,要在使用cluster命令时获得一致的分组,必须在命令之前设置种子。我的问题是,当我设置不同的种子并运行相同的cluster命令时,为什么生成的分组在组成上彼此完全不同?我通过运行一个对另一个的交叉选项卡来收集这些信息,例如tab _clus_1 _clus_2,其中每个集群都是在不同的种子集之后生成的,并且可以看到许多案例以不同的方式分组 由于我对cluster命令所使用的算法知之甚少,因此我

我有一个关于在Stata中使用clusterkmeans命令的问题。我使用的是13版的软件

我认识到,要在使用cluster命令时获得一致的分组,必须在命令之前设置种子。我的问题是,当我设置不同的种子并运行相同的cluster命令时,为什么生成的分组在组成上彼此完全不同?我通过运行一个对另一个的交叉选项卡来收集这些信息,例如tab _clus_1 _clus_2,其中每个集群都是在不同的种子集之后生成的,并且可以看到许多案例以不同的方式分组


由于我对cluster命令所使用的算法知之甚少,因此我担心正在创建的分组变量的健壮性。我使用的是616个观测数据集,并向cluster命令提供了41个变量,其中许多变量要么是0/1,要么在0到1之间,因此,我想知道,这种缺乏变化是否会导致每次我将种子设置为不同的数字时生成的分组非常不同。

如果要聚类的变量都是二进制或因子变量,则可以使用潜在类聚类找到更稳定的解决方案

Stata可通过1 Sophia Rabe Hesketh的gllamm程序执行潜在类分析,可从Stata内部的SSC上获得,或2 Stata at的LCAplugin,该插件仅适用于Windows平台


尽管LCAplugin因最大矩阵大小限制(即800)而不适用于Stata/IC,但它应该适用于您的问题,因为如果设置matsize 800,您只有616个案例和41个变量。如果您有更高级的Stata,例如SE或MP,则LCAplugin不应为这些最大矩阵大小限制而烦恼。

这更多的是关于统计,而不是关于编程,但很简单,如果您无法获得几乎可重复的聚类,则聚类分析可能毫无意义。另一方面,使用0-1变量会使聚类更容易,而不是更困难。另一方面,没有代码的问题在本论坛中被广泛认为是离题的,最好是针对交叉验证。因为你提到了你对算法的不熟悉,我想指出的是,集群标签是完全任意的。多次运行kmeans并每次为一个案例获取不同的标签并不意味着集群不同,只是分配了不同的任意标签。唯一能提供信息的是每个标签中的案例组。如果这太明显,我道歉