条件互信息

Conditional Mutual information

]2正在尝试测试此包以从数据集计算条件互信息。包名称-"dit"

我的代码:

from __future__ import division
import numpy as np
import dit
from dit import Distribution as D
from dit.multivariate import coinformation as I
from dit.example_dists import Xor

d=Xor()
d.set_rv_names(['X','Y','Z'])
X=111010
Y=101101
Z=001011

a=dit.multivariate.coinformation(d,'XY','Z')
print(a)

虽然运行这个程序,我得到的结果总是“1.0”。
结果为负值或正值,如“-0.0023”或“0.120”

基本上,我想做这个 https://stats.stackexchange.com/questions/147401/estimating-mutual-information-using-r 在 Python。 提供一点帮助将不胜感激

告诉我这是否适合您:set_rv_namesd

d=Xor()

## ADD THIS LINE OF CODE BELOW
d.set_rv_names(['X', 'Y', 'Z'])

X=0.052290766
Y=0.004951425
Z=0.000246642

a=dit.multivariate.coinformation(d,'XY','Z')
print(a)