Information Theoretical Estimators (ITE) Toolbox的使用(MATLAB)

Information Theoretical Estimators (ITE) Toolbox是什么

官方文档:
ITE is can estimate several entropy, mutual information, divergence, association measures, cross quantities and kernels on distributions. Thanks to its highly modular design, ITE supports additionally (i) the combinations of the estimation techniques, (ii) the easy construction and embedding of novel information theoretical estimators, and (iii) their immediate application in information theoretical optimization problems.
ITE is
(i) written in Matlab/Octave,
(ii) multi-platform (tested extensively on Windows and Linux),
(iii) free and open source (released under the GNU GPLv3(>=) license).

ITE offers
(i) solvers for Independent Subspace Analysis (ISA), and its extensions to different linear-, controlled-, post nonlinear-, complex valued-, partially observed models, as well as to systems with nonparametric source dynamics.
(ii) several consistency tests (analytical vs estimated value),
(iii) illustrations for information theoretical image registration and distribution regression [supervised entropy learning and aerosol prediction based on multispectral satellite images].

For further details, see “https://bitbucket.org/szzoli/ite-in-python/” (Python: new), “https://bitbucket.org/szzoli/ite/” (Matlab/Octave)

简言之,用来计算变量之间的熵的工具箱。
作者接触是因为审稿人一再要求用这个工具计算信息熵,可能也算是权威吧。

我之前的实验都是用MATLAB做的,所以优先选择了MATLAB来进行实验,但因为未知的原因,实验结果和我预期的相差很大,因此,我放弃了。以下是当初实验的尝试和自己的解读,读者慎重参考。

Information Theoretical Estimators (ITE) Toolbox怎么安装

可以用code目录下的install.m文件进行安装(不过我没成功,中途总报错,不知道什么原因,遂放弃)

  1. 下载zip包,并解压缩。
    因为作者之前的实验都是基于MATLAB写的,所以我选了matlab语言写的,在网址"https://bitbucket.org/szzoli/ite/" (Matlab/Octave)下了zip包,然后解压缩放到一个我本地电脑管理的matlab代码存放文件夹处。
    在这里插入图片描述
  2. 设置路径,保存并关闭
    如下图所示,点击“主页”栏的“设置路径”
    因为ITE有子文件夹,所以选择“添加并包含子文件夹”。
    然后选择刚刚ITE解压的那个文件夹路径,具体就不截屏了。选择之后保存,然后关闭即可。
    在这里插入图片描述
  3. 更新工具箱路径缓存
    “预设项”——“常规”——“更新工具箱路径缓存”
    在这里插入图片描述
  4. 测试是否可以使用
    简单的方法,测试该函数是否存在,这个函数是ITE工具箱里的。
help D_initialization

更官方的方法,参考使用手册。如下图所示,下载对应的pdf,我下载的版本对应pdf是第一个。网址是手册地址
在这里插入图片描述

使用ITE工具箱

KGV

在这里插入图片描述

IKGV_estimation

基于高斯分布的互信息函数:IKGV_estimation(pdf中的KGV方法)。
应该是 I ( X ; Y ) I(X;Y) I(X;Y)
在这里插入图片描述

%function [I] = IKGV_estimation(Y,ds,co)
%Estimates mutual information (I) using the KGV (kernel generalized variance) method. 
%
%We use the naming convention 'I<name>_estimation' to ease embedding new mutual information estimation methods.
%
%INPUT:
%   Y: Y(:,t) is the t^th sample.
%  ds: subspace dimensions. ds(m) = dimension of the m^th subspace, m=1,...,M (M=length(ds)).
%  co: mutual information estimator object.
%
%REFERENCE:
%   Zoltan Szabo, Barnabas Poczos, Andras Lorincz. Undercomplete Blind Subspace Deconvolution. Journal of Machine Learning Research 8(May):1063-1095, 2007. (multidimensional case, i.e., ds(j)>=1)
%   Francis Bach, Michael I. Jordan. Kernel Independent Component Analysis. Journal of Machine Learning Research, 3: 1-48, 2002. (one-dimensional case, i.e., ds(1)=ds(2)=...=ds(end)=1)

进行互信息函数计算之前的初始化
在这里插入图片描述

 function [co] = IKGV_initialization(mult)function [co] = IKGV_initialization(mult,post_init)Initialization of the KGV (kernel generalized variance) mutual information estimator.Note:1)The estimator is treated as a cost object (co).2)We use the naming convention 'I<name>_initialization' to ease embedding new mutual information estimation methods.INPUT:mult: is a multiplicative constant relevant (needed) in the estimation; '=1' means yes (='exact' estimation), '=0' no (=estimation up to 'proportionality').post_init: {field_name1,field_value1,field_name2,field_value2,...}; cell array containing the names and the values of the cost object fields that are to be used(instead of their default values). For further details, see 'post_initialization.m'.OUTPUT:co: cost object (structure).

