2. 信息论基础:熵、联合熵、条件熵、互信息的概念与计算公式,以及它们在MRM中的应用

信息论为特征筛选提供了量化“信息量”与“相关性”的数学工具。在多反应监测(MRM)特征筛选中,我们常需要判断某个特征(如母离子-子离子对)是否携带了足够的“信息”来区分不同样本组(如疾病组 vs 对照组)。本节将系统梳理熵、联合熵、条件熵与互信息四大核心概念,并展示它们在MRM特征筛选中的具体应用。

2.1 熵(Entropy)—— 不确定性的度量

熵衡量一个随机变量的不确定性。在MRM中,若某个特征在所有样本中取值完全相同(如峰面积恒定),则其熵为0,说明该特征不携带任何区分信息;反之,若特征取值随机分布,熵值较高。

计算公式(离散随机变量 X):

H(X) = - Σ p(x) · log₂ p(x)

其中 p(x) 为 X 取值为 x 的概率,对数底数通常取2,单位是比特(bit)。

场景 概率分布 熵值(bit) MRM含义
确定性事件 p=1, 其余为0 0 特征无区分度,所有样本值相同
均匀分布(2类) p=0.5, 0.5 1 特征完全随机,不确定性最大
偏斜分布 p=0.9, 0.1 ≈0.47 特征有一定偏向性,但仍存在不确定性
应用提示: 在MRM特征筛选中,可先计算每个特征的熵值,剔除熵值接近0的“无效特征”,保留熵值较高的候选特征进行后续分析。

2.2 联合熵(Joint Entropy)—— 两个变量的联合不确定性

联合熵衡量两个随机变量 X 和 Y 同时发生时的总不确定性。在MRM中,可用于评估两个特征(如两个不同的离子对)共同携带的信息量。

计算公式:

H(X, Y) = - Σ Σ p(x, y) · log₂ p(x, y)

其中 p(x, y) 为 X 和 Y 的联合概率分布。

关键性质:

  • H(X, Y) ≥ max(H(X), H(Y)) —— 联合不确定性不小于单个变量的不确定性
  • H(X, Y) ≤ H(X) + H(Y) —— 当 X 与 Y 独立时取等号

2.3 条件熵(Conditional Entropy)—— 已知一个变量后剩余的不确定性

条件熵 H(Y|X) 表示在已知 X 的条件下,Y 仍然存在的不确定性。在MRM特征筛选中,若已知样本分组标签(如疾病/健康),条件熵可衡量特征在该分组下剩余的“噪声”程度。

计算公式:

H(Y|X) = - Σ Σ p(x, y) · log₂ p(y|x)

与联合熵的关系:

H(X, Y) = H(X) + H(Y|X) = H(Y) + H(X|Y)

这一链式法则表明:联合不确定性 = 已知一个变量的不确定性 + 另一个变量在已知条件下的剩余不确定性。

2.4 互信息(Mutual Information, MI)—— 变量间的共享信息

互信息衡量两个变量之间共享的信息量,即知道一个变量能减少另一个变量的不确定性程度。这是MRM特征筛选中最核心的指标之一,用于评估特征与分类标签之间的相关性。

计算公式:

I(X; Y) = Σ Σ p(x, y) · log₂ [ p(x, y) / (p(x) · p(y)) ]

等价形式:

