Matrix Profile,时间序列分析的强有力工具

1. 引言

如果一个序列存在某些规律,那么肯定有办法找出这些规律。例如在音乐中,存在重复的音乐片段;在基因序列中,存在固定模式的DNA序列;在文学作品中,存在固定的句式。

对于这些规律,通常我们感兴趣的点在:这些规律是什么?它们出现在什么位置?

2. Matrix Profile 矩阵概要

矩阵概要(Matrix Profile;MP),是最近开发的算法,由于其通用性、多功能性、简单性和可扩展性而具有强大的时间序列的数据挖掘能力。特别擅长发现时间序列 motif (重复出现的片段)、语义分割、可视化、异常检测、聚类等任务。

通过一个例子,让我们来学习 MP 是啥?假设我们有一个段时间序列 T,即下图红色序列,长度为 3000

在这里插入图片描述

大多数时间序列数据挖掘问题对全局属性都不太感兴趣,因此我们关注的是长度为 m 的子序列 M,例如 len(M) = 100。M 长度根据任务的不同有所不同。
在这里插入图片描述

接着,我们计算另一条序列,称之为 Matrix Profile,MP. 在 MP 中,位置i的值表示:以位置i为起点,长度为m的子序列,与T中所有其他子序列的最近距离。

如下图所示,在位置921的值为177,表示子序列 [927,1027] 与T所有其他子序列最近的距离是 177。距离计算用的是欧几里得距离。
在这里插入图片描述

下图是另一个例子,表示子序列 [378,478], 与T所有其他子序列最近的距离是 34.1
在这里插入图片描述

以上的例子向你解释了什么是 Matrix Profile,但可能还是有些疑问:这和矩阵完全没有关系啊?为啥叫 Matrix Profile
这是因为 MP 最简单粗暴计算方法就是对所有长度为 m 子序列计算距离矩阵,如下图。然后找到每一列的最小值,最终获得MP
在这里插入图片描述

3. Matrix Profile 应用

在介绍具体应用之前,让我们先学习如何读懂 MP

当你看到相对小的值时,这表明原始数据的子序列在同一数据的其他位置具有相对相似的子序列(例如重复的片段)
在这里插入图片描述

当你看到相对大的值时,这表明原始数据的子序列在同一数据中相当独特(例如出现异常信号)
在这里插入图片描述

出租车载客量分析

下图红色曲线表示纽约出租车75天的平均载客人数,蓝色曲线表示子序列长度为 48 小时的MP。我们可以明显的发现几个峰值,分析这些峰值的日期,就能够发现有趣的地方了:

  1. 最高峰值在感恩节那一天,大多数人回家与家人团聚了,没有出去浪,因此乘车人数出现了明显的下降。
  2. 第二峰值在夏令时,乘车人数组鞥见了快一倍
  3. 第三峰值在哥伦布日
    在这里插入图片描述
音乐分析

以《Let it be》这首歌为例,我们计算它的MP,发现以下规律:

  • 峰值在 1m54,这里是一个乐器独奏
  • 副歌部分出现在 3m9 和 3m23,相对应的MP值非常的低
    在这里插入图片描述

因此,通过MP的最小值我们能够找到音乐中的副歌部分;通过MP的最大值我们能够找到音乐中最为独特的部分,也就是乐理中”桥(bridge)“的部分。

总结

介绍了一种分析时间序列的方法 Matrix Profile,具有简单性、易用性、普适性等优点,另外介绍了MP的具体应用,展示了如何利用MP去分析时间序列。

参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值