r - R中互信息的计算

标签 r entropy information-theory

我在解释熵包中的 mi.plugin() (或 mi.empirical())函数的结果时遇到问题。据我了解,MI=0 表明您正在比较的两个变量是完全独立的;随着 MI 的增加,两个变量之间的关联变得越来越非随机。

那么,为什么在 R 中运行以下代码时(使用 {entropy} 包)我得到的值为 0:

mi.plugin( rbind( c(1, 2, 3), c(1, 2, 3) ) )

当我比较两个完全相同的向量时?

我认为我的困惑是基于我的理论误解,有人可以告诉我哪里出了问题吗?

提前致谢。

最佳答案

使用 infotheo 包中的 mutinformation(x,y)

> mutinformation(c(1, 2, 3), c(1, 2, 3) ) 
[1] 1.098612

> mutinformation(seq(1:5),seq(1:5))
[1] 1.609438

标准化互信息将为 1。

关于r - R中互信息的计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790925/

相关文章:

r - “unpacking” data.frame中的因子列表

javascript - Javascript random 从哪里获取它的熵?

r - 如何在R中拟合信息(负熵)〜大小的回归?

compression - 香农熵公式。帮助我的困惑

computer-science - 熵的计算机科学定义是什么?

python - python中离散点(LDDP)的限制密度

r - 计算 R 中簇之间的总平方和

r - 加速 gganimate 渲染

r - 在 R 中返回可变或不可变变量的函数

c++ - CUDA Thrust - 计算匹配子数组