更改

添加266字节 、 2026年7月2日 (星期四)
第958行: 第958行:  
当涉及到信息理论概念时,dit<ref name="James_dit">{{cite journal|author1=James R. G.|author2=Emenheiser J.|author3=Crutchfield J. P.|title=dit: a Python package for discrete information theory|journal=Journal of Open Source Software|year=2018|volume=3|issue=25|page=738|url=https://doi.org/10.21105/joss.00738}}</ref>
 
当涉及到信息理论概念时,dit<ref name="James_dit">{{cite journal|author1=James R. G.|author2=Emenheiser J.|author3=Crutchfield J. P.|title=dit: a Python package for discrete information theory|journal=Journal of Open Source Software|year=2018|volume=3|issue=25|page=738|url=https://doi.org/10.21105/joss.00738}}</ref>
 
是这些实验的绝佳工具。这是一个在你创建的自定义概率分布上进行测量的库(Https://Github.com/Dit/Dit)。
 
是这些实验的绝佳工具。这是一个在你创建的自定义概率分布上进行测量的库(Https://Github.com/Dit/Dit)。
−
首先我们有两个源变量<math>X_1</math>和<math>X_2</math>(它们都是二进制的)和一个目标变量Y,Y是关于这些源变量的布尔运算。所有测量部分信息的形式都将由Williams和Beer提供,但其他作者提出的其他形式也可以在dit中进行。
+
首先我们有两个源变量<math>X_1</math>和<math>X_2</math>(它们都是二进制的)和一个目标变量<math>Y</math>,<math>Y</math>是关于这些源变量的布尔运算。所有测量部分信息的形式都将由Williams和Beer(2010)<ref name="Paul" />提供,但其他作者提出的其他形式也可以在dit中进行。
    
1.特有信息
 
1.特有信息
   −
在这个例子中,假设目标变量Y由下表给出。请注意,输出总是等于<math>X_1</math>,因此<math>X_2</math>完全无关紧要。
+
在这个例子中,假设目标变量<math>Y</math>由下表给出。请注意,输出总是等于<math>X_1</math>,因此<math>X_2</math>完全无关紧要。
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
第975行: 第975行:  
|1||1||1
 
|1||1||1
 
|}
 
|}
−
因此,<math>X_1</math>和<math>X_2</math>提供的关于Y的信息完全集中在<math>X_1</math>中,我们可以说关于Y的信息是X_1独有的。
+
因此,<math>X_1</math>和<math>X_2</math>提供的关于<math>Y</math>的信息完全集中在<math>X_1</math>中,我们可以说关于<math>Y</math>的信息是<math>X_1</math>独有的。
    
在dit库中,我们可以创建这个:
 
在dit库中,我们可以创建这个:
第1,023行: 第1,023行:  
{0}{1}:<math>X_1</math>和<math>X_2</math>提供的冗余信息
 
{0}{1}:<math>X_1</math>和<math>X_2</math>提供的冗余信息
   −
我们可以通过输出看到,提供的唯一部分信息(“pi”列)来自X_1。
+
我们可以通过输出看到,提供的唯一部分信息(“pi”列)来自<math>X_1</math>。
    
2.冗余信息
 
2.冗余信息
   −
下一个示例用于显示冗余信息。在这里,<math>X_1</math>、<math>X_2</math>和Y都相等,如下表所示,因此<math>X_1</math>和<math>X_2</math>提供的关于Y的冗余信息是最大的。
+
下一个示例用于显示冗余信息。在这里,<math>X_1</math>、<math>X_2</math>和<math>Y</math>都相等,如下表所示,因此<math>X_1</math>和<math>X_2</math>提供的关于<math>Y</math>的冗余信息是最大的。
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
第1,073行: 第1,073行:  
"""
 
"""
   −
正如我们所看到的,X_1和X_2提供的关于Y的信息是冗余的,换句话说,两者都提供。
+
正如我们所看到的,<math>X_1</math>和<math>X_2</math>提供的关于<math>Y</math>的信息是冗余的,换句话说,两者都提供。
    
3.协同信息
 
3.协同信息
第1,090行: 第1,090行:  
|1||1||0
 
|1||1||0
 
|}
 
|}
−
通过这个分布注意到,只有当我们同时知道<math>X_1</math>和<math>X_2</math>时,我们才能知道目标变量Y。没有<math>X_1</math>和<math>X_2</math>,就不可能知道Y。因为对于<math>X_1</math>的每个值,我们都有Y的两个值;<math>X_2</math>也是如此。
+
通过这个分布注意到,只有当我们同时知道<math>X_1</math>和<math>X_2</math>时,我们才能知道目标变量<math>Y</math>。没有<math>X_1</math>和<math>X_2</math>,就不可能知道<math>Y</math>。因为对于<math>X_1</math>的每个值,我们都有<math>Y</math>的两个值;<math>X_2</math>也是如此。
    
代码是:
 
代码是:
第1,128行: 第1,128行:  
"""
 
"""
   −
<math>X_1</math>和<math>X_2</math>传达的关于Y的唯一信息是{0:1},这是协同信息。
+
<math>X_1</math>和<math>X_2</math>传达的关于<math>Y</math>的唯一信息是{0:1},这是协同信息。
   −
下面介绍如何用dit库进行一次完整的部分信息分解实验:(以Williams & Beer为例,只需要更改调用的函数名称即可使用其他PID分解方法,详见https://dit.readthedocs.io/en/latest/measures/pid.html)
+
下面介绍如何用dit库进行一次完整的部分信息分解实验:(以Williams和Beer(2010)<ref name="Paul" />为例,只需要更改调用的函数名称即可使用其他PID分解方法,详见https://dit.readthedocs.io/en/latest/measures/pid.html)
    
首先在python里导入dit.pit:In [1]: from dit.pid import *
 
首先在python里导入dit.pit:In [1]: from dit.pid import *
175

个编辑