Maximal Information Coefficient (MIC)最大互信息系数

article/2025/9/29 17:14:06

MIC

我在论文使用MIC来衡量两个基因之间的关联程度,线性或非线性关系,相较于Mutual Information(MI)互信息而言有更高的准确度巴拉巴拉的,按作者的话说总之比其他的方式好。

原文参照:
Detecting Novel Associations in Large Data Sets

相关东西自己看看人家原文,一直觉得人家歪果仁写东西很认真,基础提到,实验充足…英文可以的话,尽量多读读歪果仁写的东西,提升很大…

直接进入主题


MIC概念解释

在了解MIC概念之前,你需要知道MI的概念、如何计算,一句话概括:衡量两信息的相似程度,相似程度越高,值越大;反之亦然!至于MI的计算,网上一搜一大堆,自己研究去吧…

先来看看MIC的定义:
这里写图片描述
一大串公式代表什么意思?有一篇文章介绍这个,忘了出处了!这里借用一下
MIC计算分为三个步骤:

  1. 给定i、j,对XY构成的散点图进行i列j行网格化,并求出最大的互信息值
  2. 对最大的互信息值进行归一化
  3. 选择不同尺度下互信息的最大值作为MIC值

(1) 给定i、j,对XY构成的散点图进行i列j行网格化,并求出最大的互信息值
值得注意的是,给定i和j后,可以得出多种不同的网格化方案。我们需要从这些不同的网格化方案中找到使互信息最大的网格化方案。举个例子,假设i=2,j=2。则可能有以下红、黄、绿三种网格化方案(其实更多,这里只是随便挑三种方案作说明),分别计算每个网格化方案对应的互信息值,找出使互信息值最大的网格化方案。
这里写图片描述
那么,给定了某个网格化方案后,如何计算其对应的互信息值呢?这里以上图中红色的网格化方案为例进行说明。红色网格化方案将所有数据点分为四个区域:左上,右上,左下,右下。每个区域对应的数据点数量为1,4,4,1。将数据点数归一化得到四个区域的数据点频率,分别为0.1,0.4,0.4,0.1。也就是说,此时,X有两种取值:左和右,Y有两种取值:上和下。P(X=左,Y=上)=0.1,P(X=右,Y=上)=0.4,P(X=左,Y=下)=0.4,P(X=右,Y=下)=0.1。并且,P(X=左)=0.5,P(X=右)=0.5,P(Y=上)=0.5,P(Y=下)=0.5。根据前面介绍的互信息计算公式,得到X和Y在这种分区下的互信息为:
这里写图片描述

以此类推,算出哪种方案得到的互信息值最大,最大的互信息值是多少。为了方便讨论,这里得到最大互信息值表示为,D表示数据点集。
###(2)对最大的互信息值进行归一化
将得到的最大互信息除以log(min(X,Y)),即为归一化!概念我也不是很理解,有理解的同学可以交流一下呗…
###(3)选择不同尺度下互信息的最大值作为MIC值
上面讲述了给定i和j的情况下M(X,Y,D,i,j)的计算方法。这一步就是给定很多(i,j)值,计算每一种情况下M(X,Y,D,i,j)的值,将所有M(X,Y,D,i,j)中的最大那个值作为MIC值。注意的是,这里的(i,j)是有条件的,要满足,n表示数据集D的数据量。当然,B(n)这个值可以自己定,这里是别人做实验认为效果最好的值。

##MIC计算
MIC的计算使用的是Minepy-master,搜这些东西嘛,度娘就不要用了,Google还是棒棒的,有同学肯定说我不会翻墙,这里推荐大家搜一下Latern,翻墙利器,其他你懂得…

使用Minepy的MATLAB代码实现时,mine_mex使用c来实现的,MATLAB需要配置mex环境,这个还是你来做,编译C时需要在后面加上lib,不然会提示mine_mic为外部引用,错误,错误,错误,下面官网给出的解决方式:
这里写图片描述

有什么不对的地方,欢迎指正!


http://chatgpt.dhexx.cn/article/70tPQIms.shtml

相关文章

R+树

考虑R树的性能,其中覆盖(coverage)和重叠(overlap)两个概念很重要,因为R树查询是根据给定区域与当前MBR是否有交叉来判断, 因此覆盖和重叠都应当尽量小 覆盖小即MBR要小,最好刚好包围其中的数据点 (对于叶节点)或子MBR (对于非叶节点) 重叠…

R树及其应用场景

地理围栏(Geo-fencing)是LBS的一种应用,就是用一个虚拟的栅栏围出一个虚拟地理边界,当手机进入、离开某个特定地理区域,或在该区域内活动时,手机可以接收自动通知和警告。如下图所示,假设地图上…

R树与空间索引

B树或者B树可以非常好的处理一维空间存储的问题。B树是一棵平衡树,它是把一维直线分为若干段线段,当我们查找满足某个要求的点的时候,只要去查找它所属的线段即可。依我看来,这种思想其实就是先找一个大的空间,再逐步缩…

R语言学习(三)——决策树分类

分类 分类(Classification)任务就是通过学习获得一个目标函数(Target Function)f, 将每个属性集x映射到一个预先定义好的类标号y。 分类任务的输入数据是记录的集合,每条记录也称为实例或者样例。用元组(X,y)表示&am…

空间数据索引RTree(R树)完全解析及Java实现

本文是在https://www.cnblogs.com/cmi-sh-love/p/kong-jian-shud-ju-suo-yinRTree-wan-quan-jie-xi-jiJa.html?share_tokene5b096d7-6dbf-4839-9992-b29913335ba9基础上进行修改和补充的。 第一部分 空间数据的背景介绍 空间数据的建模 基于实体的模型(基于对象…

