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 中写的是什么公式或运算符 * \ 的作用。看起来并不熟悉。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)