样本熵的计算与可视化 python

样本熵的计算包和原理见下链接:
# 计算样本熵 #with-tox
# 样本熵的解释
直接上可视化(我看了很多论文的图 , 都画这样)
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都为参数 , 可在原理链接中看 。可自行调整 , 不过我看论文用的这个 。

样本熵的计算与可视化 python

文章插图
计算
# 计算各imf分量的样本熵sample_entropy(IImfs)
【样本熵的计算与可视化 python】结果 , 此处数据使用上一篇文章中分解所得的Imf 。