【问题标题】:Use of the cluster kmeans command in StataStata中集群kmeans命令的使用
【发布时间】:2013-10-01 13:53:24
【问题描述】:

我有一个关于在 Stata 中使用 cluster kmeans 命令的问题。我正在使用该软件的第 13 版。

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

由于我对cluster 命令使用的算法知之甚少,这让我担心正在创建的分组变量的稳健性。我正在使用一个包含 616 个观察值的数据集,并为集群命令提供 41 个变量,其中许多是虚拟变量 (0/1),或者在 0 到 1 之间的范围内,所以我想知道这种缺乏变化是否可能导致每次我将种子设置为不同的数字时,都会生成非常不同的分组。

【问题讨论】:

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

标签: cluster-computing stata seed


【解决方案1】:

如果您要聚类的变量都是二元或因子变量,您可能会使用潜在类聚类找到更稳定的解决方案。

Stata 可以通过 (1) Sophia Rabe-Hesketh 的 gllamm 程序执行潜在类分析,该程序可在 Stata 内部的 SSC 上使用,或 (2) Stata 的 LCA 插件 http://methodology.psu.edu/downloads/lcastata,仅适用于Windows 平台。

尽管由于最大矩阵大小限制(即 800),LCAplugin 不适用于 Stata/IC,但它应该可以解决您的问题,因为如果您 set matsize 800,您只有 616 个案例和 41 个变量。如果您有更高版本的 Stata(例如 SE 或 MP),LCA 插件不应该被那些最大矩阵大小限制所困扰。

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 2017-05-25
    • 1970-01-01
    • 2014-05-07
    • 2016-05-21
    • 2018-11-05
    • 1970-01-01
    • 2016-11-09
    • 2019-04-04
    相关资源
    最近更新 更多