对最大互信息系数的一些思考
最大互信息系数(MIC)
MIC(Maximal Information Coefficient)最大互信息系数。用来衡量两个特征变量之间的关联程度(线性或非线性关系),相较于Mutual Information(MI)互信息而言有更高的准确度。其主要思想是:如果两个变量之间存在一定的相关性,那么在这两个变量的散点图上进行某种网格划分之后,根据这两个变量在网格中的近似概率密度分布,可计算这两个变量的互信息,正则化后,该值可用于衡量这两个变量之间的相关性
MIC 基本原理会利用到互信息概念,互信息的概念使用以下方程来说明:
MIC的想法是针对两个变量之间的关系离散在二维空间中,并且使用散点图来表示,将当前二维空间在 x,y 方向分别划分为一定的区间数,然后查看当前的散点在各个方格中落入的情况,这就是联合概率的计算,这样就解决了在互信息中的联合概率难求的问题。下面是MIC的计算公式:
上式中 a,b 是在 x,y 方向上的划分格子的个数,本质上就是网格分布,B 是变量,在原作者的论文中提到 B 的大小设置是数据量的 0.6 次方左右。
算法的通俗理解:
MIC计算分为三个步骤:
- 给定i、j,对X、Y构成的散点图进行i列j行网格化,并求出最大的互信息值
- 对最大的互信息值进行归一化
- 选择不同尺度下互信息的最大值作为MIC值
最大互信息的求取与数据自身的分布有关系?
在对变量之间的非线性相关性进行分析时,发现有的变量其自身的最大互信息系数都不为1。因此,画出这几个变量与其他几个互信息系数为1的变量进行比较。
求最大的互信息系数时,首先需要对给定的X、Y的散点图进行网格化,再求不同网格化方案下的互信息值,找到最大互信息值。这样,由于碳目标值分布具有离散性,而网格化的过程又具有随机性,从而导致最大互信息不为1。
人造了2000个数据点,分布如下图,其分布如下,可看出这些数据点虽然离散但是分布较为均匀,计算得到的最大信息系数为1。