网易首页 > 网易号 > 正文 申请入驻

Matrix Profile, 时间分析“利”器~

0
分享至

前言

时序分析是一个很流行的话题,因为很多领域都可以存在时序数据。应用最广泛也是最经典的应该属于金融领域,常见的就是各种股票或者价格预测。

今天介绍一个在时序分析中有一定地位的经典模型:Matrix Profile。

Matrix Profile 是什么呢? 其实不是一种算法名称,更确切的讲是一种数据结构。

这里引用官方动图:

一个滑动窗口m,不断与时序进行匹配,计算他们的(欧式)距离,并且记录距离的最小值。

换句话说,Matrix Profile可以测出每个时序窗口是不是整个时序亲生的。如果是亲生的,那么距离很小。如果不是亲生的,那么距离很远。

亲生的称为Motifs,就是重复的片段。

非亲生的称为discord或者anomaly,也就是异常。

这就是Matrix Profile 的全部,原理很简单,实施很难,只要是计算量太大(穷举)。所以大部分研究人员都花时间去研究如何快速计算MP。

“算法”特点

这里看看官方的介绍,有三个特点:

1. 快。上亿个时间序列,每个时序100年的长度,分辨率为1s,一天就计算了完了。

2. 无参数,没有什么超参数,开箱即用。

3. 无应用壁垒,只要是时序都行

看样子是个利器,我们来实测一下效果。

牛刀小试

首先我们虚拟一段数据,采用波形图外加随机噪声,异常部分我们模拟数据丢失

我们采用官方的代码来进行分析,matrixprofile 提供了analyze,可以快速分析不同m对应的分析结果。


from matplotlib import pyplot as pltimport numpy as npimport matrixprofile as mpprofile, figures = mp.analyze(ts)

可以看到分析的结果很全面:里面包含了不同窗口的计算的结果,对应的最佳窗口长度,分析出的Motif和异常点。

我们最关心的是异常点,可以看出Matrix profile还是很准确的点出了异常所在问题

可以看到m值为8 和276分析的结果完全不同,m值很关键,几乎决定了模型是否可用。但是贴心的是,这个包提供的函数能分析出最佳的m值,这就是所谓的“无参数”模型

看样子很不错。

加大难度

我们可以尝试一下MP是否可以测出多个异常点,这次模拟的异常点包括多种:有的幅值过高,有的过低,有的直接是“躺平”

这次代码略有不同,这里采用固定的window 长度,因为我们没必要再分析一次数据。然后,我们调用discover里面的函数去发掘异常点。

需要说明的是,这种代码和上面的代码的效果是一致的,不过是更加灵活而已。


window_size = 297profile = mp.compute(ts,window_size )profile = mp.discover.discords(profile, k=5)figures = mp.visualize(profile)profile['discords']plt.figure(figsize=(20, 7))plt.plot(np.arange(ts.shape[0]), ts)plt.scatter(sorted(profile['discords']), ts[sorted(profile['discords'])],c='r', marker='*',s=100)

同样的,我们可以在MP 曲线上看到异常点的位置都明显格格不入。也就是说,还是有可能设置阈值他们筛选出来的

新玩法

既然MP是计算整个时序与其他片段的距离,那么我们是否可以采用“外部”时序作为匹配的对象呢?很常见的案例:我们知道这种心跳曲线是正常,凡是和他匹配距离小的,就是正常的。距离大的,就是异常。

这个思路是可行的!


profile = mp.compute(ts,query=ts2,windows = window_size,sample_pct=1)profile = mp.discover.discords(profile, k=10)figures = mp.visualize(profile)profile['discords']plt.figure(figsize=(20, 7))plt.plot(np.arange(ts.shape[0]), ts)plt.scatter(sorted(profile['discords']), ts[sorted(profile['discords'])],c='r', marker='*',s=100)

我们模拟新的数据,并且知道这段数据最开始部分是正常的,所以我们把这部分数据作为固定的时间片段,然后让其他数据滚动匹配。

效果还依然不错。

Bonus

看样子MP在离线数据分析上效果还可以,尤其是针对周期型数据。对于在线呢?这里我们可以实时计算MP,并且设定阈值来查看检测的结果。可以看到,MP能检测到异常的起始点,但是需要合理的阈值

总结

本文介绍了经典的matrix profile的使用,它可以用于时序的异常检测,但是会有一些局限性。最适合的场景是离线分析,而不是在线分析。对于时序分析来说,开箱即用,简单粗暴,最重要的是:快!算是一把利器。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
上海为什么出不了DeepSeek这样的科技独角兽,却拥有上汽这样的实业精英?

上海为什么出不了DeepSeek这样的科技独角兽,却拥有上汽这样的实业精英?

上观新闻
2025-02-18 08:45:06
4 款新 iPhone 曝光,外观全变了!

4 款新 iPhone 曝光,外观全变了!

全是技能
2025-02-18 11:04:50
原来哄自己的身体真的有用,像孩子一样,网友:已和肿瘤和平共处

原来哄自己的身体真的有用,像孩子一样,网友:已和肿瘤和平共处