为了求解 I ( A ; B ) − I ( B ; E ) I(\mathbf{A};\mathbf{B})-I(\mathbf{B};\mathbf{E}) I(A;B)I(B;E),首先按照变量 A \mathbf{A} A, B \mathbf{B} B, E \mathbf{E} E的定义,生成3个二维变量,从统计的角度来说,满足 A ∼ C N ( 0 , δ a 2 ) \mathbf{A} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_a^2}\right) ACN(0,δa2) B ∼ C N ( 0 , δ b 2 ) \mathbf{B} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_b^2}\right) BCN(0,δb2) E ∼ C N ( 0 , δ e 2 ) \mathbf{E} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_e^2}\right) ECN(0,δe2) A \mathbf{A} A, B \mathbf{B} B, E \mathbf{E} E有内在联系。

比如matlab生成了5000个 A \mathbf{A} A, B \mathbf{B} B, E \mathbf{E} E,求 I ( A ∣ B ) I(\mathbf{A}|\mathbf{B}) I(AB) I ( B ∣ E ) I(\mathbf{B}|\mathbf{E}) I(BE),即

ds=[1;1];
mult=1;
Y_1=[A;B];
Y_2=[B;E];
co_1=IKGV_initialization(mult);
co_2=IKGV_initialization(mult);
I_1=IKGV_estimation(Y_1,ds,co_1);
I_2=IKGV_estimation(Y_2,ds,co_2);

condHShannon_HShannon_estimation(A,B,co)和
condHShannon_HShannon_estimation(B,C,co)。

Estimation of Conditional Quantities

条件熵 H ( X ∣ Y ) H(X|Y) H(XY)

一般推导式为: H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(X|Y)=H(X,Y)-H(Y) H(XY)=H(X,Y)H(Y)
在这里插入图片描述
参照上述方式,按照变量 A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C的定义,生成3个二维变量,从统计的角度来说,满足
A ∼ C N ( 0 , δ a 2 ) \mathbf{A} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_a^2}\right) ACN(0,δa2) B ∼ C N ( 0 , δ b 2 ) \mathbf{B} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_b^2}\right) BCN(0,δb2) C ∼ C N ( 0 , δ c 2 ) \mathbf{C} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_c^2}\right) CCN(0,δc2) A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C有内在联系。

比如matlab生成了5000个 A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C,求 H ( A ∣ B ) H(\mathbf{A}|\mathbf{B}) H(AB) H ( B ∣ C ) H(\mathbf{B}|\mathbf{C}) H(BC),即condHShannon_HShannon_estimation(A,B,co)和condHShannon_HShannon_estimation(B,C,co)。
ds=[2;2]
先合成 A \mathbf{A} A, B \mathbf{B} B的数据(成为一个4x5000的矩阵Y_1),求 H ( A ∣ B ) H(\mathbf{A}|\mathbf{B}) H(AB)
再合成 B \mathbf{B} B, C \mathbf{C} C的数据(成为一个4x5000的矩阵Y_2),求 H ( B ∣ C ) H(\mathbf{B}|\mathbf{C}) H(BC)

条件互信息 I ( X ; Y ∣ Z ) I(X;Y|Z) I(X;YZ)

一般推导式为: I ( X ; Y ∣ Z ) = − H ( X , Y , Z ) + H ( X , Z ) + H ( Y , Z ) − H ( Z ) I(X;Y|Z)=-H(X,Y,Z)+H(X,Z)+H(Y,Z)-H(Z) I(X;YZ)=H(X,Y,Z)+H(X,Z)+H(Y,Z)H(Z)
在这里插入图片描述
在这里插入图片描述
参照上述方式,按照变量 A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C的定义,生成3个二维变量,从统计的角度来说,满足
A ∼ C N ( 0 , δ a 2 ) \mathbf{A} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_a^2}\right) ACN(0,δa2) B ∼ C N ( 0 , δ b 2 ) \mathbf{B} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_b^2}\right) BCN(0,δb2) C ∼ C N ( 0 , δ c 2 ) \mathbf{C} \sim \mathcal{C}\mathcal{N}\left( {0,\delta_c^2}\right) CCN(0,δc2) A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C有内在联系。

