近似熵的一种快速实用算法

Pincus提出的近似熵算法中有很多冗余的计算,效率低,速度慢,不利于实际应用,洪波等人在定义的基础上引入二值距离矩阵的概率,提出了一种实用快速的算法。

  1. function ApEn=EntropyCompute(sig,m,r0)
  2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  3. % 计算一维信号的近似熵,采用快速算法
  4. % sig: 待求近似熵的源信号
  5. % m: 一般取 2
  6. % r0: 一般取0.1 ~ 0.25
  7. % Ref: 近似熵:一种应用于短数据的的复杂性度量,杨福生
  8. % 近似熵及其在机械设备故障诊断中的应用,胥永刚
  9. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10. N = size(sig,1);
  11. r=r0*std(sig);
  12. d=zeros(N,N);
  13. %%% 计算距离矩阵 %%%
  14. for i=1:N
  15. d(i,:)=abs(sig(i)-sig) < r;
  16. end
  17. %%% 计算C2 %%%
  18. c2=zeros(1,N-m+1);
  19. for i=1:N-m+1
  20. for j=1:N-1;
  21. buf = d(i,j) & d(i+1,j+1);
  22. c2(i)=c2(i)+buf;
  23. end
  24. end
  25. Fi(1)=sum(log(c2))/(N-m+1);
  26. m=m+1;
  27. %%% 计算C3 %%%
  28. c3=zeros(1,N-m+1);
  29. for i=1:N-m+1
  30. for j=1:N-2;
  31. c3(i)=c3(i)+(d(i,j) & d(i+1,j+1) & d(i+2,j+2));
  32. end
  33. end
  34. Fi(2)=sum(log(c3))/(N-m+1);
  35. ApEn=Fi(1)-Fi(2);
  36. return;

The algorithm of entropy realization的更多相关文章

  1. A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning

    A Gentle Introduction to the Gradient Boosting Algorithm for Machine Learning by Jason Brownlee on S ...

  2. Akumuli时间序列数据库——列存储,LSM,MVCC

    Features Column-oriented time-series database. Log-structured append-only B+tree with multiversion c ...

  3. Lempel-Ziv algorithm realization

    Lempel-Ziv 复杂度程序 随着人们对非线性方法的分析越加深入,他们发现,虽然关联维度和最大李雅谱诺夫指数在分析脑电时具有一定的帮助,但是它们对数据的依赖性太强,对干扰和噪 声太敏感,而且要得到 ...

  4. [转载] Calculating Entropy

    From:  johndcook.com/blog For a set of positive probabilities pi summing to 1, their entropy is defi ...

  5. hdu 1053 Entropy

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1053 Entropy Description An entropy encoder is a data ...

  6. ZOJ 3827 Information Entropy 水题

    Information Entropy Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/sh ...

  7. Reducing the Dimensionality of data with neural networks / A fast learing algorithm for deep belief net

    Deeplearning原文作者Hinton代码注解 Matlab示例代码为两部分,分别对应不同的论文: . Reducing the Dimensionality of data with neur ...

  8. [POJ 1521]--Entropy(哈夫曼树)

    题目链接:http://poj.org/problem?id=1521 Entropy Time Limit: 1000MS    Memory Limit: 10000K Description A ...

  9. ZOJ3827 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江I称号 Information Entropy 水的问题

    Information Entropy Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge Informatio ...

随机推荐

  1. 精通android学习笔记(一)---广播

    普通广播:sendBroadcast 有序广播:sendOrderedBroadcast,有序广播优先级可以再manifest中设置,数值越大,最先收到.-1000~1000 <receiver ...

  2. pyhcarm github

    1.主题 介绍如何用Pycharm实打实的创建.运行.调试程序. 2.准备工作 Pycharm版本为2.7或者更高. 至少安装一个Python解释器,2.4到3.3均可 3.下载安装Pycharm 下 ...

  3. 【JavaScript】获取项目路径地址

    在jsp页面顶上面定义 <% String path = request.getContextPath(); String basePath = request.getScheme() + &q ...

  4. BZOJ5017 Snoi2017炸弹(线段树+强连通分量+缩点+传递闭包)

    容易想到每个炸弹向其能引爆的炸弹连边,tarjan缩点后bitset传递闭包.进一步发现每个炸弹能直接引爆的炸弹是一段连续区间,于是线段树优化建图即可让边的数量降至O(nlogn).再冷静一下由于能间 ...

  5. php配置说明

    1上传文件限制配置 post_max_size = 200M upload_max_file_size = 200M

  6. 【CF601C】Kleofáš and the n-thlon

    Portal -->CF601C Description 大概是说\(m\)个人参加\(n\)场比赛,每场一人有一个排名,每场没有两个人排名相同,一个人最后的得分是\(n\)场比赛的排名相加,现 ...

  7. python基础----__slots__方法、__call__方法

    ''' 1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的_ ...

  8. dom4j之selectSingleNode方法

    dom4j之selectSingleNode方法 2017年12月18日 15:10:18 xclsky1120 阅读数:2043   版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  9. django2.0 uwsgi nginx

    [TOC]# 1.安装pip```sudo apt-get updatesudo apt-get install python-pip```# 2.使用pip 安装virtualenv 和 virtu ...

  10. Codeforces Round #410 (Div. 2)A B C D 暴力 暴力 思路 姿势/随机

    A. Mike and palindrome time limit per test 2 seconds memory limit per test 256 megabytes input stand ...