对于分类数据,是否存在没有变量相关的聚类?


19

当试图解释聚类分析时,人们常误认为该过程与变量是否相关有关。让人们摆脱困惑的一种方法是像这样的情节:

在此处输入图片说明

这清楚地显示了是否存在聚类问题和变量是否相关的问题之间的区别。但是,这仅说明了连续数据的区别。我在考虑具有分类数据的类比时遇到麻烦:

ID  property.A  property.B
1   yes         yes
2   yes         yes
3   yes         yes
4   yes         yes
5   no          no
6   no          no
7   no          no
8   no          no

我们可以看到有两个清晰的集群:拥有属性A和B的人,以及没有财产的人。但是,如果我们查看变量(例如,使用卡方检验),则它们显然是相关的:

tab
#      B
# A     yes no
#   yes   4  0
#   no    0  4
chisq.test(tab)
# X-squared = 4.5, df = 1, p-value = 0.03389

我发现我不知道如何构造一个分类数据示例,该示例类似于上面的连续数据示例。甚至有可能在完全不包含变量的情况下在纯分类数据中具有聚类吗?如果变量具有两个以上的级别,或者变量数量更多,该怎么办?如果观察结果的聚类必然包含变量之间的关系,反之亦然,这是否意味着当您仅拥有分类数据时,聚类确实不值得(例如,您应该只是分析变量)吗?


更新:我离开了最初的问题很多,因为我只想关注这样一个想法,即可以创建一个简单的示例,即使对于不熟悉聚类分析的人也可以立即直观地理解。但是,我认识到很多聚类取决于距离和算法等的选择。如果我指定更多的聚类可能会有所帮助。

我认识到Pearson的相关性实际上仅适用于连续数据。对于分类数据,我们可以考虑使用卡方检验(对于双向列联表)或对数线性模型(对于多列联列表)作为评估分类变量的独立性的方法。

对于算法,我们可以想象使用k-medoids / PAM,它既可以应用于连续情况,也可以应用于分类数据。(请注意,连续示例背后的部分意图是,任何合理的聚类算法都应能够检测到这些聚类,如果不能,则可以构建更极端的示例。)

关于距离的概念。我将欧几里得作为连续示例,因为对于天真的观察者而言,这是最基本的。我认为与分类数据类似的距离(因为这将是最直接的直观方式)将是简单匹配。但是,如果可以得出解决方案或只是一个有趣的讨论,我愿意讨论其他距离。


2
我想知道我们是否在分类数据中根本没有像簇这样的东西。并不是说集群之间的方差会大于集群内部的方差,也不是说集群之间的密度差。因此,如果最接近的匹配是频繁的项目集,则必须关联变量才能形成群集。
Anony-Mousse-恢复Monica

@ Anony-Mousse,这很有趣。为什么不将其发展为答案呢?顺便说一句,我可以对实际存在的群集进行成像(例如,在潜在的连续变量中,这些变量会导致不同级别的名义变量出现不同的概率),但是我怀疑那不是您的意思。
gung-恢复莫妮卡

您可以将分类分布转换为向量,其成分是归一化频率。然后可以应用欧几里得度量。但是,它并不是唯一的选择:math.umn.edu/~garrett/m/fun/notes_2012-13/02_spaces_fcns.pdfen.m.wikipedia.org/wiki/Normed_vector_space

@ttnphns,您似乎已经添加了[data-association]标签。我不确定该指示什么,也没有摘录/使用指南。我们真的需要这个标签吗?似乎是删除的良好候选者。如果我们确实确实需要CV,并且您知道它应该是什么,那么您至少可以为其添加摘录吗?
gung-恢复莫妮卡

@gung,我也是,不太了解这个标签可能指的是什么。我添加它的原因是该问题的“属性之间的关联/关联”主题。您可以从Q或完全删除标记。另一方面,我想是时候重新考虑覆盖整个关联/关联领域的标签了。例如,是否只为皮尔逊相关保留“相关”?我们是否应该创建一个新的变量“ variables-association”(代替“ data-association”)?
ttnphns