有趣的火烈鸟
2025-02-18 11:24:14
别再可怜李咏了!离世后国内医生猜测患癌真相,难怪选择葬身美国

别再可怜李咏了!离世后国内医生猜测患癌真相,难怪选择葬身美国

云舟史策
2025-02-09 07:00:06
前国脚回应打压依木兰:不想乱捧杀! 记者:这支国青不如85那批

前国脚回应打压依木兰:不想乱捧杀! 记者:这支国青不如85那批

风过乡
2025-02-18 09:00:56
大保健的技师最后都嫁给谁了?网友:以前满脸鄙夷 现在无比赞同

大保健的技师最后都嫁给谁了?网友:以前满脸鄙夷 现在无比赞同

有趣的火烈鸟
2025-02-18 14:58:13
陈妍希官宣离婚,孩子生父引猜疑,网友爆陈晓不要财产只求离婚!

陈妍希官宣离婚,孩子生父引猜疑,网友爆陈晓不要财产只求离婚!

深析古今
2025-02-18 14:49:06
39岁卡车司机猝死在浙江 负债累累 本打算跑完这趟给孩子过生日

39岁卡车司机猝死在浙江 负债累累 本打算跑完这趟给孩子过生日

春序史
2025-02-18 09:04:39
网友在管南京叫南哥了

网友在管南京叫南哥了

清晖有墨
2025-02-18 10:55:36
为何古人吃完饭放下银子就走,不问价格,店小二也不数银子多少?

为何古人吃完饭放下银子就走,不问价格,店小二也不数银子多少?

农村教育光哥
2025-02-15 11:13:05
刘欢评价刀郎及其作品:只用了11个字,网友:比那英精辟多了

刘欢评价刀郎及其作品:只用了11个字,网友:比那英精辟多了

不八卦掌门人
2025-01-10 20:50:42
女子被“免费检出面部毒素”,通过“花呗”贷款办卡后美容店跑路;警方回应:嫌疑人死亡撤案了

女子被“免费检出面部毒素”,通过“花呗”贷款办卡后美容店跑路;警方回应:嫌疑人死亡撤案了

大风新闻
2025-02-17 18:39:57
难怪以色列向中方低头,警告一百次,不如歼10C到中东扇一次翅膀

难怪以色列向中方低头,警告一百次,不如歼10C到中东扇一次翅膀

头条爆料007
2025-02-17 10:35:00
曝福建最大奥迪门店被华为接盘!“一年亏了1000多万”

曝福建最大奥迪门店被华为接盘!“一年亏了1000多万”

手机中国
2025-02-18 10:37:12
这个国家反华标语贴满大街:见到中国人就打,如今付出惨痛代价!

这个国家反华标语贴满大街:见到中国人就打,如今付出惨痛代价!

小lu侃侃而谈
2025-01-08 20:28:38
反差大,《美国队长4》日票房3千万,第18天《哪吒2》日票房8亿!

反差大,《美国队长4》日票房3千万,第18天《哪吒2》日票房8亿!

沧海一书客
2025-02-15 15:35:17
设计师晒52岁袁立做头发近照,皮肤状态太好了,但胖了不少

设计师晒52岁袁立做头发近照,皮肤状态太好了,但胖了不少

涵豆说历史
2025-02-18 08:45:28
已经生效!普京交出“中国超级海港”使用权,163年后回归中国

已经生效!普京交出“中国超级海港”使用权,163年后回归中国

听风者说
2025-01-04 20:39:10
马云这次现身,可不是表面那么简单,这绝对是中国发展的里程碑!

马云这次现身,可不是表面那么简单,这绝对是中国发展的里程碑!

小彭谈历史
2025-02-18 09:16:25
全新Model Q实车曝光!特斯拉又一上海超级工厂投产

全新Model Q实车曝光!特斯拉又一上海超级工厂投产

沙雕小琳琳
2025-02-18 14:19:43
2025-02-18 16:07:00
数据不吹牛 incentive-icons
数据不吹牛
趣味+实用数据分析
415文章数 4500关注度
往期回顾 全部

科技要闻

马斯克发布"最聪明AI":号称碾压DeepSeekV3

头条要闻

杭州一"楼王"法拍房第7次上架 起拍价比去年还涨800万

头条要闻

杭州一"楼王"法拍房第7次上架 起拍价比去年还涨800万

体育要闻

曾遭遇两年欠薪,国足最新归化球员是他?

娱乐要闻

陈晓与陈妍希宣布离婚:今后各自安好

财经要闻

最高层级座谈会,谁晋级,谁缺席了

汽车要闻

和同级9字辈对比如何? 到店体验腾势N9

态度原创

家居
手机
游戏
本地
亲子

家居要闻

自然人居空间 恬淡安舒

手机要闻

曝小米Civi 5 Pro首发骁龙8s Elite平台:最快4月登场

《湮灭之潮》时长将超30小时!30多个BOSS等待挑战

本地新闻

非遗版春节|新春青岛行,是谁闯入了动漫世界?

亲子要闻

婆婆给的爱也不比妈妈少,忙碌的生意也要把你们给抱上,网友:不哭不闹好怪呀

无障碍浏览 进入关怀版