说明:“本博文为排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现系列,关于排列熵、模糊熵的内容请阅读博客:

排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现

排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之模糊熵


目录

三、样本熵

1.简介

2.基本原理

3.MATLAB代码

结束语

参考文献


三、样本熵

1.简介

样本熵(Sample entropy,简称SampEn)是Richman等在2000年提出的一种新的时间序列复杂度表征参数。样本熵是在近似熵的基础上改进得到的,二者都是衡量时间序列的复杂性和维数变化时序列产生新模式概率的大小,产生新模式的概率越大,序列的复杂性程度越高,熵值就越大。与Lyapunov指数 、信息熵、关联维数等其他非线性动力学方法相比,样本熵具有所需的数据短、抗噪和抗干扰能力强、在参数大取值范围内一致性好等优点,因而被广大学者所关注且近年来被常用于机械信号分析与故障诊断领域。

2.基本原理

设有长度为N的时间序列X={x(1),x(2),...,x(N)},其样本熵的计算方法如下:

Step1:将时间序列X构造成m维矢量,即

Step2:定义X(i)与X(j)间的距离为d[X(i),X(j)](i不等于j),为两者对应元素中差值最大的一个,即

Step3:给定阈值r(r>0),统计d[X(i),X(j)]<r的数目并与总的矢量个数 N-m 的比值,即

Step4:对所有由式(3)得到的结果求平均,即:

Step5:再将维数 m 加 1,重复 Step1~ Step4

Step6:则理论上此序列的样本熵为:

但实际中 N 不可能为无穷大,而为一有限值,则样本熵的估计值为:

样本熵算法的优点:样本熵不包含自身数据段的比较,不仅提高了计算精度、节约了计算时间,而且也使得样本熵的计算不依赖数据长度;其次,样本熵具有更好的一致性,就是说如一序列比另一序列有较高的 SampEn,那么改变 m 和 r 值,也具有相对较高的 SampEn 值。总的来说,样本熵就是一种与近似熵相似但精度更好的方法。

3.MATLAB代码

%% 主函数
clc;
clear;
close all;% 仿真信号
Fs=4000;   % 数据采样率
t=(0:1/Fs:(1-1/Fs));
x=0.6*sin(500*pi*t+pi/4);% 计算样本熵
dim=2;
r=0.2*std(x);
sampEn = SampleEntropy( dim, r, x);%% 样本熵函数
function sampEn = SampleEntropy( dim, r, data, tau )
%   注意:这个样本熵函数是在Kijoon Lee的基础上做的修改
%   样本熵算法的提出者:Richman J s,Moorman J R. Physiological time-seriesanalysis using approximate entropy and sample entropy[J. American Journal of Physiology Heart &. Circula-tory Physiology,2000,278(6):2039-2049.
%   计算给定时间序列数据的样本熵
%
%   样本熵在概念上类似于近似熵,但有以下区别:
%       1)样本熵不计算自匹配,通过在最后一步取对数,避免了可能出现的log(0)问题;
%       2)样本熵不像近似熵那样依赖数据的长度。
%
%   dim:嵌入维数(一般取1或者2)
%   r:相似容限( 通常取0.1*Std(data)~0.25*Std(data) )
%   data:时间序列数据,data须为1xN的矩阵
%   tau:下采样延迟时间(在默认值为1的情况下,用户可以忽略此项)
%
if nargin < 4, tau = 1; end
if tau > 1, data = downsample(data, tau); endN = length(data);
result = zeros(1,2);for m = dim:dim+1Bi = zeros(N-m+1,1);dataMat = zeros(N-m+1,m);% 设置数据矩阵,构造成m维的矢量for i = 1:N-m+1dataMat(i,:) = data(1,i:i+m-1);end% 利用距离计算相似模式数for j = 1:N-m+1% 计算切比雪夫距离,不包括自匹配情况dist = max(abs(dataMat - repmat(dataMat(j,:),N-m+1,1)),[],2);% 统计dist小于等于r的数目D = (dist <= r);% 不包括自匹配情况Bi(j,1) = (sum(D)-1)/(N-m);end% 求所有Bi的均值result(m-dim+1) = sum(Bi)/(N-m+1);end% 计算得到的样本熵值sampEn = -log(result(2)/result(1));end

结束语

大家的点赞和关注是博主最大的动力,博主所有博文中的代码文件都可分享给您(除了少量付费资源),如果您想要获取博文中的完整代码文件,可通过C币或积分下载,没有C币或积分的朋友可在关注、点赞和评论博文后,私信发送您的邮箱,我会在第一时间发送给您。博主后面会有更多的分享,敬请关注哦!

参考文献

[1]样本熵理论相关知识与代码实现

[2]郑近德,陈敏均,程军圣,等. 多尺度模糊熵及其在滚动轴承故障诊断中的应用[J]. 振动工程学报,2014,27(1):1145-151.

[3]来凌红,吴虎胜,吕建新,等. 基于EMD和样本熵的滚动轴承故障SVM识别[J]. 煤矿机械,2011,32(1):249-252.

