首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的熵和互信息

R中的熵和互信息
EN

Stack Overflow用户
提问于 2016-10-03 04:59:29
回答 1查看 1K关注 0票数 0

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

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

代码语言:javascript
复制
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),我使用了以下代码,

代码语言:javascript
复制
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

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

EN

回答 1

Stack Overflow用户

发布于 2017-08-10 16:49:54

这两种方法是不同的估计器,因此给出了不同的结果,就像下面两个随机变量和a和b的方差的估计器给出了不同的结果:

代码语言:javascript
复制
> a <- rnorm(100)
> b <- rnorm(100)
> var(a+b)-(var(a)+var(b))
[1] 0.5219229

不确定哪个估计器在您的情况下更好,但我会猜测第一个。您可以从您的模型中进行一些模拟,以获得更好的想法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39821649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档