scipy.stats 连续分布的互信息

时间:2021-01-06 07:33:26

标签: python statistics entropy information-theory scipy.stats

看到 scipy.stats 中的连续分布使用 scipy.integrate.quad 计算 .entropy,它解决了一个单变量积分,下面的函数或类似的函数如何用于计算互信息使用 scipy.integrate.dblquad(双积分)的 2 个连续分布?换句话说,在一个工作示例中,它如何与 scipy.stats 中的连续分布兼容?

import numpy as np
from scipy.integrate import quad, dblquad

def mutual_information(self):
        def mi_integrand(x, y):
            return np.exp(self.logpdf_xy(x,y)) * \
                (self.logpdf_xy(x,y) - self.logpdf_x(x) - self.logpdf_y(y))
        return dblquad(
            lambda y, x: mi_integrand(x,y), self.D[0], self.D[1],
            self._lower_y, self._upper_y)

Source 的代码

不确定子函数 mi_integrand 中写的是什么公式或运算符 * \ 的作用。看起来并不熟悉。

0 个答案:

没有答案
相关问题