比如matlab生成了5000个 A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C
ds=[2;2;2]
合成 A \mathbf{A} A, B \mathbf{B} B, C \mathbf{C} C的数据(成为一个6x5000的矩阵Y),求 I ( A ; B ∣ C ) I(\mathbf{A};\mathbf{B}|\mathbf{C}) I(A;BC),即condIShannon_HShannon_estimation(Y,ds,co)。

复高斯变量的条件信息熵

假设X,Y分别服从 C N ( 0 , σ X 2 ) \mathcal{C}\mathcal{N}\left( {0,\sigma_X^2}\right) CN(0,σX2) C N ( 0 , σ Y 2 ) \mathcal{C}\mathcal{N}\left( {0,\sigma_Y^2}\right) CN(0,σY2),即X的实部和虚部都服从均值为0,方差为 σ X 2 2 \frac{\sigma_X^2}{2} 2σX2的高斯分布,Y的实部和虚部都服从均值为0,方差为 σ Y 2 2 \frac{\sigma_Y^2}{2} 2σY2的高斯分布。X和Y是二维变量。
在这里插入图片描述
以及ITE包里condH_estimation函数的描述

function [condH] = condH_estimation(Y1,Y2,co)Conditional entropy estimation (condH) of Y using the specified conditional entropy estimator.INPUT:Y1: Y(:,t1) is the t1^th sample.Y2: Y(:,t2) is the t2^th sample.co: conditional entropy estimator object.

拓展:
实数,计算互信息量互信息概述与matlab实现
I = − 1 2 log 2 ( 1 − ρ 2 ) I=-\frac{1}{2}\text{log}_2(1-\rho^2) I=21log2(1ρ2)

复数,参考文献Security Analysis of Triangle Channel-Based Physical Layer Key Generation in Wireless Backscatter Communications
I = − log 2 ( 1 − ρ 2 ) I=-\text{log}_2(1-\rho^2) I=log2(1ρ2)
ρ = c a , b δ a 2 δ b 2 \rho=\frac{c_{a,b}}{\sqrt{\delta_a^2\delta_b^2}} ρ=δa2δb2 ca,b, c a , b c_{a,b} ca,b是变量A,B的协方差, δ a 2 \delta_a^2 δa2 δ b 2 \delta_b^2 δb2分别是变量A,B的方差。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32G474硬件CRC16和软件CRC16校验

1、硬件CRC校验和软件CRC校验的多项式&#xff0c;以及初始值 #define CRC_Hardware_POLYNOMIAL_16B 0x8005 //硬件CRC多项式为0x8005 //CRC16x^16 x^15 x^2 1&#xff0c;因为bit151,bit21,bit01&#xff0c;所以正向校验的多项式的值为0x8005 //CRC校验分为正向校验和反…

UWA Gears:Frame Capture模式 - 着色器查看器

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台&#xff0c;提供了实时监测和截帧分析功能&#xff0c;帮助您精准定位性能热点&#xff0c;提升应用的整体表现。 在上周的文章中&#xff0c;我们详细介绍了网格查看器的功能&#xff0c;介绍如何通过网格数据优化…

微服务电商平台课程三:基础环境搭建

后端基础环境 工具版本号功能说明下载JDK1.8java编译运行的基本环境Java Downloads | Oracledocker27.0.3容器化部署Windows | Docker Docsgit2.46.2代码版本管理&#xff0c;多人协作代码开发Git for Windowsmaven3.9.9服务的依赖管理Maven – Download Apache MavenMySQL5.7…

【日常记录-Java】应用引入Slf4J

1. 简介 SLF4J(Simple Logging Facade for Java) 是Java的一个简单日志门面&#xff0c;为Java日志访问提供了一套标准、规范的API框架。而具体日志的实现则可以根据这套接口去实现具体的日志框架&#xff0c;以便将来需要更换日志框架时&#xff0c;只替换实现框架即可。常见的…

第十四章 章节练习echarts饼图渲染

目录 一、引言 二、完整代码 三、总结 一、引言 通过前面几个章节的学习&#xff0c;再结合日常项目中经常会使用到的echarts图&#xff0c;来完整以下功能需求&#xff0c;增强对知识点的巩固&#xff1a; 1. 基本渲染 2. 添加功能 3. 删除功能 4. 饼图渲染 运行效果图…

深入探讨全流量回溯分析与网络性能监控系统

AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具 随着数据量的急剧增加&#xff0c;传统的网络监控手段面临诸多挑战。在此背景下&#xff0c;全流量回溯分析和网络性能监控系统成为了保障网络正常运作的重要工具。本文将围绕这两个关键词&#xff0c;探讨它…

Python 深度学习简单介绍

