【问题标题】:Cluster Analysis: correcting observations with negative silhouette width聚类分析:用负轮廓宽度校正观测值
【发布时间】:2018-12-25 01:36:10
【问题描述】:

我正在尝试在包含具有年度频率的时间序列数据的数据集(约 1000 个系列)中查找模式。部分样本数据:

         V1     V2     V3     V4     V5     V6     V7     V8     V9    V10    V11    V12    V13    V14    V15    V16    V17    V18
1 1.0000 0.6154 0.0000 0.0769 0.0000 0.0000 0.0000 0.2308 0.6923 0.6923 0.6923 0.6923 0.6923 0.3846 0.3846 0.0769 0.0769 0.0769
2 1.0000 0.8354 0.5274 0.4451 0.4604 0.4634 0.4543 0.2195 0.0976 0.1159 0.0793 0.0000 0.0152 0.0305 0.0305 0.0335 0.0915 0.0152
3 0.9524 0.8571 0.2381 0.1429 0.6667 1.0000 1.0000 0.1905 0.4286 0.3810 0.3810 0.5714 0.0952 0.1905 0.0000 0.0000 0.0952 0.8571
4 0.9200 1.0000 0.6000 0.4000 0.0000 0.4200 0.3600 0.4400 0.4200 0.3200 0.4800 0.6400 0.5200 0.5200 0.5200 0.5400 0.4800 0.7800
5 0.8372 1.0000 0.7209 0.7907 0.6279 0.6047 0.6047 0.6279 0.5349 0.4419 0.4419 0.2791 0.4419 0.2326 0.1860 0.1860 0.1860 0.0000
6 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.6154 0.6154 0.6154 0.6154 1.0000

请注意,数据是标准化的,因为我想根据相似的形状对时间序列进行聚类。我认为聚类分析将是一个适当的分析,我尝试使用以下函数对时间序列进行聚类:

a

但是,我有一些观察结果的轮廓宽度为负。有没有办法纠正这些作业?例如,如果值 sil_width 为负,则将观测值放在邻居集群中。可以在下面找到一个示例。

cluster neighbor    sil_width
    1       1        3 -0.001258464
    2       1        3 -0.004661913
    3       1        4 -0.010083277
    4       1        4 -0.012569472
    5       1        3 -0.012793575
    6       1        4 -0.013089868
    7       1        5 -0.013346165

动机是纠正这些观察结果,以增加集群的平均轮廓宽度。

任何帮助将不胜感激!

【问题讨论】:

    标签: cluster-analysis k-means silhouette


    【解决方案1】:

    将具有负轮廓的点移动到另一个簇可能会减少该簇中其他点的轮廓。 如何改进结果并不明显,a) 最好的解决方案可能包含负的轮廓值,b) 可能不可能找到只有正的解决方案价值观。最后但并非最不重要的一点是,c) 它不再是 k 均值聚类结果 - 一些点将不再分配给最接近的均值。

    核心原因是每个集群内的分数是并列的。将一个点移动到另一个集群会改变他们的所有分数。

    【讨论】:

      猜你喜欢
      • 2018-01-21
      • 2015-07-27
      • 2018-09-28
      • 2016-06-01
      • 2016-12-16
      • 2021-08-03
      • 2018-02-18
      • 2022-11-24
      • 2022-01-19
      相关资源
      最近更新 更多