【问题标题】:algorithm for grouping data based on values基于值对数据进行分组的算法
【发布时间】:2015-11-14 20:29:32
【问题描述】:

我有一系列看起来像这样的情节:

原始数据如下:

dataPoint_1, dataPoint_2,dataPoint_3,...
23, 22, 56, ...
14, 13, 68, ...

在上图中,一些数据点的值彼此接近(红色、粉红色、黑色...),而另一些则相距很远(绿色、蓝色...),数据源源不断,所以线条越来越长。有没有一种算法可以帮助我找到哪些数据点(图中的线)接近而哪些不接近?不确定某些统计算法是否适合这个问题?

【问题讨论】:

  • 对于初学者,您可以计算每对线之间的相关性。这会给你一个相关矩阵。您到底在寻找什么?
  • @TimBiegeleisen 一些算法,给定数据集,返回组/集群。您能否更具体一点,您如何定义“相关性”?
  • 用您使用的语言标记您的问题。 Google Pearson 或 Spearman 相关系数。
  • 虽然我用的是c++,但我基本上是在寻找一个通用的解决方案。那么有必要给c++打标签吗?
  • @TimBiegeleisen 我尝试了你提到的两种相关算法,这不是正确的。基本上它是测量变量之间的线性相关程度,而不是变量之间的实际距离。假设我们有三个变量:var_1 [1,2,3],var_2 [2,3,4],var_3 [15,16,17],两个相关算法告诉我三个变量的相关系数都是1.0。但是,如果你绘制这些原始数据,你会发现 var_1 和 var_2 更接近,而 var_3 不是。

标签: statistics cluster-analysis correlation data-analysis


【解决方案1】:

试试欧几里得。显然,这些系列之间的差异是巨大的。

您也可以尝试 DTW(动态时间扭曲),但我不确定它会增加多少。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    相关资源
    最近更新 更多