相互信息和智方关系

时间:2012-12-09 17:13:10

标签: feature-selection chi-squared

我使用以下代码计算情感分析中特征选择的互信息和卡方值。

MI = (N11/N)*math.log((N*N11)/((N11+N10)*(N11+N01)),2) + (N01/N)*math.log((N*N01)/((N01+N00)*(N11+N01)),2) + (N10/N)*math.log((N*N10)/((N10+N11)*(N00+N10)),2) + (N00/N)*math.log((N*N00)/((N10+N00)*(N01+N00)),2)

其中N11,N01,N10和N00是我数据集中两个要素的观测频率。

注意:我正在尝试计算两个要素之间的互信息和Chi Squared值,而不是特定要素和类之间的互信息。我这样做,所以我会知道这两个功能是否有任何相关性。

我用过的Chi Squared公式是:

E00 = N*((N00+N10)/N)*((N00+N01)/N)
E01 = N*((N01+N11)/N)*((N01+N00)/N)
E10 = N*((N10+N11)/N)*((N10+N00)/N)
E11 = N*((N11+N10)/N)*((N11+N01)/N)

chi = ((N11-E11)**2)/E11 + ((N00-E00)**2)/E00 + ((N01-E01)**2)/E01 + ((N10-E10)**2)/E10  

E00,E01,E10,E11是预期频率。

根据相互信息的定义,低值应该意味着一个特征不能给我关于另一个特征的信息,并且通过Chi Square的定义,Chi Square的低值意味着这两个特征必须是独立的。 / p>

但是对于某两个特征,我的相互信息得分为0.00416,而Chi Square值为4373.9。这对我来说没有意义,因为相互信息得分表明特征没有密切相关,但是卡方值似乎足够高,表明它们也不是独立的。我想我的解释出错了

我观察到的频率值

N00 = 312412
N01 = 276116
N10 = 51120
N11 = 68846

3 个答案:

答案 0 :(得分:2)

在与样本量相关的通常条件下,MI和Pearson的大样本统计量是直接成比例的。这是众所周知的。这里给出了证据。

Morris,A.C。(2002)“序列识别性能的信息理论测量”。 可以从这个页面下载。

https://sites.google.com/site/andrewcameronmorris/Home/publications

因此,除非你的计算有误,否则如果一个是高/低,另一个必须是高/低。

答案 1 :(得分:2)

卡方独立性检验正在检查原始计数,而相互信息得分仅检查边际和联合概率分布。因此,卡方也考虑了样本量。

如果x和y之间的依赖关系非常微妙,那么知道一个人在预测另一个方面就不会有太大的帮助。但是,随着数据集的大小增加,我们可以越来越相信某些关系存在。

答案 2 :(得分:0)

您可以尝试https://github.com/ranmoshe/Inference-它使用卡方来计算MI和p值统计信息。

它还知道计算每个要素的自由度,包括考虑条件组(其中要素的自由度在不同值之间可能不同)