【问题标题】:R package "mpmi" to calculate the mutual information between two set of continuous variablesR包“mpmi”计算两组连续变量之间的互信息
【发布时间】:2016-12-08 10:14:49
【问题描述】:

我尝试使用包 mpmi 来计算两组连续变量之间的互信息。我对 GutHub 上的源代码感到困惑:https://github.com/cran/mpmi/blob/master/src/cminjk.f95

ans = ans + log(s12(i) / (s1(i) * s2(i)))

end do

ans = ans / lv + log(dble(lv))

s12 看起来像 p(x,y),s1,s2 看起来像 p(x),p(y)。 为什么不在log(s12(i) / (s1(i) * s2(i)))之前乘以p(x,y),因为计算MI的公式是p(x,y)*log(p(x,y)/(p(x)p(y)))

为什么求和后有ans = ans / lv + log(dble(lv))

【问题讨论】:

  • 我认为这些问题最好在包创建者/维护者处得到解决。
  • 我已经联系了维护人员,但还没有收到回复。

标签: r kernel-density information-theory


【解决方案1】:

见参考“基因的成对互信息的快速计算 监管网络重构"

【讨论】:

    【解决方案2】:

    注意这个参考:“基因调控网络重建的成对互信息的快速计算”

    此策略假设两个随机变量中的每一个都服从正态分布。除非您确定这两个变量都遵循正态分布,否则我建议使用没有任何分布假设的包。我推荐 R 包“minerva”。只需要指定 MIC(X,Y)$MIC。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-18
      • 1970-01-01
      • 2016-05-28
      • 2017-02-14
      • 2019-05-29
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      相关资源
      最近更新 更多