我对聚类技术的应用有一个更具体的问题,即K均值。 我有一个带有3个传感器(A,B,C)的数据框:
time A | B | C |
8:00:00 6 10 11
8:30:00 11 17 20
9:00:00 22 22 15
9:30:00 20 22 21
10:00:00 17 26 26
10:30:00 16 45 29
11:00:00 19 43 22
11:30:00 20 32 22
... ... ... ...
我想对具有相同行为的传感器进行分组。
我的问题是:看上面的数据帧,我必须计算数据帧中每个对象的相关性,然后将欧几里德距离应用于此相关性矩阵,从而获得具有距离值的3 * 3矩阵?
还是我转置数据帧,然后仅使用欧几里德度量标准来计算dist()矩阵,然后我将得到一个3 * 3的矩阵,并且具有distances值。
答案 0 :(得分:0)
您只有三个传感器。这意味着,您需要三个值,即d(A B),d(B,C)和d(A B)。对我来说,这里的任何“聚类”似乎都不有意义吗?当然不是k均值。 K均值表示点(!),R表示小d。
选择您喜欢的任何形式的时间序列相似性。可能只是相关,也可能是DTW等。
答案 1 :(得分:0)
Q1:否。为什么:这里不需要相关。
Q2:否。为什么:我会以不同的方式计算距离
第一行是R'内置的dist()
函数(默认情况下使用欧几里得距离)
dist(c(6, 10, 11))
为您提供每个值之间的间隔
1 2
------
2| 4
3| 5 1
项目2和3彼此最接近。很简单。
但是,没有一种方法可以计算一个点与一组点之间的距离。那里您需要一个链接功能(最小/最大/平均/...)
使用R的内置kmeans()
函数会做什么: