问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://blog.csdn.net/weiwei9363/article/details/139334964

时间序列分析是数据分析领域的重要分支,广泛应用于金融、医疗、交通等多个领域。在众多时间序列分析工具中,Matrix Profile因其强大的数据挖掘能力而备受关注。本文将详细介绍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去分析时间序列。

参考

  • Matrix_Profile_Tutorial_Part1
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号