递归图(Recurrence Plot, RP)是分析时间序列周期性、混沌性以及非平稳性的一个重要方法,最初由
Eckmann于1978年提出,如果感兴趣的话可以参考原始的文章
FAQ:递归图用来干啥的呢?
ANS:时间序列信号周期性、混沌性、非线性和非稳态性检测的手段,拿具体的例子来看就很容易接受了,如下是今年在Science上的一篇文章,研究内容是古气候学的,里面就用到了这里所说的递归分析:
我们再去看它在此文中的介绍,递归分析(RA)用于识别不同类型动力学之间的转换,也就是说识别系统动力学的不同状态,在古气候学中就是什么时期是冷的,什么时期转换为暖的了。递归分析里面还有一个重要的输出值,就是Determinism值,DET值高,那么系统的可预测性程度强,反过来,DET值低的话就是说明系统呈现出强随机性,也就是说可预测性弱。如图:
我们知道了这个算法有什么作用,也就是说可以用来干什么之后,就要想 怎么实现它,运用它。递归分析的运用范围是很广的,比如脑电波信号中,正好我下载了一篇脑电波信息的文章,在本学科中找不到的问题的解决方案的时候去其他学科看看也是一个不错的选择。 说来说去怎么实现它呢,有没有写好的程序呢,回答是:YES。有Python和Matlab的程序实现它,并且找到了一个Matlab的程序带有GUI的,比较友好了。 先说Python的吧,我也是在寻找这个算法的图中发现的,里面介绍了这个递归算法: 接下来是Matlab软件下实现递归图的介绍,找到的程序来源于一个web[地球测序空间:https://paloz.marum.de/confluence/collector/pages.action?key=ESPUBLIC],并且可以输出DET值,,里面也提供了一些其他分析工具,感觉很不错 在这个网站把程序下载下来后就可以安装运行使用了,安装也很简单,因为下载下来的就一个install.m的文件,右键安装,这是个toolbox,安装好后就去matlab的安装文件夹里面找到toolbox这一级目录找到安装的这个install,直接点进去,你会发现程序都已经安装好了,比如我现在想对一个序列做DET分析,那么我就运行一下gui,如图:这里本来有一张图的,奈何这鬼电脑卡卡卡卡卡卡卡了 总的来说,这个东西的介绍也就这么多,如果要使用的话还需要再仔细去学习一下,好吧,这应该就是这个周末的收获吧,回头重新看了两遍今年发在Science上的那篇文章 又好好看了一下文章的附件,果然,附件才是精华啊,Get了ok,好吧,就写到这里吧,我目前写不了,但是不代表不会用哈哈,我相信总会有伙伴需要做这个递归分析,分享出来方便你我他,如果下载不到install.m这个文件的话请私聊我喔。找资料不容易,如果觉得本文对您的研究有所帮助的话还请支持一下,本穷鬼感激不尽!