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为外部引用,错误,错误,错误,下面官网给出的解决方式: 

MIC(最大信息系数)相关推荐

  1. 特征筛选10——MIC最大信息系数(有监督筛选)

    理论部分可以参考:https://blog.csdn.net/qq_27586341/article/details/90603140 互信息也是通过衡量x与y的线性关系,来判断特征的重要性,整个算法 ...

  2. python多进程运行MIC(最大信息系数)

    MIC是最大信息系数,可以参考: 特征筛选10--MIC最大信息系数(有监督筛选):https://blog.csdn.net/weixin_35757704/article/details/1219 ...

  3. ML之MIC:利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现

    ML之MIC:利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现 目录 利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现 实现结果 实现代码 利用某数据集计算 ...

  4. ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数、最大信息系数MIC)

    ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数.最大信息系数MIC) 目录 利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数.最大信息系 ...

  5. 最大信息系数(MIC)——大数据时代的相关性分析

    在信息爆炸的当今社会,单靠人力已经不能在无穷无尽的数据中有效的捕获信息.数据挖掘这一学科的兴起也预示着在各行业即将展开一场数据革命.在大数据集中识别两个变量的相关关系越来越重要.数据的相关性又分为线性 ...

  6. MIC:最大信息系数

    目录 1. 概念 1.1 MIC 1.2 互信息 2. MIC的优点 3. 算法原理 3.1  MIC公式原理 3.2 MIC计算步骤 (1)计算最大互信息值 (2)对最大的互信息值进行归一化 (3) ...

  7. 机器学习 特征选择篇——python实现MIC(最大信息系数)计算

    机器学习 特征选择篇--python实现MIC(最大信息系数)计算 摘要 python实现代码 计算实例 摘要 MIC(最大信息系数) 可以检测变量之间的非线性相关性,常用于特征工程中的特征选择,即通 ...

  8. matlab mic系数_科学网—最大信息系数 (Maximal Information Coefficient, MIC)详解(1) - 彭勇的博文...

    最大信息系数 (Maximal Information Coefficient, MIC)详解(1) 四年前看过的一篇论文,当时还在组会上报告过,很确信当时把它弄懂了,由于当时是用机器学习的方法来做预 ...

  9. 最大信息系数MIC的python代码

    完整代码 import numpy as np import logging import sys import pandas as pdclass CyrusMIC(object):logger = ...

  10. 最大信息系数——检测变量之间非线性相关性

    https://blog.csdn.net/qtlyx/article/details/50780400 最后的效果就是这样的.很明显可以看到,左下角那个有点像三角函数的关系,Pearson系数(就是 ...

最新文章

  1. html5游戏 虚拟主机,基于HTML5的云虚拟主机配置界面
  2. 纯php实现定时器任务,純PHP實現定時器任務(Timer)
  3. 反式自动微分autodiff是什么?反向传播(Back Propagation)是什么?它是如何工作的?反向传播与反式自动微分autodiff有什么区别?
  4. ulipad 编辑器下载
  5. [LGP4859,...] 一类奇怪的容斥套DP
  6. java日期的运用(DateUtils工具类)
  7. c语言中建一个文件的语法,C语言语法介绍_文件.ppt
  8. HDOJ1102 Constructing Roads【最小生成树】-----武科大ACM暑期集训队选拔赛1题
  9. js日期操作,某天的N天后,一个月后的日期
  10. 【三月专题】Dp专练
  11. Linux下硬盘分区的最佳方案
  12. Sharepoint Portal Server 2005?
  13. 康佳电视系统升级服务器地址,【当贝市场】康佳智能电视本地升级教程
  14. 不同网段共享文件服务器,不同局域网如何共享文件
  15. 怎样查找MP3音乐链接地址 用于QQ空间背景
  16. Python 淘宝系列(三): 模拟登陆成功后获取购物车信息
  17. 苹果电脑怎么安装office办公
  18. 两宋词人Top10排排座
  19. 使用ffmpeg进行简单的视频编辑
  20. UDS诊断系列介绍05-27服务

热门文章

  1. 2022年中国数字藏品行业研究报告 附下载
  2. 《HTTP》hfs快速搭建HTTP文件服务器
  3. 基于激光诱导石墨烯的柔性传感器最新研究进展[转]
  4. css:overflow-x: overlay火狐浏览器不生效没有滚动条出现
  5. HDU 威威猫系列故事——篮球梦
  6. win10计算机右键属性打不开,Win10鼠标右键我的电脑打不开属性的解决方法教程[多图]...
  7. Ruby on Rails 新版本
  8. 2t3ik与ddgs挖矿病毒处理
  9. abaqus6.13+vs2012+ivf2013用户子程序关联步骤
  10. 海天蚝油《挑战不可能》7岁孩子盲棋PK,目标直指冠军王天一