DKM_1.3收敛交叉映射

今日更新DKM_1.3,版本更新内容:CCM收敛交叉映射、两阶段嵌套泰尔指数、三阶段嵌套泰尔指数。此前嵌套泰尔指数分解是单独的脚本,这次一并合并到DKM_1.3中。

目前因果检验常用的格兰杰因果检验,主要是依据时间序列的预测能力来识别序列之间的因果关系。如,我们有一个模型来预测时间序列Y,如果在模型中移除时间序列X,则模型对Y的预测能力大大降低,此时可以说X是Y的一个原因。

但是,格兰杰因果检验的前提是时间序列之间要满足可分离性,这就要求系统之间,各变量是纯随机的,或者线性的。但是,有些系统中,各个时间序列之间彼此依赖,并不能分离,又或者彼此之间是弱耦合的,这时格兰杰因果检验就不再适用。

针对这个问题,Sugihara等(2012)在Detecting Causality in Complex Ecosystems这篇文章中,提出了CCM收敛交叉映射算法。

具体做法如下:

假设有X和Y两个时间序列如下:

{X} = { X(1) ,X(2) ,X(3) ,…,X(L) }

{Y} = { Y(1) ,Y(2) ,Y(3) ,…,Y(L) }

分别构造X和Y的影子流形MX和MY。

MX= < X(t) ,X( t-τ) ,X( t-2τ) ,…,X( t-( E-1) τ) >

MY= < Y(t) ,Y( t-τ) ,Y( t-2τ) ,…,Y( t-( E-1) τ) >

其中τ为时间滞后,E为嵌入维度。t最小值为E+2,最大值为L。

对生成的影子流形MX和MY,用欧式距离计算MX和MY中每个点到其他点的距离,找到E+1个邻居节点,用这些点构造权重wi,然后利用公式:

分别估计Y和X的值。

计算估计值和实际值的相关系数,即CCM相关系数,在不同的时间序列长度中重复计算CCM相关系数,绘制CCM相关系数随长度L的变化情形,判断相关系数的收敛性。

权重wi的构造如下:

在DKM_1.3中,准备好数据,可以直接生成CCM相关系数随时间序列长度L变化的情形:

在这张图中,红色曲线表示,用时间序列B的影子流形预测时间序列A,在库长达到一定长度后,相关系数逐渐趋向于1;绿色曲线表示,用时间序列A的影子流形预测时间序列B,随着库长的增加,相关系数仍然很低,这说明A对B的驱动比B对A的驱动更强,也就是说,A是B的原因。

CCM收敛交叉映射,是对格兰杰因果检验的补充,当变量间是弱耦合关系,或者不可分离时,可以使用CCM收敛交叉映射来识别因果关系。

更多代码或资料,访问工具视界官网:工具视界 -

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值