信息论领域内的计算方法仿真,Transfer Entropy,转移熵;

转移熵本质上条件互信息:

将条件互信息,运用到特定的时间序列上,计算得到的就是转移熵。

需要注意的是:虽然说转移熵,能看到因果性。但这种因果性在某种程度上具有欺骗性。因为X和Y之间可能不存在因果性,而是有一个 未观测的隐藏的变量 影响着X和Y的相互作用;

什么是互信息:

I(X;Y),Y减少了多少关于X的不确定性。

推导:

 ------------------

生成两个时间序列,计算转移熵。

代码如下;

# 计算转移熵;
# pip install pyinform
import numpy as np
from pyinform.transferentropy import *

k = 2
#生成两个序列,target是source的延迟
source = [0,1,1,1,1,0,0,0,0]
target = [0,0,1,1,1,1,0,0,0]
print("the tranfer entropy of X -> Y is {:.2f}".format(transfer_entropy(source, target, k=k)))
the tranfer entropy of X -> Y is 0.68

k = 2
#生成两个一样的序列
source = [0,0,1,1,1,1,0,0,0]
target = [0,0,1,1,1,1,0,0,0]
print("the tranfer entropy of X -> Y is {:.2f}".format(transfer_entropy(source, target, k=k)))

the tranfer entropy of X -> Y is 0.00

总结:

传递熵,能够用来刻画信息的传递;

posted @ 2022-03-20 21:34  bH1pJ  阅读(225)  评论(0编辑  收藏  举报