【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
文章目录
- 一、互信息基础
- 二、延迟互信息
- 2.1 交互延迟互信息
- 三、时间序列互信息中的概率计算(高斯核密度估计)
- 四、python 示例
- 补充 1:熵
- 熵的定义
- 熵的性质
- 熵的单位和对数底数
- 熵的最大值
- 高熵、低熵的分辨
- 补充 2:概率密度 和 高斯核
- 概率密度
- 高斯核
- 拓展3 :核密度函数带宽估计
在信息理论和时间序列分析中,研究变量之间的相互依赖性和信息流动是理解复杂系统行为的关键。
交互延迟互信息(Interactive Delayed Mutual Information, IDMI)是一种用于量化两个时间序列之间相互依赖关系的方法,它结合了互信息和时间延迟的概念,能够捕捉系统中不同时间点的依赖性。
一、互信息基础
互信息(Mutual Information, MI)是量化两个随机变量之间相互依赖性的度量,能够捕捉非线性依赖关系。
互信息是一种已知一个变量的情况下,另一个变量不确定性减少的度量。互信息越大,相互影响越紧密(这里也体现了概率、熵的概念)。举例:变量A表示骰子点数的奇偶性(假设0是奇数,1是偶数),变量B是骰子点数,知道变量B取值为6时,变量A的不确定性减少了(A是1)。
对于两个离散随机变量 X X X 和 Y Y Y,互信息定义为:
I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log ( p ( x , y ) p ( x ) p ( y ) ) I(X; Y) = \sum_{x \in X} \sum_{y \in Y} p(x, y) \log \left(\frac{p(x, y)}{p(x)p(y)}\right) I(X;Y)=x∈X∑y∈Y∑p(x,y)log(p(x)p(y)p(x,y))
其中:
- p ( x , y ) p(x, y) p(x,y) 是 X = x X = x X=x 和 Y = y Y = y Y=y 时的联合概率分布(即两个事件同时发生的概率)。
- p ( x ) p(x) p(x) 和 p ( y ) p(y) p(y) 分别是 X X X 和 Y Y Y 的边缘概率分布(即只考虑一个变量,另一个任意取值)。
p ( x , y ) = p ( x ) ∗ p ( y ) p(x,y) = p(x) * p(y) p(x,y)=p(x)∗p(y)是否成立:
- 如果x、y是独立的变量,上式成立。互信息表达式中的对数值就是 l o g ( 1 ) = 0 log(1)=0 log(1)=0,也就是两个独立变量的互信息为0。
- 如果x、y不独立,上式不成立。这时候就要使用条件概率了, p ( x , y ) = p ( x ) ∗ p ( y ∣ x ) p(x,y) = p(x) * p(y|x) p(x,y)=p(x)∗p(y∣x),即x、y同时发生的概率等于x发生的概率乘以x发生的前提下y发生的概率,这很好理解。
互信息也可以表示为熵的差值形式:
I ( X ; Y ) = H ( X ) + H ( Y ) − H ( X , Y ) I(X; Y) = H(X) + H(Y) - H(X, Y) I(X;Y)=H(X)+H(Y)−H(X,Y)
这里, H ( X ) H(X) H(X) 和 H ( Y ) H(Y) H(Y) 分别是 X X X 和 Y Y Y 的熵, H ( X , Y ) H(X, Y) H(X,Y) 是联合熵。
熵的定义为:
H ( X ) = − ∑ x ∈ X p ( x ) log p ( x ) H(X) = -\sum_{x \in X} p(x) \log p(x) H(X)=−x∈X∑p(x)logp(x)
熵的概念见本文补充章节。 上面的公式很好推导的,对数变成减法就行了,以及 ∑ y j P ( X = x i , Y = y j ) = P ( X i ) \sum_{y_j} P(X = x_i, Y = y_j) = P(X_i) ∑yjP(X=xi,Y=yj)=P(Xi)。
二、延迟互信息
对于时间序列,通常需要考虑时间上的延迟效应。延迟互信息(Delayed Mutual Information, DMI)扩展了互信息的概念,量化了两个时间序列在不同时间延迟下的依赖关系。给定时间序列 X t X_t Xt 和 Y t Y_t Yt,延迟互信息定义为:
I τ ( X t ; Y t + τ ) = I ( X t ; Y t + τ ) I_\tau(X_t; Y_{t+\tau}) = I(X_t; Y_{t+\tau}) Iτ(Xt;Yt+τ)=I(Xt;Yt+τ)
该公式表示在时间点 t t t 上的 X t X_t Xt 与在时间点 t + τ t + \tau t+τ 上的 Y t + τ Y_{t+\tau} Yt+τ 之间的互信息。
延迟互信息的计算步骤如下:
- 计算联合概率分布:根据时间延迟 τ \tau τ,计算 X t X_t Xt 和 Y t + τ Y_{t+\tau} Yt+τ 的联合概率分布 p ( X t , Y t + τ ) p(X_t, Y_{t+\tau}) p(Xt,Yt+τ)。
- 计算边缘概率分布:分别计算 X t X_t Xt 的边缘概率分布 p ( X t ) p(X_t) p(Xt) 和 Y t + τ Y_{t+\tau} Yt+τ 的边缘概率分布 p ( Y t + τ ) p(Y_{t+\tau}) p(Yt+τ)。
- 计算互信息:使用互信息的定义公式计算 I τ ( X t ; Y t + τ ) I_\tau(X_t; Y_{t+\tau}) Iτ(Xt;Yt+τ)。
举例:
原来:
X: 1 2 3 4 5 6 7 8 9
Y: 1 2 3 4 5 6 7 8 9
计算X滞后阶数为2时X和Y的延迟互信息,就是计算:
X':3 4 5 6 7 8 9
Y':1 2 3 4 5 6 7 8 9
之间的互信息
序列长的需要截掉多余的部分,最终即计算:
X'':3 4 5 6 7 8 9
Y'':1 2 3 4 5 6 7
之间的互信息
2.1 交互延迟互信息
交互延迟互信息(IDMI)进一步扩展了延迟互信息的概念,通过在多个时间尺度上计算和整合延迟互信息,得到一个综合的依赖度量。
其基本思想是分析两个时间序列在多个时间延迟和时间尺度下的交互作用。
设定一组时间延迟 τ i \tau_i τi 和时间尺度 s j s_j sj,IDMI 可以表示为:
I D M I ( X t , Y t ) = ∑ j ∑ i w i j I τ i ( X t ( s j ) ; Y t + τ i ( s j ) ) IDMI(X_t, Y_t) = \sum_{j} \sum_{i} w_{ij} I_{\tau_i}(X_t^{(s_j)}; Y_{t+\tau_i}^{(s_j)}) IDMI(X
相关文章:
【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
文章目录 一、互信息基础二、延迟互信息2.1 交互延迟互信息三、时间序列互信息中的概率计算(高斯核密度估计)四、python 示例补充 1:熵熵的定义熵的性质熵的单位和对数底数熵的最大值高熵、低熵的分辨补充 2:概率密度 和 高斯核概率密度高斯核拓展3 :核密度函数带宽估计在…...
html转vue项目
HTML是一种用于构建网页的标记语言,而Vue是一种用于构建用户界面的JavaScript框架。在HTML中使用Vue可以提供更加灵活和动态的用户界面功能。本文将介绍如何将HTML代码转换为Vue,并提供具体的代码示例。 首先,我们需要在项目中引入Vue框架。…...
.NET系列 定时器
net一共4种定时器 System.Windows.Forms.Timer 类型 》》WinForm专用System.Windows.Threading.DispatcherTime类型》》WPF专用System.Threading.Timer类型》》》它使用 ThreadPool 线程来执行定时操作System.Timers.Timer类型 》》这种很老了。 它使用基于底层计时…...
【Golang】火焰图空白部分是什么?
起因 被同事灵魂拷问:图中这块空白是什么东西? 豆包回答说是数据采样不完整,特定函数或代码段未被调用之类的原因,感觉都不太合理。 之前看过一篇文章说:Heap Profiling的采样是无时无刻不在发生的,执行…...
Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader]
Web框架 --- 解析Web请求 [FromBody] [FromQuery] [FromRoute] [FromHeader] [FromBody][FromQuery][FromRoute] or [FromUri][FromHeader] [FromBody] FromBody 属性在使用 application/json 内容类型并在正文中传递 JSON 时使用通常情况下,FromBody 在一个操作中只…...
Messari 摘要报告:Covalent Network(CXT)2024 Q2 品牌重塑、AI模块化数据、亚太地区扩展、代币回购计划和网络增长
摘要 Covalent Network(CXT)在将质押从 Moonbeam 迁移到以太坊后,质押的 CQT 百分比恢复到了 20% 以上。 Covalent Network(CXT)在第二季度新增了五个网络运营商,使 BSP 集增长了 36%,提升了协…...
Open3D 计算点云的面状指数
目录 一、概述 1.1原理 1.2实现步骤 步骤 1:确定邻域点 步骤 2:计算协方差矩阵 步骤 3:特征值分解 步骤 4:计算面状指数 步骤 5:可视化与应用 1.3应用领域 二、代码实现 2.1关键函数 2.2完整代码 三、实现…...
python下麦克风设备选择和录音
import pyaudio import threading import wave import numpy as np def audio_f2i(data, width16):"""将浮点数音频数据转换为整数音频数据。"""data np.array(data)return np.int16(data * (2 ** (width - 1)))def audio_i2f(data, width16)…...
云和集群有什么区别?
我们常说的集群是针对于某项单独的功能或者说是某几个功能的集合体。 举个例子,比方有100台机器组成一个集群,这个集群里面50台机器装了hadoop,10台机器装了spark,剩下40台机器再装一个查询引擎presto。诸如此类,把多…...
无人机视角下的EasyCVR视频汇聚管理:构建全方位、智能化的AI视频监控网络
随着5G、AI、物联网(IoT)等技术的快速发展,万物互联的时代已经到来,视频技术作为信息传输和交互的重要手段,在多个领域展现出了巨大的应用潜力和价值。其中,EasyCVR视频汇聚平台与无人机结合的AI应用更是为…...
数字影像技术是如何改变我们看待世界的方式呢?
在当今的科技时代,数字影像技术正以惊人的速度改变着我们的生活和视觉体验。那么,什么是数字影像技术呢? 数字影像技术是指通过数字化手段对图像和视频进行获取、处理、存储、传输和展示的一系列技术。 它利用各种数字设备,如数…...
Chainlit实现启动页面选择不同的LLM启动器等设置界面
基本概念:启动选择器(Starters) 启动选择器(Starters) 是一种帮助用户开始与您的助手互动的建议。您可以为助手定义最多4个启动建议,并且可以为每个启动建议指定一个图标。 示例代码 (starters.py) impo…...
SQL - 增、改、删
插入 (insert into) 插入单行 insert into 表名 values ( 对应列的值,用,号间隔) //一般主键值用default,不可填null的不要填null insert into 表名 (需要提供值的列名) values (与之对应的提供的值) //其他的值只需mysql默认提供 insert into 表名 子查…...
怎么屏蔽电脑监控软件?企业管理者的智慧选择——精准定位,合理屏蔽,让监控软件成为助力而非障碍!
电脑监控软件在企业管理中扮演着日益重要的角色,它们能够提升工作效率、保障信息安全、预防内部风险。然而,过度或不当使用监控软件也可能引发员工隐私担忧,影响工作积极性和团队氛围。因此,作为企业管理者,如何精准定…...
Linux·权限与工具-make
1. Makefile/makefile工具 首先展示一下,makefile工具如何使用。我们先写一个C语言程序 然后我们建立一个Makefile/makefile文件,m大小写均可。我们在文件中写入这样两行 wq保存退出后,我们使用 make 命令 可以看到生成了可执行程序ÿ…...
C++的序列容器——数组
前言: 这篇文章我们就开始新的章节,我们之前说的C/C的缺陷那部分内容就结束了。在开始新的章之前我希望大家可以先对着题目思考一下,C的容器是什么?有什么作用?下面让我们开始新的内容: 目录 前言&#x…...
TCC 和 XA 协议之间的区别?
TCC(Two-Phase Commit)协议和XA协议都是用于分布式系统中确保事务原子性的协议。它们在实现分布式事务协调方面有一些相似之处,但也存在一些关键的不同点。 协议的协调者(Coordinator)角色: TCC协议&#x…...
萌啦数据插件使用情况分析,萌啦数据插件下载
在当今数字化时代,数据已成为企业决策与个人分析不可或缺的重要资源。随着数据分析工具的日益丰富,一款高效、易用的数据插件成为了众多用户的心头好。其中,“萌啦数据插件”凭借其独特的优势,在众多竞品中脱颖而出,成…...
C++初学(13)
13.1、for循环的组成部分 for循环的组成部分完成下面这些步骤: (1)设置初始值。 (2)执行测试,看看循环是否应当继续。 (3)执行循环操作。 (4)更新用于测试的值。 C循环设计中包含这要素,很容易识别,初始化、测试和更新操作工…...
目标检测之数据增强
一、概述 数据增强是一种通过人工或自动方式对数据进行修改或变换,以增加数据集规模和多样性的技术。在机器学习中,数据增强被广泛应用于解决数据稀缺、数据不平衡、数据噪声等问题,提高模型的泛化能力和鲁棒性。 二、为什么需要数据增强 …...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
