admin管理员组

文章数量:1596259

MATLAB实现各种熵:香农熵、条件熵、模糊熵、样本熵等

  • 0 引言
  • 1 香农熵Shannon Entropy
    • 1.1 基本原理
    • 1.2 信息熵的3个性质
    • 1.3 MATLAB代码实现
  • 2 两随机变量系统中熵的相关概念
    • 2.1 互信息Mutual Information
      • 2.1.1 基本原理
      • 2.1.2 MATLAB代码实现
    • 2.2 联合熵Joint Entropy
    • 2.3 条件熵Conditional Entropy
      • 2.3.1 基本原理
      • 2.3.2 MATLAB代码实现
    • 2.4 互信息、联合熵、条件熵之间的关系
    • 2.5 纠正条件熵Corrected Conditional Entropy
      • 2.5.1 基本原理
      • 2.5.2 MATLAB代码实现
  • 3 两分布系统中熵的相关概念
    • 3.1 交叉熵Cross entropy
    • 3.2 相对熵Relative Entropy
    • 3.3 相对熵与交叉熵的关系
  • 4 时间序列分析相关熵
    • 4.1 模糊熵Fuzzy Entropy
      • 4.1.1 基本原理
      • 4.1.2 MATLAB代码实现
    • 4.2 样本熵Sample Entropy
      • 4.2.1 基本原理
      • 4.2.2 MATLAB代码实现
    • 4.3 近似熵Approximate Entropy
      • 4.3.1 基本原理
      • 4.3.2 MATLAB代码实现
    • 4.4 排列熵Permutation Entropy
      • 4.4.1 基本原理
      • 4.4.2 MATLAB代码实现
    • 4.5 模糊熵、样本熵、近似熵与排列熵的关系
  • 5 参考

0 引言

信息熵(entropy)的原始定义是离散(discrete)的,后来发展了在连续域上的微分熵(differential entropy)。然而,通常在给定的数据集上,无法知道连续变量的概率分布,其概率密度函数也就无法获得,不能够用微分熵的计算公式。那要如何计算呢?

  • 一种常见的方式是直方图法,它将连续变量的取值离散化,通过变量范围内划分bins,将不同的变量取值放入一个个bins中,然后统计其频率,继而使用离散信息熵的计算公式进行计算。然而,每个bin应该取多大的范围是很难确定的,通常需要反复计算获得最优的解。
  • 一种无参熵估计法(non-parametric entropy estimation) 可以避免划分bins来计算熵值,包括了核密度估计(kernel density estimator, KDE)和k-近邻估计(k-NN estimator)。
  • 相比之下,直方图法不够精确,而核密度估计法运算量太大,k-近邻估计成为了普遍使用的一种计算连续随机变量的熵值方式。

本文标签: 香农样本模糊条件matlab