最大信息系数(Maximal Information Coefficient, MIC)是一种用于量化两个变量之间依赖关系强度的统计量
,它能够在不同类型
的关联中(如线性、非线性、周期性等)提供一致的度量。
MIC算法是由David N. Reshef等人在2011年提出,其目的是为了克服传统相关系数(如皮尔逊相关系数)仅能描述线性关系的局限性。
MIC算法的公式
MIC的定义基于互信息(Mutual Information, MI)的概念,它试图找到一个最优的二维直方图(或称为网格),在这个网格下,两个变量之间的互信息达到最大值。
互信息度量的是两个随机变量之间的依赖程度
,当两个变量完全独立时,互信息为零;反之,当两个变量完全依赖时,互信息达到最大。
MIC的计算公式可以表示为:
其中,
和
是在将
和
分别
划分为
和
个箱的网格下,
和
的
互信息。
和
是网格在
和
是一个
预定义的阈值
,通常选择为数据点数量的根号或分数幂次,以控制网格的复杂度。是
和
MIC算法的步骤
- 初始化: 选择一个
值,通常是数据点数量
- 网格搜索: 在所有可能的
(
)网格中计算
互信息
- 计算MIC: 对于每个网格,计算
公式解释
- 互信息
描述了当
和
被划分为特定网格后,两个变量之间依赖程度的信息增益。
- 除以
这部分的作用是
标准化
,确保 MIC 的值在 [0,1] 之间。这是因为随着网格细化,互信息有可能无限增长,因此需要除以一个与网格复杂度相关的因子来进行归一化
。 - 取最大值 确保了 MIC 能够捕捉到
最能
揭示两个变量之间关联模式的网格结构。
MIC的值越接近1,表示两个变量之间的关系越强,无论这种关系是线性的、非线性的还是复杂的周期性关系。
相反,如果 MIC 接近0,则表示两个变量几乎独立。
总结
MIC算法通过最大化互信息并标准化结果,提供了一种通用的方法来评估任何类型的数据关系。
它不仅适用于连续变量,也适用于离散变量,甚至混合类型的数据。