繁体   English   中英

R中的熵和互信息

[英]Entropy and Mutual Information in R

我想在R中计算条件互信息,我使用了名为infotheo的程序包。

我使用两种方法来计算I(X; Y1,Y2 | Z)。 首先是使用以下代码,

condinformation(X$industry,cbind(X$ethnicity,X$education),S=X$gender, method="emp")
[1] -1.523344

而且由于我认为互信息可以分解为两个熵:I(X; Y1,Y2 | Z)= H(X | Z)-H(X | Z,Y1,Y2),我使用以下代码,

hhh<-condentropy(X$industry, Y=X$gender, method="emp")
hhh1<-condentropy(X$industry,Y=cbind(X$gender,X$ethnicity,X$education))
hhh-hhh1
[1] 0.1483363

我想知道为什么这两个给我不同的结果?

两种方法是不同的估计量,因此得出不同的结果,就像以下针对随机变量a和b之和的方差的以下两个估计量得出不同的结果一样:

> a <- rnorm(100)
> b <- rnorm(100)
> var(a+b)-(var(a)+var(b))
[1] 0.5219229

不知道哪种估计器对您而言更好,但是我猜第一个。 您可以对模型进行一些模拟以获得更好的主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM