样本熵的计算与可视化 python

样本熵的计算包和原理见下链接:

# 计算样本熵 https://sampen.readthedocs.io/en/stable/#with-tox
# 样本熵的解释 https://www.zhihu.com/question/266285555

直接上可视化(我看了很多论文的图,都画这样)

from sampen import sampen2
def sample_entropy(IImfs):# 计算样本熵 m=1、2, r=0.1、0.2sampen=[]for i in IImfs:for j in (0.1,0.2):sample_entropy=sampen2(list(i),mm=2,r=j,normalize=True)sampen.append(sample_entropy)# 分离entropy_r1m1=[]  # r=0.1、m=1entropy_r1m2=[]  # r=0.1、m=2entropy_r2m1=[]  # r=0.2、m=1entropy_r2m2=[]  # r=0.2、m=2for i in range(len(sampen)):if (i%2)==0: # r = 0.1# m = 1entropy_r1m1.append(sampen[i][1][1])# m = 2entropy_r1m2.append(sampen[i][2][1])else: # r = 0.2# m = 1entropy_r2m1.append(sampen[i][1][1])# m = 2entropy_r2m2.append(sampen[i][2][1])# 可视化       fig=plt.figure()x=list(range(1,len(IImfs)+1,1))# 线段、颜色参考:https://blog.csdn.net/qiurisiyu2016/article/details/80187177plt.plot(x,entropy_r1m1,'r:H',label='m=1 r=0.1')plt.plot(x,entropy_r2m1,'b:s',label='m=1 r=0.2')plt.plot(x,entropy_r1m2,'c:D',label='m=2 r=0.1')plt.plot(x,entropy_r2m2,'m:h',label='m=2 r=0.2')plt.xlabel('I M F 分 量')plt.ylabel('样  本  熵  值')plt.legend()plt.show()#fig.savefig('sample_entropy.png', format='png', transparent=True, dpi=300, pad_inches = 0)

m和r都为参数,可在原理链接中看。可自行调整,不过我看论文用的这个。

计算

# 计算各imf分量的样本熵
sample_entropy(IImfs)

结果,此处数据使用上一篇文章中CEEMDAN分解所得的Imf。

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部