[机器学习与数据分析] 时间序列聚类方法

        聚类分析(cluster analysis)简称聚类(clustering),是根据事物自身的特性对被聚类对象进行类别划分的统计分析方法,其目的是根据某种相似度度量对数据集进行划分,将没有类别的数据样本划分成若干个不同的子集,这样的一个子集称为簇(cluster),聚类使得同一个簇中的数据对象彼此相似,不同簇中的数据对象彼此不同,即通常所说的“物以类聚”。

        时间序列是数据的一种常见表示形式。对于时间序列处理来说,一个普遍的任务就是比较两个序列的距离 / 相似性。


  1、距离 / 相似性度量

        要找到相似的时序曲线,并将其聚为一类,需要有方法刻画时间序列的相似性。

图片

        在上图四条曲线中,a、b、d是形状相似的;在这三条曲线中,a与b是最相似的两条曲线是因为a、b距离最近。

        因此相似的定义:距离最近且形状相似。——对序列之间的距离进行量化来代表其相似度高低。对于长度相同的序列,计算每两点之间的距离然后求和,距离越小相似度越高

图片

[闵可夫斯基距离]

        闵可夫斯基距离是常用的距离度量方法,如上图左边所示,在一一对应的位置上进行对比。给定两条时间序列:P = (x_1,x_2,...,x_n)Q = (y_1,y_2,...,y_n),距离度量的具体公式如下:

\large dist = (\sum_{i=1}^{n}\left | x_i - y_i \right |^p)^{\tfrac{1}{p}}

        当p=1时,表示曼哈顿距离;p=2时,表示欧几里得距离(又称为欧式距离);当p趋近于无穷大时,该距离转换为切比雪夫距离,具体如下式所示:

        闵可夫斯基距离比较直观,但是它与数据的分布无关,具有一定的局限性,如果x方向的幅值远远大于y方向的幅值,这个距离公式就会过度被x维度的作用。因此在加算前,需要对数据进行变换(去均值,除以标准差)。这种方法在假设数据各个维度不相关的情况下,利用数据分布的特性计算出不同的距离。如果数据维度之间数据相关,这时该类距离就不合适。

[马氏距离]

        若不同维度之间存在相关性和尺度变换等关系,需要使用一种变化规则,将当前空间中的向量变换到另一个可以简单度量的空间中去测量。假设样本之间的协方差矩阵是\large \Sigma,利用矩阵分解(LU分解)可以转换为下三角矩阵和上三角矩阵的乘积:\large \Sigma = LL^T。消除不同维度之间的相关性和尺度变换,需要对样本x做如下处理:\large z = L^{-1}(x - \mu )。经过处理的向量就可以利用欧式距离进行度量。

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值