文章目录 常用的深度学习框架1. TensorFlow2. PyTorch3. Keras4. MXNet 安装深度学习框架深度学习基础示例深度学习资源注意事项 Python 是一种高级编程语言&#xff0c;因其简洁的语法、丰富的库和社区支持&#xff0c;成为深度学习领域的主流编程语言。深度学习是一种机器学习…

厨艺爱好者的在线互动平台:Spring Boot实现

摘 要 使用旧方法对厨艺交流信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在厨艺交流信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。 这次开发的厨艺交流平台功能…

WUP-MY-POS-PRINTER 旻佑热敏打印机票据打印uniapp插件使用说明

插件地址&#xff1a;WUP-MY-POS-PRINTER 旻佑热敏打印机票据打印安卓库 简介 本插件主要用于旻佑热敏打印机打印票据&#xff0c;不支持标签打印。适用于旻佑的各型支持票据打印的热敏打印机。本插件开发时使用的打印机型号为MY-805嵌入式面板打印机&#xff0c;其他型号请先…

2006-2023年各地级市债务余额数据

2006-2023年各地级市债务余额数据 1、时间&#xff1a;2006-2023年 2、来源&#xff1a;整理自wind 3、指标&#xff1a;地区、地方政府债-债券数量(只)、地方政府债-债券余额(亿)、地方政府债-债券余额占比(%)、城投债-债券数量(只)、城投债-债券余额(亿)、城投债-债券余额…

CentOS7安装Docker-2024

CentOS7安装Docker-2024 安装 更新yum仓库&#xff1a; yum -y update安装yum-utils并配置阿里云的docker仓库和相关插件&#xff1a; sudo yum install -y yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum i…

121.WEB渗透测试-信息收集-ARL(12)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;120.WEB渗透测试-信息收集-ARL&#xff08;11&#xff09; 点击管理控制台 连接成功&…

Java | Leetcode Java题解之第513题找树左下角的值

题目&#xff1a; 题解&#xff1a; class Solution {public int findBottomLeftValue(TreeNode root) {int ret 0;Queue<TreeNode> queue new ArrayDeque<TreeNode>();queue.offer(root);while (!queue.isEmpty()) {TreeNode p queue.poll();if (p.right ! nu…

w005基于Springboot学生心理咨询评估系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

NOIP-2022 题解

T1 一眼是计数类的题目&#xff0c;那就要思考怎么计数了 这道题目还是很简单的 类似于动态规划&#xff0c;只要找到转移的方法就行了&#xff0c;从哪里可以做出来 首先 , 先考虑 C 因为 F 是 C 下边随便加一个点 , 所以只要求出 C 就求出了 F 。 首先, 先考虑 C 因为 F 是…

SpringCloud接入nacos配置中心

这里写自定义目录标题 版本选择项目搭建pom.xml本地的 application.ymlchenfu-miniapp-dev.yml 中的配置项接收配置的实体类 版本选择 spring-cloud-Alibaba版本依赖关系 本文章&#xff0c;采用的 springboot 版本是 2.6.13&#xff0c;spring-cloud-alibaba 版本是 2021.0.5…

Reduce函数

Reduce函数&#xff1a; 概念表述&#xff1a; reduce()方法是一个迭代方法对数组中的每个元素按序执行一个提供的 reducer 函数&#xff0c;每一次运行 reducer函数体会将先前元素的计算结果作为参数传入&#xff0c;最后将其结果汇总为单个返回值。用于累积运算。 执行机制&…

(二十二)、k8s 中的关键概念

文章目录 1、总体概览2、第一层&#xff1a;物理机、集群、Node、Pod 之间的关系2、第二层&#xff1a;命名空间 Namespace3、定义4、控制平面&#xff08;Control Plane&#xff09;5、特别的概念 Service6、Deployment 经过 之前几篇文章对 k8s 的实践&#xff0c;结合实践&…

QT 中彻底解决中文乱码问题的指南

在使用 QT 进行开发时&#xff0c;中文乱码问题是许多开发者常遇到的困扰。这不仅影响用户体验&#xff0c;还可能导致数据处理错误。本文将详细介绍在 QT 中彻底解决中文乱码问题的方法&#xff0c;帮助开发者创建更友好的应用程序。 一、中文乱码问题的原因 在 QT 中出现中文…

appium文本输入的多种形式

目录 一、send_keys方法 二、press_keycode方法 三、subprocess方法直接通过adb命令输入 一、send_keys方法 这个是最常用的方法&#xff0c;不过通常使用时要使用聚焦&#xff0c;也就是先点击后等待&#xff1a; element wait.until(EC.presence_of_element_located((By…