本篇文章给大家谈谈互信息法求延迟,以及互信息法求延迟时间代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
简单介绍
互信息是信息论里一种有用的 信息度量 ,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。简单说,就是两个事件集合之间的相关性。
比如,在图像处理中,常常需要比较两幅图像的相似度,互信息就是其中一种较为常用的方法,其核心思想就是熵。
熵
在互信息中有用到熵的概念,这里我们再简单介绍一下熵。
熵最初是热力学中表征物质状态的参量。其物理意义就是体系的混乱程度。任何一种能量在空间中分布的越均匀,熵越大。当完全均匀分布时,这个系统的熵就达到了最大值,也就是说此时的系统越混乱。
对于事件来说,当所有状态概率相等的时候熵最大,这个时候系统对取什么态没有偏向性,所以混乱度最大。
在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。(这里指的是信息量)
信息熵
在我们处理信息的过程中,我们知道的事件确定性越大,所获取到的信息就会越少。比如,我们知道某件事情一定会发生,那么我们就不会接收到其它信息了。
所以我们获取信息内容的度量,是依赖于概率分布 P(x) ,因此我们要找到的信息量公式 h(x) 是需要随着概率单调递减的函数。所以这里我们选择了
那么对于同一个事件,如果有多种可能,比如下图这样:
那么就可以用来描述信息熵了
上面所提到的底数都没有设置,可以为 2 e 10 ,只是表征一个度量,并没有固定死要求。
互信息的计算公式在信息熵层面可以理解为:
其中的 H(A,B)为联合熵。
相对熵
相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布P Q ,我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。下面是维基百科对相对熵的描述
In the context of machine learning, DKL(P‖Q) is often called the information gain achieved if P is used instead of Q.
n为事件的所有可能性。 KL值越小,表示q分布和p分布越接近。
对上式进行变形:
交叉熵:交叉熵实际上是更广泛的相对熵的特殊形式
互信息
互信息实际上是更广泛的相对熵的特殊形式,如果(x,y)~ p(x,y) , X ,Y 之间的互信息 I(X;Y) 定义为:
使用概率的加和规则和乘积规则,我们看到互信息和条件熵之间的关系为
平均互信息
平均互信息表征了两个集合之间的关联程度。具有以下物理含义:
平均互信息 = 先验的平均不确定性 – 观察到 Y后 X保留的平均不确定性。
平均互信息 = 接收到Y后X 的平均不确定性消除的程度。
平均互信息 = 接收到Y 后获取到关于X 的平均信息量。
在联合集(X,Y)上,把互信息量 I(a;b) 的概率加权平均值定义为平均互信息量。其定义式为:
1. correlation:有线性的皮尔逊相关系数(Pearson Correlation Coefficient)和数据排序相关的斯皮尔曼等级相关(Spearman’s correlation coefficient)
2. 互信息(mutual information): 可衡量非线性的关系 ,或者 延迟的互信息(delayed mutual information)
3. 格兰杰因果关系检验(granger causality)
诺贝尔经济学奖获得者,英国经济学家克莱夫·格兰杰(Sir Clive William John Granger),是著名的经济时间序列分析大师,被认为是世界上最伟大的计量经济学家之一。Granger从预测的角度给出了因果关系的一种描述性定义,这就是我们现在所熟知的Granger因果关系。
Granger指出:如果一个变量X无助于预测另一个变量Y,则说X不是Y 的原因;相反,若X是Y的原因,则必须满足两个条件: 第一,X应该有助于预测Y,即在Y关于Y的过去值的回归中,添加X的过去值作为独立变量应当显著地增加回归的解释能力;第二,Y不应当有助于预测X,其原因是,如果X有助于预测Y,Y也有助于预测X,则很可能存在一个或几个其他变量,它们既是引起X变化的原因, 也是引起Y变化的原因。现在人们一般把这种从预测的角度定义的因果关系称为Granger因果关系。
参见
4. 传递熵(transfer entropy)
相信随着 大数据 的到来,会使得传递熵(transfer entropy)这种方法会受到更多人的关注,因为它是一种基于概率分布,香农熵,统计的方法得出时间序列间因果性的方法。这种方法首先提出是在PRL上由T.Schreiber 提出的,又用在生物系统中,所以这里大部分人可能不熟悉。由于transfer entropy 所需的时间序列长度较大,所以在普遍数据量较小的时代,只能用在神经信号和脑电图中。现在很多地方都意识到数据的重要性,各种传感器也被大量应用,原本不存在的数据来源慢慢的也被发掘了。相信transfer entropy 的春天就要来了。
什么是transfer entropy 它其实就是一个条件分布带来的探测到时间序列间的不对称性。说的学术一点:传递熵是在错误假设传递概率函数为p(in+1|in(k)),而不是p(in+1|in(k),jn(l))的情况下,预测系统状态额外需要的信息。这个信息由Y到X和由X到Y是不对称,这种不对称就带来了,驱动和响应的关系的建立。不过他和granger 因果性检验之间的等价性在一篇工作中已经证明。而且传递熵能对非线性时间序列应用,对这种granger的因果性也很敏感。
参见
5. 收敛交叉映射(convergent cross mapping)
Convergent cross mapping (CCM) is a statistical test for a cause-and-effect relationship between two time series variables that, like the Granger causality test, seeks to resolve the problem that correlation does not imply causation . [1] [2] While Granger causality is best suited for purely stochastic systems where the influences of the causal variables are separable (independent of each other), CCM is based on the theory of dynamical systems and can be applied to systems where causal variables have synergistic effects. The test was developed in 2012 by the lab of George Sugihara of the Scripps Institution of Oceanography , La Jolla , California, USA.
Granger Causality是经典方法,在计量经济学的时间序列分析中有较多的应用。 除此之外,还有Convergent cross mapping (CCM)。Granger因果模型的前提假设是事件是完全随机的,但现实情况有很多是非线性、动态且非随机的,Granger模型对这一类状况不适用。CCM则能适用于这一类场景,在多组时间序列中构建出因果网络。 感兴趣的可以读一下这篇发表在Science上的文章:
参见
我们希望选出与标签有关且有意义的特征,因为这样的特征携带更多的信息,如果特征与标签无关,只会浪费计算内存,可能还会给模型带来噪声,在sklearn中有三种常用的方法来评判特征与标签之间的相关性:卡方,F检验,互信息
1.1卡方过滤
卡方过滤是专门针对离散型标签(即分类问题)的相关性过滤,卡方检验类feature_selection.chi2计算每个非负特征与标签之间的卡方统计量,并依照卡方统计量由高到低为特征排名,再结合feature_selection.SelectKBest这个可以输入“评分标准”来选出前K个分数最高的特征的类,我们可以借此除去最可能独立于标签,与我们分类目的无关的特征。
另外,如果卡方检查中检测到某个特征中所有的值都相同,会提示我们先使用方差过滤。
1.2 K参数的选取
实际中的数据量会很大,模型很复杂的时候也许不允许我们先跑一遍模型看看效果,而是希望最开始就能选择一个最优的超参数K,可以使用学习曲线。
通过这条曲线,我们可以观察到,随着K值的不断增加,模型的表现不断上升,这说明,K越大越好,数据中所有的特征都是与标签相关的。但是运行这条曲线的时间同样也是非常地长,接下来说一种更好的选择k的方法:看p值选择k
卡方检验的本质是推测两组数据之间的差异,其检验的原假设是“两组数据是相互独立的”。卡方检验返回卡方值和P值两个统计量,其中卡方值很难界定有效的范围,而p值,我们一般使用0.01或0.05作为显著性水平,即p值判断边界,具体如表格所示
从特征工程的角度,我们希望获取卡方值很大,p值小于0.05的特征,即和标签是相关联的特征,而调用SelectKBest之前,我们可以直接从chi2实例化后的模型中获得各个特征所对应的卡方值和p值。
1.3 F检验
F检验,又称ANOVA,方差齐性检验,是用来捕捉每个特征与标签之间的线性关系的过滤方法,它即可以做回归也可以做分类,因此包含feature_selection.f_classif(F检验分类)和feature_selection.f_regression(F检验回归)两个类,其中F检验分类用于标签是离散型变量的数据,而F检验回归则用于标签是连续性变量的数据。
和卡方检验一样,这两个类都需要和SelectKBest连用,并且我们也可以直接通过输出的统计量来判断我们到底要设置多大的K值。F检验在数据服从正态分布是效果会非常稳定,因此如果使用F检验过滤,我们会先将数据转化成正态分布的方式。
F检验的本质是寻找两组数据之间的线性关系,其原假设是“数据不存在显著的线性关系”,它返回F值和P值两个统计量,和卡方过滤一样,我们希望选取P值小于0.05或是0.01的特征,这些特征与标签是显著线性相关的,而P值大于0.05或是0.01的特征被 我们认为是与标签没有显著线性关系的特征,应该被删除,以F检验的分类为例,在数字数据集上进行特征选择。
k=300,跟原特征数一样,说明没有任何的特征的p值大于0.01,所有的特征都是与标签相关的,因此不需要相关性过滤。
1.4 互信息法
互信息法是用来捕捉每个特征与标签之间的任意关系(线性关系和非线性关系)的过滤方法,跟F检验一样,可以做回归也可以做分类,并且包含两个类feature_selection.mutual_info_classif和feature_selection.mutual_info_regression(互信息回归),这两个类的用法和参数都和F检验一模一样,不过互信息法比F检验更加强大,F检验只能够找出线性关系,而互信息法可以找出任意关系。
1.5 过滤法总结
通常来说,会先使用方差过滤,然后使用互信息法来捕捉相关性,不过了解各种各样的过滤方式也是必要的。所有信息被总结在下表:
关于互信息法求延迟和互信息法求延迟时间代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件至举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签: #互信息法求延迟
相关文章