Answers:


11

考虑具有不相关的比例变量的透明集群情况,例如问题中的右上图。并对其数据进行分类。

在此处输入图片说明

我们将变量X和Y的比例范围细分为3个区域,这些区域现在被视为分类标签。而且,我们将它们声明为名义的,而不是顺序的,因为所提出的问题是隐式的,并且主要是关于定性数据的。点的大小是频率交叉表单元中的频率;同一单元格中的所有情况都被视为相同。

直观地且最通常地,“簇”被定义为由数据“空间”中的稀疏区域分隔的数据点的凝块。最初是使用比例尺数据,在分类数据的交叉表中仍然保持相同的印象。X和Y现在是分类的,但它们看起来仍然不相关:卡方关联非常接近于零。集群在那里。

但是回想一下,我们正在处理表中任意顺序的名义类别。我们可以根据需要对整个行和/或列进行重新排序,而不会影响观察到的卡方值。重新排序...

在此处输入图片说明

...以满足刚刚消失的集群。四个单元a1,a3,c1和c3可以合并为一个群集。因此,不,我们确实在分类数据中没有任何聚类。

单元格a1和c3(或类似的a3和c1)的情况是完全不同的:它们不具有相同的属性。为了在我们的数据中诱导聚类-a1和c3形成聚类-我们必须通过从数据集中删除这些情况在很大程度上清空a3和c1单元。

在此处输入图片说明

现在集群确实存在。但是与此同时,我们失去了不相关性。的表格中显示对角线结构表明,chi-stare统计量离零还很远。

可怜。让我们尝试同时保持不相关性和或多或少的清晰集群。例如,我们可以决定只清空单元格a3,然后将a1 + c1视为与群集c3相对的群集:

在此处输入图片说明

该操作并没有使卡方距零...

[Indeed, table such as for example
 6   6   1
 6   6   1
 1   1   0
retains about the same very low chi-square association after
dividing 2nd column by 3 and multiplying 2nd row by 3, which gives
 6   2   1
18   6   3
 1  1/3  0
Cell (1,2) got thrice lower frequency. We had, however, to upheave
cell (2,1) frequency thrice, to keep Chi-sq almost as before.]

...但是集群的情况令人困惑。群集a1 + c1包含部分相同,部分一半不同的案例。聚类相对较低的同质性本身并不意味着数据集中的透明聚类结构会被排除。但是,分类数据的问题在于群集a1 + c1绝不会更好比簇群C1 + C3,其对称模拟。这意味着群集解决方案是不稳定的 -它取决于数据集中的案例顺序。即使是相对“清晰集群”的不稳定解决方案,也是不好的解决方案,也不可靠。

克服此问题并使解决方案既清晰又稳定的唯一方法是,将单元格c3的数据从下方移至单元格b3(或b2),从而使单元格c3与单元格c1脱离。

在此处输入图片说明

因此我们有清晰的聚类a1 + c1 vs b3。但是请看,这里再次出现了对角线图案-表的卡方在0上方高出。

结论。不可能同时具有两个卡方无关的名义变量和数据案例的良好簇。清晰且稳定的集群暗示了变量关联。

同样清楚的是,如果存在关联-即存在对角线图案或可通过重新排序实现对角线图案-则必须存在簇。这是因为分类数据(“全有或全无”)的性质不允许出现半色调和边界条件,因此,OP的问题中左下角的图像无法与分类的名义数据一起出现。

我推测随着越来越多的名义变量(而不是只有两个)与二元卡方无关,我们越来越接近有聚类的可能性。但是零多元卡方,我希望仍然与聚类不兼容。那必须显示(这次不是我本人还是不是本人)。