I(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = H(X) + H(Y) - H(X, Y)
关系 互信息值 MRM解释
X 与 Y 独立 0 特征与标签无关,应剔除
X 完全决定 Y H(Y) 特征完美区分样本组,理想特征
X 部分预测 Y 0 < I < H(Y) 特征有一定区分能力,需结合其他特征
核心优势: 互信息可以捕捉非线性关系,而皮尔逊相关系数只能衡量线性关系。在MRM数据中,特征与分组标签之间往往存在复杂的非线性关联,互信息比相关系数更适用。

2.5 四种信息度量之间的关系

下图直观展示了熵、联合熵、条件熵与互信息之间的逻辑关系:

信息度量关系维恩图 H(X) H(Y) I(X;Y) H(X|Y) H(Y|X) 联合熵 H(X,Y) = H(X) + H(Y|X) I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = H(X) + H(Y) - H(X,Y)

2.6 在MRM特征筛选中的具体应用

在MRM特征筛选流程中,信息论指标主要用于以下三个关键环节:

  1. 特征初筛(基于熵): 计算每个MRM特征(如峰面积、保留时间)的熵值,剔除熵值低于阈值(如0.1 bit)的特征,这些特征在不同样本间几乎无变化。
  2. 特征-标签相关性评估(基于互信息): 计算每个特征与样本分组标签之间的互信息,按MI值从高到低排序,保留MI值较高的特征。
  3. 特征冗余分析(基于条件互信息): 在已选特征条件下,计算候选特征与标签的条件互信息,剔除冗余特征,避免特征之间的信息重复。
应用环节 使用的指标 筛选规则 MRM示例
无效特征剔除 熵 H(X) H(X) < 0.1 → 剔除 某离子对在所有样本中峰面积几乎恒定
相关特征选择 互信息 I(X;Y) I(X;Y) 排名前K → 保留 某离子对在疾病组与健康组间差异显著
冗余特征去除 条件互信息 I(X;Y|Z) I(X;Y|Z) ≈ 0 → 剔除X 两个离子对携带相似的生物学信息
注意事项: 互信息对离散化方式敏感。MRM数据通常是连续值,需先进行离散化(如等频分箱、等宽分箱或基于熵的自适应分箱)。分箱数过少会丢失信息,分箱数过多会导致稀疏估计。建议使用5~10个分箱,或采用核密度估计的连续互信息计算方法。

2.7 信息论指标的计算示例(Python伪代码)

import numpy as np
from collections import Counter

def entropy(x, base=2):
    """计算离散变量的熵"""
    counts = Counter(x)
    probs = [c / len(x) for c in counts.values()]
    return -sum(p * np.log(p) / np.log(base) for p in probs)

def mutual_information(x, y, base=2):
    """计算两个离散变量之间的互信息"""
    # 联合概率
    joint = Counter(zip(x, y))
    n = len(x)
    # 边缘概率
    px = Counter(x)
    py = Counter(y)
    mi = 0.0
    for (xi, yi), count in joint.items():
        pxy = count / n
        px_val = px[xi] / n
        py_val = py[yi] / n
        mi += pxy * np.log(pxy / (px_val * py_val)) / np.log(base)
    return mi

# 示例:MRM特征与标签
feature = [12.3, 45.6, 12.1, 44.9, 13.0, 46.2]  # 峰面积
label   = [0, 1, 0, 1, 0, 1]  # 0=健康, 1=疾病

# 离散化(等频分箱为3箱)
bins = np.percentile(feature, [33.3, 66.6])
feature_disc = np.digitize(feature, bins)

print("特征熵:", entropy(feature_disc))
print("互信息:", mutual_information(feature_disc, label))
实战建议: 在实际MRM项目中,建议使用成熟的库(如 scikit-learn 的 mutual_info_classif)计算互信息,该函数内置了连续变量的k近邻估计方法,无需手动离散化,且能处理高维特征。

2.8 信息论在MRM特征筛选中的优势与局限

维度 优势 局限
关系类型 可捕捉非线性、非单调关系 无法区分正相关与负相关
数据要求 对数据分布无假设,适用性强 连续值需离散化或使用估计方法
计算效率 低维时计算快速 高维时联合概率估计稀疏,需大量样本
可解释性 信息量有明确物理意义(比特) 无法直接给出特征对分类的贡献方向

信息论指标为MRM特征筛选提供了坚实的理论基础,尤其适合处理质谱数据中常见的非线性关系和复杂交互效应。在实际应用中,通常将互信息与统计检验(如t检验、ANOVA)结合使用,形成互补的特征筛选策略。