我有250个时间序列,我将对它们进行聚类,以查看哪个时间序列具有或多或少相同的行为。但我的问题是,无论我在google和StackOverFlow中搜索过什么,我都找不到一个例子来告诉我是否必须将所有时间序列合并在一起?或者可以将它们保存在分开的变量中?有关输入的任何解释都会有所帮助。
答案 0 :(得分:1)
SciKit聚类方法的输入格式因方法而异。点击the list of Classes上的方法名称,向下滚动到该类的fit
方法的说明;这是进行聚类的那个。对于大多数方法,例如K-means,数据必须采用2D形状阵列(n_samples,n_features)的形式。对您而言,样本数量为250,特征数量是时间序列的长度(它们都必须具有完全相同的长度)。
但我对使用2D数组作为输入持谨慎态度,因为所有的值都将被视为单独的功能,从而失去了时间参数的概念。如果一个系列只是另一个系列的转换,它可能被视为完全不同的东西。
一些SciKit聚类方法允许您预先计算250乘250距离矩阵(测量两个系列的不同)或亲和力/相似度矩阵(测量它们的相似程度)。这可以传递而不是实际数据。矩阵可以在双循环中计算,250乘250也不算太差。这些方法可以采用方阵而不是原始数据:
我建议在继续聚类之前对time-series similarity measures进行一些研究(用于计算该方阵)。