排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之样本熵相关推荐

  1. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之近似熵

    说明:"本博文为排列熵.模糊熵.近似熵.样本熵的原理及MATLAB实现"系列博文的最后一篇,关于排列熵.模糊熵.样本熵的内容请阅读博客: 排列熵 模糊熵 样本熵 近似熵 四.近似熵 ...

  2. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之模糊熵

    目录 二.模糊熵 1.概念 2.基本原理 3.MATLAB代码 4.参考文献 说明:关于排列熵的内容请阅读博客:排列熵.模糊熵.近似熵.样本熵的原理及MATLAB实现 二.模糊熵 1.概念 在样本熵的 ...

  3. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现

    目录 一.排列熵 1.概念 2.基本原理 补充说明 3.MATLAB代码 参考文献 一.排列熵 1.概念 一种检测动力学突变和时间序列随机性的方法,能够定量评估信号序列中含有的随机噪声. 2.基本原理 ...

  4. 近似熵 样本熵 模糊熵

    特征提取field 表征信号序列复杂程度的无量纲指标,熵值越大代表信号复杂度越大. 应用:机械设备状态监测.故障诊断以及心率.血压信号检测 优点:抵抗环境干扰 1. 近似熵 Def: 近似熵(Appr ...

  5. 【熵与特征提取】基于“信息熵”的特征指标及其MATLAB代码实现(功率谱熵、奇异谱熵、能量熵)

    <三体>中对监听员的日常工作有这样一段描述: ...1379 号监听站已经存在了上千年,像这样的监听站,在三体世界中有⼏千个,它们全神贯注地聆听着宇宙间可能存在的智慧⽂明的信息... .. ...

  6. matlab 值法确定各指标权重,Matlab学习系列19. 熵值法确定权重

    19. 熵值法确定权重 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确定性就越小,熵也就越小:信息量越小,不确定性越大,熵也越大. 根据熵的特性,可以通过计算熵值来判断一个事件的 ...

  7. 用matlab实现熵权法,熵权法原理及matlab代码实现

    参考原理博客地址https://blog.csdn.net/u013713294/article/details/53407087 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确 ...

  8. 【综合评价分析】熵权算法确定权重 原理+完整MATLAB代码+详细注释+操作实列

    [综合评价分析]熵权算法确定权重 原理+完整MATLAB代码+详细注释+操作实列 文章目录 1. 熵权法确定指标权重 (1)构造评价矩阵 Ymn (2)评价矩阵标准化处理 (3)计算指标信息熵值 Mj ...

  9. 你真的懂对抗样本吗?一文重新思考对抗样本背后的含义

    作者:Alex Adam 机器之心编译 参与:Luo Sainan.一鸣 很多人都大概了解对抗样本是什么:在数据中加入人眼不可察觉的扰动,使得模型对数据的标签预测发生混淆和错误.但是,这句话背后的技术 ...

  10. R语言检验样本是否符合正态性(检验样本是否来自一个正态分布总体):shapiro.test函数检验样本是否符合正态分布(normality test)

    R语言检验样本是否符合正态性(检验样本是否来自一个正态分布总体):shapiro.test函数检验样本是否符合正态分布(normality test) 目录

最新文章

  1. centos7镜像加速_使用阿里云容器镜像服务托管私有Docker镜像
  2. 阿里云配置负载均衡实例
  3. 关于损失函数的一些个人理解
  4. HDU1599 find the mincost route Floyd算法求最小环
  5. 太神奇!2张关键帧,AI生成完整运动过程!
  6. python镜像_Python二叉树的镜像转换实现方法示例
  7. JVM源码分析之栈溢出完全解读
  8. 求一个任意实数的算术平方根的算法设计_感恩!面试必刷100道算法题
  9. 电动牙刷无线充电解决方案
  10. C++ Reference: Standard C++ Library reference: C Library: cstdlib: atoll
  11. html用css设置图片大小,css如何设置图片大小?
  12. Android——Intent简介
  13. Linux安装Siege
  14. 论文解读| NeurIPS 2022:面向科学任务的图神经网络设计
  15. JavaScript弹出模式窗口
  16. 【Rosalind】Counting Point Mutations
  17. 前端架构 101(六):整洁(Clean Architecture)架构是归宿
  18. 提高写文档的能力(程序员)
  19. 如何写出高性能代码(四)优化数据访问
  20. 国外常用的免费DNS域名解析服务器(转)

热门文章

  1. 在c语言的switch 语句中,的case后面的表达式,switch语句中case后面的值必须是什么?...
  2. Learning Convolutional Neural Networks for Graphs
  3. CSS3权威指南读书笔记
  4. CSS 权威指南 读书笔记(二)
  5. 手把手教你用VMware安装Centos7.9镜像(史上最详细)
  6. 论文阅读_无监督知识图对齐PRASE
  7. 自己开发的网页嵌入到飞书后不能右键进行复制粘贴的解决方案
  8. 网络爬虫-爱给音效素材网js逆向思路
  9. 《假如爱有天意》月光如春风拂面,你如种子深埋我心
  10. 笔记本无线网卡没有连接到计算机,笔记本没有无线网络连接怎么办 解决方法介绍【图解】...