最后,我部分支持@Bey(aka user75138)的回答。我对此表示同意,因为我同意在他提出“变量关联是否独立于案例集群吗?”这一问题之前,首先要确定距离度量和关联度量。这是因为不存在通用关联度量,也没有通用统计群集的定义。我还要补充一点,他还必须决定聚类技术。聚类的各种方法不同地定义了它们所遵循的“集群”。因此,整个陈述可能是正确的。

话虽如此,但这样的格言的缺点在于它太宽泛了。人们应该尝试具体展示一下,距离度量/关联度量/聚类方法的选择是否以及在何处为名义数据打开了调和不相关性与聚类性的空间。他特别要记住,并不是二进制数据的所有许多邻近系数都对名义数据有意义,因为对于名义数据,“两种情况都缺乏此属性”永远不可能成为它们相似性的基础。


更新,报告我的模拟结果。

.1

[R

调查结果通常支持答案上方显示的推理。从来没有非常清楚的簇(例如,如果卡方关联性很强,可能会发生)。而且,不同聚类标准的结果常常彼此矛盾(当聚类真正清晰时,这不太可能发生)。

有时,通过聚类标准图可以看出,分层聚类会提供一个较好的k聚类解决方案。但是,对其稳定性进行测试将无法显示其稳定性。例如,此3变量4x4x3数据

   V1  V2  V3   Count
    1   1   1   21
            2   24
            3   1
        2   1   22
            2   26
            3   1
        3   1   1
            2   1
            3   1
        4   1   17
            2   20
            3   1
    2   1   1   10
            2   12
            3   1
        2   1   10
            2   12
            3   1
        3   1   1
            2   1
            3   1
        4   1   8
            2   9
            3   1
    3   1   1   24
            2   28
            3   1
        2   1   25
            2   30
            3   1
        3   1   1
            2   1
            3   1
        4   1   19
            2   23
            3   1
    4   1   1   24
            2   28
            3   1
        2   1   26
            2   30
            3   1
        3   1   1
            2   1
            3   1
        4   1   19
            2   23
            3   1

当通过完全链接层次结构方法进行聚类时,Dice相似性似乎(相当合理地)分为9个聚类,在这种情况下,这是三个内部有效性判断者的共识:

在此处输入图片说明

但是,从原始解决方案与置换解决方案(大小写重新排序)的混淆矩阵的不完全稀疏性可以看出,该解决方案是不稳定的:

在此处输入图片说明

如果该解决方案是稳定的(就像我们连续进行数据一样),我们将选择9集群解决方案作为具有说服力的解决方案。

基于对数似然距离(与Dice相似度相反)的聚类可以给出稳定且“不错”(内部相当有效)的解决方案。但这是因为距离,至少像SPSS的TwoStep群集中那样,会鼓励和促进人口密集的群集,而忽略人口稀疏的群集。它并不需要内部频率非常低的群集内部密集(这似乎是TwoStep群集分析的“策略”,TwoStep群集分析是专门为大数据而设计的,只提供很少的群集;因此,较小的群集被视为离群值) 。例如,这些2变量数据

在此处输入图片说明

如图所示,TwoStep可以将其稳定地合并为5个聚类,并且根据某些聚类标准判断,该5聚类解决方案一点也不差。因为四个填充的群集内部非常密集(实际上,所有情况都相同),所以只有极少数情况(包括很少的情况)的第五个群集被极大地熵化。如此明显的实际上是12群集解决方案,而不是5群集,而是频率表中的单元总数为12,作为“群集解决方案”,这是微不足道且毫无意义的。


+1,这就是我所怀疑的。在两两非关联VS多元未关联的是一个有趣的问题。从更广泛的角度考虑这个问题,这是否意味着试图对纯名义数据进行聚类真的没有任何意义吗?即,如果我们没有任何连续数据,我们是否应该只分析变量?
gung-恢复莫妮卡

1
@gung,您不知道变量之间的相关性是案件两极化的另一面(“诊断”)的格言吗?作为准则,对于连续数据也是如此。但是对于连续而言,极化可能并不意味着簇。对于分类而言,它似乎暗示着。由于离散的性质。因此可能是的,如果分类变量相关,则存在要查找的聚类。但你必须集群,以获得集群更好的办法。那是我对您的重大问题的初步看法。
ttnphns

我不熟悉。也许以后再问。我认为,这是值得一读的好信息。
gung-恢复莫妮卡

3

如您所知,相关性是两个变量之间线性关系的量度,而不是各点之间的接近程度。这解释了前四个数字。

当然,您也可以为离散的实值数据创建类似的图形。

X{一种Cd}[RX[RX

在真正谈论几何意义上的聚类之前,您需要为分类空间定义一个度量。


如果@gung和Bey都允许,我会以直觉的方式支持这个答案并重新制定它。聚类数据由“聚类中的距离小而聚类之间的距离远”定义。在他的照片上,OP暗中选择了欧式距离来说明这种聚类的想法。他还选择了Pearson相关或类似的概念-来说明变量之间的关联的想法。这是许多替代方案中的两个特定/任意选择。
ttnphns

1
(续)我什至可以想象,在“案例聚类”概念和“变量关联”概念不正交的情况下,可以选择这种距离度量和这种关联度量。现在,用于分类数据。检查并显示这两个概念是否可以独立或相关之前,他必须为分类数据点选择特定的距离度量,并为分类变量选择特定的关联度量。有很多选择!答案将取决于。
ttnphns

@ttnphns(+1)我喜欢您如何设定两个主要选择:距离和关联度量。不确定我的解释是不直观的...您不能在没有距离概念的情况下定义集群。

@ttnphns,我认为这取决于Bey。您为什么不将自己的一些想法变成自己的答案?对于某些情况下连续数据的“案例聚类”和“变量关联”变得不正交的想法,我会很感兴趣。Bey&ttnphns,我对距离和关联度量的问题进行了一些说明,但如果愿意,您可以随意朝另一个方向发展。让我知道是否需要更多。我的偏好是,问题尽可能保持“宽松”,以使答卷者可以灵活地朝不同的方向发展。
gung-恢复莫妮卡

1
@Bey,对于分类数据,当然还有许多其他可能的距离和关联度量,因此您可以自由地提出一些使之起作用的深奥的建议。
gung-恢复莫妮卡

2

考虑汉明距离 -两个相等长度的字符串之间的汉明距离是相应符号不同的位置数。从这个定义看来,我们显然可以基于汉明距离生成具有聚类的数据,但变量之间没有相关性。

以下是使用Mathematica的示例。

创建一些分类数据(3个符号长的序列,对4个字符进行均匀随机抽样):

chs = CharacterRange["a", "d"];
words = StringJoin @@@ Union[Table[RandomChoice[chs, 3], 40]];
Length[words]
words

(* 29 *)

(* {"aac", "aad", "abb", "aca", "acb", "acd", "adb", "adc", "baa", "bab", "bac", "bad", "bcc", "bcd", "caa", "cab", "cac", "cad", "cbb", "ccb", "cda", "cdb", "dab", "dba", "dbb", "dbd", "dca", "dcc", "dcd"} *)

将镶嵌图用于变量之间的关系(来自不同列的值对的条件概率):

Import["https://raw.githubusercontent.com/antononcube/MathematicaForPrediction/master/MosaicPlot.m"]
wordSeqs = Characters /@ words;
opts = {ColorRules -> {2 -> ColorData[7, "ColorList"]}, ImageSize -> 400};
Grid[{{MosaicPlot[wordSeqs[[All, {1, 2}]], 
    "ColumnNames" -> {"column 1", "column 2"}, opts],
   MosaicPlot[wordSeqs[[All, {2, 3}]], 
    "ColumnNames" -> {"column 2", "column 3"}, opts],
   MosaicPlot[wordSeqs[[All, {1, 3}]], 
    "ColumnNames" -> {"column 1", "column 3"}, opts]}}, Dividers -> All]

在此处输入图片说明

我们可以看到没有相关性。

查找集群:

cls = FindClusters[words, 3, DistanceFunction -> HammingDistance]

(* {{"aac", "aad", "adc", "bac"}, {"abb", "acb", "adb", "baa", "bab", "bad", 
  "caa", "cab", "cac", "cad", "cbb", "ccb", "cda", "cdb", "dab", 
  "dbb"}, {"aca", "acd", "bcc", "bcd", "dba", "dbd", "dca", "dcc", "dcd"}} *)

如果我们将每个字符替换为整数,则可以从该图中看出汉明距离如何形成聚类:

esrules = Thread[chs -> Range[Length[chs]]]; gr1 = 
 ListPointPlot3D[Characters[cls] /. esrules, 
  PlotStyle -> {PointSize[0.02]}, PlotLegends -> Automatic, 
  FaceGrids -> {Bottom, Left, Back}];
gr2 = Graphics3D[
   Map[Text[#, Characters[#] /. esrules, {1, 1}] &, Flatten[cls]]];
Show[gr1, gr2]

在此处输入图片说明

进一步聚类

让我们通过连接汉明距离为1的单词来制作图表:

mat = Clip[Outer[HammingDistance, words, words], {0, 1}, {0, 0}];
nngr = AdjacencyGraph[mat, 
  VertexLabels -> Thread[Range[Length[words]] -> words]]

在此处输入图片说明

现在让我们找到社区集群:

CommunityGraphPlot[nngr]

在此处输入图片说明

将图集群与找到的集群比较FindClusters(被迫找到3)。我们可以看到“ bac”处于中心位置,“ aad”可以属于绿色簇,它对应于3D图中的簇1。

图形数据

以下是的边缘列表nngr

{1 <-> 2, 1 <-> 8, 1 <-> 11, 1 <-> 17, 2 <-> 6, 2 <-> 12, 2 <-> 18, 
 3 <-> 5, 3 <-> 7, 3 <-> 19, 3 <-> 25, 4 <-> 5, 4 <-> 6, 4 <-> 27, 
 5 <-> 6, 5 <-> 7, 5 <-> 20, 6 <-> 14, 6 <-> 29, 7 <-> 8, 7 <-> 22, 
 9 <-> 10, 9 <-> 11, 9 <-> 12, 9 <-> 15, 10 <-> 11, 10 <-> 12, 
 10 <-> 16, 10 <-> 23, 11 <-> 12, 11 <-> 13, 11 <-> 17, 12 <-> 14, 
 12 <-> 18, 13 <-> 14, 13 <-> 28, 14 <-> 29, 15 <-> 16, 15 <-> 17, 
 15 <-> 18, 15 <-> 21, 16 <-> 17, 16 <-> 18, 16 <-> 19, 16 <-> 20, 
 16 <-> 22, 16 <-> 23, 17 <-> 18, 19 <-> 20, 19 <-> 22, 19 <-> 25, 
 20 <-> 22, 21 <-> 22, 23 <-> 25, 24 <-> 25, 24 <-> 26, 24 <-> 27, 
 25 <-> 26, 26 <-> 29, 27 <-> 28, 27 <-> 29, 28 <-> 29}

欢迎光临本站!请注意:代码是什么语言?(此外,没有注释)。您如何定义relationship between the variables (correlation)
ttnphns

这是有趣的。不幸的是,我不了解Mathematica(并且对编辑距离不甚了解),因此我需要使用它来确保自己理解。我还没有机会,但是我打算很快。
gung-恢复莫妮卡

@gung我当时想在R中执行此操作,但我认为关键部分是3D图,并以适当的角度旋转它以了解簇的形成。顺便问好问题!
安东·安东诺夫

因此,您在这里有“集群”。但是它们有意义吗?它们比其他集群好吗?从图中可以看出,聚类1是非常随机的。那为什么是集群呢?
Anony-Mousse-恢复莫妮卡

1
随机统一(!)生成的数据显然不应包含聚类。“社区”图具有误导性,因为它不保留距离。具有1个距离的图强调了这些问题。它还显示了另一个这样的示例cda。抱歉,我不是在“购买”这些“集群”。数据是统一的,应该不一样群集。
Anony-Mousse-恢复莫妮卡

2

@ttnphns关于成对关联与多变量关联的观点是正确的。与此相关的是,旧观点认为,在进入多元框架之前,必须先通过简单的指标来证明关联。换句话说,如果简单的成对关联度量不显示任何关系,那么多元关系也将不会显示任何东西的可能性越来越小。我之所以说“越来越不可能”,是因为不愿意使用“不可能”一词。另外,对于采用序数数据的单调Spearman相关性,Somer's D,Kendall's Tau,我不确定所采用的度量,多声相关,Reshef的MIC,Szelkey的距离相关等等。度量的选择在此讨论中并不重要。

在分类信息中寻找潜在结构的原始工作可以追溯到50年代初和哥伦比亚社会学家Paul Lazersfeld。从本质上讲,他发明了一类潜在变量模型,此模型从那时起得到了广泛的发展和修改。首先,随着60年代美国大学政治经济学家詹姆斯·科尔曼(James Coleman)对潜在选民选举倾向的研究,其次是已故社会学家克利福德·克洛格(Clifford Clogg)的贡献,他的MELISSA软件是第一个公开可用的潜在阶级免费软件。

在80年代,随着工具的发展,例如统计创新公司的Latent Gold,潜在类别模型已从纯粹的分类信息扩展到有限混合模型。此外,营销科学家比尔·狄龙(Bill Dillon)开发了高斯程序,用于拟合潜在的判别式有限混合模型。实际上,有关分类和连续信息混合的这种方法的文献非常丰富。在使用最广泛的领域之外,例如在营销科学中,这些模型用于消费者细分和聚类,并不是众所周知的。

但是,这些用于潜在聚类和列联表分析的有限混合模型方法被认为是当今海量数据世界中的老派。在庞大的列联表中找到关联的最新技术是部署张量模型(例如由David Dunson和杜克大学的其他贝叶斯模型开发的张量模型)可以进行的分解。这是他们的一篇论文的摘要以及链接:

列联表分析通常依赖于对数线性模型,而潜在结构分析提供了一种常见的替代方法。潜在结构模型导致多元分类数据的概率质量函数的低秩张量分解,而对数线性模型通过稀疏性实现降维。对于这两个范式中这些降维概念之间的关系知之甚少。我们得出了一些结果,这些结果将对数线性模型的支持与相关概率张量的非负秩相关。受这些发现的启发,我们提出了一个新的折叠的Tucker类张量分解,将现有的PARAFAC和Tucker分解联系起来,为简化表征多元分类数据提供了一个更灵活的框架。

https://arxiv.org/pdf/1404.0396.pdf


这是有趣的信息。我不清楚它如何与问题联系起来。
gung-恢复莫妮卡

鉴于广泛的讨论和关于分类数据集群是否“存在”的基本问题,您对我的贡献的相关性缺乏清晰性令人困惑。我认为,所提供的信息阐明了以前忽略的方法论和知识发现领域。我还可以指出我的初步观察-明确地针对OP的问题-关于从成对关联到多元关联的跃迁在没有较简单级别的关联的情况下极不可能发生。
Mike Hunter

我不是故意的,@ DJohnson。我(有点)熟悉潜在模型,用于聚类分类数据(即潜在类分析)。我在上面的评论中提到了它。我对历史,研究人员和软件不那么熟悉。这太有趣了。我不太清楚它如何回答标称数据中变量不显示任何关联的可检测簇的问题。如果您正在这样做,那么举个例子会很有帮助。你能提供一个吗?
gung-恢复莫妮卡

@gung当然不是,也没有人。
Mike Hunter
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.