信息论领域内的计算方法仿真,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
总结:
传递熵,能够用来刻画信息的传递;