【数据分析】(交互) 延迟互信息(熵、概率密度、高斯核、带宽估计)
文章目录
- 一、互信息基础
- 二、延迟互信息
- 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循环设计中包含这要素,很容易识别,初始化、测试和更新操作工…...

目标检测之数据增强
一、概述 数据增强是一种通过人工或自动方式对数据进行修改或变换,以增加数据集规模和多样性的技术。在机器学习中,数据增强被广泛应用于解决数据稀缺、数据不平衡、数据噪声等问题,提高模型的泛化能力和鲁棒性。 二、为什么需要数据增强 …...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...

GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...