信息论估计工具jidt基本使用
JIDT基本介绍
- JIDT是 Java Information Dynamics Toolkit的简称,用于研究复杂系统中信息论相关度量的计算,它是一个基于java的开源工具库,也可以在Matlab、Octave、Python、R、Julia和Clojure中使用;
- JIDT提供了如下计算工具:
- 信息熵、互信息、转移熵
- 条件互信息、条件转移熵
- 多变量互信息和多变量转移熵
- 信息存储
- JIDT同时支持离散型数据和连续型数据
- JIDT提供多种估计算子
主页:https://github.com/jlizier/jidt
安装

-
第一步:下载编译好的版本,图中的
v1.5 full distribution,然后解压放到合适的目录,如~/software/infodynamics,我们只需要里面的infodynamics.jar文件。 -
第二步:熟悉Java的同学应该知道这个jar文件是个什么东东,这就是所有信息论度量计算所需要的函数哈,所以现在需要安装配置Java环境,这里不再赘述。
-
第三步:由于需要在python环境中使用java计算,所以需要安装
jpype,安装命令:pip install jpype1
配置好环境之后,在使用jidt之前加入如下一段代码:
import jpype
from jpype import *
try:
jarLocation = "~/software/infodynamics/infodynamics.jar"
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=" + jarLocation)
except:
print("JVM has already started !")
注: 需要把jarLocation换成自己的路径!
接下来就能够调用jidt中各种封装好的信息论估计算子了:

转移熵估计
转移熵估计作者提供了多种估计方法:
- TransferEntropyCalculator
- TransferEntropyCalculatorDiscrete
- TransferEntropyCalculatorGaussian
- TransferEntropyCalculatorKernel
- TransferEntropyCalculatorKernelPlain
- TransferEntropyCalculatorKernelPlainIterators
- TransferEntropyCalculatorKernelSeparate
- TransferEntropyCalculatorKraskov
- TransferEntropyCalculatorMultiVariate
- TransferEntropyCalculatorMultiVariateGaussian
- TransferEntropyCalculatorMultiVariateKernel
- TransferEntropyCalculatorMultiVariateKraskov
- TransferEntropyCalculatorMultiVariateSingleObservationsKernel
- TransferEntropyCalculatorMultiVariateViaCondMutualInfo
- TransferEntropyCalculatorSymbolic
- TransferEntropyCalculatorViaCondMutualInfo
- TransferEntropyCommon
- TransferEntropyKernelCounts
例:TransferEntropyCalculatorMultiVariateKraskov
我们以这个多变量转移熵的ksg估计算子为例来介绍如何使用jidt估计转移熵,首先使用如下代码打开JVM:
import jpype
from jpype import *
try:
jarLocation = "~/software/infodynamics/infodynamics.jar"
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea",
JIDT信息论计算

介绍JIDT工具库的基本使用方法,包括安装配置、转移熵估计等信息论度量计算示例。
最低0.47元/天 解锁文章
8万+

被折叠的 条评论
为什么被折叠?