最小生成树:kruskal算法的R语言实现

以如下图为例 library(hash)#需要用到hash包 Nodes<-c("A","B","C","D","E","F","G") #创建存放顶点的向量 edges<- data.frame(startcharacter(),endcharacter(),lengthnumeric(),stringsAsFa…

【转】R树

R树在数据库等领域做出的功绩是非常显著的。它很好的解决了在高维空间搜索等问题。举个R树在现实领域中能够解决的例子吧&#xff1a;查找20英里以内所有的餐厅。如果没有R树你会怎么解决&#xff1f;一般情况下我们会把餐厅的坐标(x,y)分为两个字段存放在数据库中&#xff0c;…

R语言实现决策树

R语言实现决策树 提示&#xff1a;本文使用R语言实现决策树&#xff0c;并对决策树结构图进行美化 文章目录 R语言实现决策树数据介绍一、相关R包的下载二、实现过程1.数据读取2.训练集与验证集划分3.构建决策树并绘制图形4.测试模型 总结 数据介绍 group就是分类结果&#x…

决策树与R语言(RPART)

关于决策树理论方面的介绍&#xff0c;李航的《统计机器学习》第五章有很好的讲解。 传统的ID3和C4.5一般用于分类问题&#xff0c;其中ID3使用信息增益进行特征选择&#xff0c;即递归的选择分类能力最强的特征对数据进行分割&#xff0c;C4.5唯一不同的是使用信息增益比进行…

经典查找算法 --- R树

R树&#xff1a;处理空间存储问题 -->是引用别人的文章 相信经过上面第一节的介绍&#xff0c;你已经对B树或者B树有所了解。这种树可以非常好的处理一维空间存储的问题。B树是一棵平衡树&#xff0c;它是把一维直线分为若干段线段&#xff0c;当我们查找满足某个要求的点的…

R语言︱决策树族——随机森林算法

每每以为攀得众山小&#xff0c;可、每每又切实来到起点&#xff0c;大牛们&#xff0c;缓缓脚步来俺笔记葩分享一下吧&#xff0c;please~ ——————————————————————————— 笔者寄语&#xff1a;有一篇《有监督学习选择深度学习还是随机森林或支持向…

R语言:画树图

原始数据长这样&#xff1a; “iyear”表示年份&#xff1b;“nkill”表示死亡人数&#xff1b;“region”表示地区&#xff1b;“总计”表示某年份死亡总人数&#xff1b;nkii里的缺失数据自动按“0”运算。 数据存储在名为“ljs”的csv格式里。 应提前下载好treemap包&#…

图解R树的内部结构及操作

本文是在https://blog.csdn.net/baimafujinji/article/details/89810217基础上增加了自己的理解和解释形成的。 R树的基本情况 R树&#xff08;R-tree&#xff09;是一种将&#xff22;树&#xff08;B树和B树统称B树&#xff09;扩展到多维情况下得到的数据结构&#xff0c;…

R树

先搞明白R树搜索、插入、删除过程。 R树是平衡树&#xff0c;可以理解为B树在N维空间上的扩展。 R树一定要满足一下要求&#xff1a; 1&#xff0e;根节点若非叶子节点&#xff0c;则至少有两个子节点&#xff1b; 2&#xff0e;每个非根叶节点和非叶节点包含的实体个数均介…

R tree

R树在数据库等领域做出的功绩是非常显著的。它很好的解决了在高维空间搜索等问题。举个R树在现实领域中能够解决的例子吧&#xff1a;查找20英里以内所有的餐厅。如果没有R树你会怎么解决&#xff1f;一般情况下我们会把餐厅的坐标(x,y)分为两个字段存放在数据库中&#xff0c;…

R树空间索引

R树在数据库等领域做出的功绩是非常显著的。它很好的解决了在高维空间搜索等问题。举个R树在现实领域中能够解决的例子吧&#xff1a;查找20英里以内所有的餐厅。如果没有R树你会怎么解决&#xff1f;一般情况下我们会把餐厅的坐标(x,y)分为两个字段存放在数据库中&#xff0c;…

搜索树之R树

产生背景 地理空间数据涉及各种海量且复杂的数据&#xff0c;找到合适的索引对空间数据的处理至关重要。 传统的B树索引针对字符、数字等一维属性数据的主关键字而设计&#xff0c;不适用于具有多维性的地理空间数据。 在GIS和CAD系统对空间索引需求的推动下&#xff0c;为满足…

R-Tree

R-Tree ​ R-Tree是一颗用来存储高维数据的平衡树&#xff0c;它把B树的思想扩展到了多维空间&#xff0c;采用了B树分割空间思想&#xff0c;并在添加、删除操作时采用合并、分解节点的方法&#xff0c;保证树的平衡性。 数据结构 ​ 每个R树的叶子节点包含了多个指向不同数…

R-tree总结

R-tree R-tree是用来做空间数据存储的树状数据结构。R-tree是B-tree向多维空间发展的另一种形式&#xff0c;并且R树也是平衡树。 R树的核心思想是聚合距离相近的节点并在树结构的上一层将其表示为这些节点的最小外接矩形&#xff0c;这个最小外接矩形就成为上一层的一个节点…

从B树、B+树、B*树谈到R 树

从B 树、B 树、B* 树谈到R 树 作者&#xff1a;July、weedge、Frankie。编程艺术室出品。 说明&#xff1a;本文从B树开始谈起&#xff0c;然后论述B树、B*树&#xff0c;最后谈到R 树。其中B树、B树及B*树部分由weedge完成&#xff0c;R 树部分由Frankie完成&#xff0c;全文…