研究问题

分别使用MLP和RNN网络,将格兰格因果检验扩展到非线性领域

背景动机

  • 格兰杰因果关系量化了一个时间序列的历史数值对另一个时间序列的预测程度。
  • 大多数格兰格因果检验假设线性时间序列动力学,并使用基于VAR方法,这无法检验非线性依赖问题。
  • 现存检验非线性依赖的方法一般使用加性模型,这可能会遗漏预测因子之间重要的非线性交互作用。

模型思想

  • 使用MLP和LSTM衡量输入序列的滞后对输出序列的影响
  • 对输入的输出权重进行稀疏诱导惩罚,从而选择没有非线性格兰杰效应的时间序列

符号定义

  • 线性假设

假设xt∈Rpx_{t} \in \mathbb{R}^{p}xt​∈Rp是p维的时间序列在t时刻的取值,根据VAR模型的假设,xtx_{t}xt​是历史取值的线性组合,即xt=∑k=1KA(k)xt−k+etx_{t}=\sum_{k=1}^{K} A^{(k)} x_{t-k}+e_{t}xt​=k=1∑K​A(k)xt−k​+et​,其中A(k)A^{(k)}A(k)是一个p×p的矩阵。

时间序列j不是时间序列i的格兰格因当且仅当∀k,Aij(k)=0\forall k, A_{i j}^{(k)}=0∀k,Aij(k)​=0,可以将上述问题转换为带约束的回归问题

  • 非线性假设

时间序列j不是时间序列i的格兰格因当且仅当gig_igi​不依赖于x<tjx_{<tj}x<tj​

模型方法

  • 施加稀疏约束的MLP

为了能够分离不同时间序列的不同时刻的格兰格因果影响,分别对每一个gig_igi​用MLP进行建模,称这种方式为cMLP

第一个隐藏层的计算公式为:

最终的预测公式为

对第一层的权重添加L1正则化,如果对gig_igi​对应的MLP实现的第一层权重的第j列即W:j1kW_{:j}^{1k}W:j1k​全都为0,就可以说j不是i的格兰格因。如果将λ\lambdaλ调得足够大,就可以获得很小的格兰格因果关系集。

为了确定lag(延迟)的取值,假设其为k,满足W:j1k′=0for k′>k且 W:j1k′≠0for k′≤kW_{: j}^{1 k^{\prime}}=0 \text { for } k^{\prime}>k \text { 且 } W_{: j}^{1 k^{\prime}} \neq 0 \text { for } k^{\prime} \leq kW:j1k′​=0 for k′>k 且 W:j1k′​​=0 for k′≤k

将目标函数调整为以下形式:

  • 施加稀疏约束的RNN

隐藏层计算公式为:

预测公式为

f这里使用LSTM实现

单层情况下的稀疏约束

实验部分

  • 洛伦兹数据集,指标为预测的因果图的AUROC

  • 观察λ对因果推断效果的影响

  • 真实数据集效果对比

评价

论文整体上的思想和模型还是比较简单易懂的,但正则参数λ的取值是一个问题。

Neural Granger Causality for Nonlinear Time Series相关推荐

  1. 漫谈格兰杰因果关系(Granger Causality)

    #目录 文章目录 #简介 格兰杰因果关系作为一种可以衡量时间序列之间相互影响关系的方法,最近十几年备受青睐.无论是经济学[1],气象科学[2],神经科学[3]都有广泛的应用,尽管后两者(气象和神经科学 ...

  2. The MVGC Multivariate Granger Causality Matlab初上手记录

    介绍 环境要求 根据作者的HELP-system requirement介绍,该ToolBox是在Linux x86_64 (glnxa64) 系统里的 Matlab R2011a中使用的,不确定能毫 ...

  3. python时间序列因果检验_用python做时间序列预测八:Granger causality test(格兰杰因果检验)...

    如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验). Granger causality test的思想 如果使用时间序列X和Y的历史值来 ...

  4. Granger Causality 格兰杰因果关系

    (Granger Causality) 格兰杰(Granger)于 1969 年提出了一种基于"预测"的因果关系(格兰杰因果关系),后经西蒙斯(1972 ,1980)的发展,格兰杰 ...

  5. 格兰杰因果 Granger causality

    格兰杰因果关系(Granger causality )是基于预测的因果关系统计概念.根据格兰杰因果关系,如果信号X1"格兰杰Causes"(或"G-Causes" ...

  6. 用python做时间序列预测八:Granger causality test(格兰杰因果检验)

    如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验). Granger causality test的思想 如果使用时间序列X和Y的历史值来 ...

  7. 计量经济学之格兰杰因果关系检验(Granger causality test)

    Granger causality test 格兰杰检验是干什么的?--分析变量之间是否存在因果关系 格兰杰检验的前提条件?--时间序列平稳 格兰杰检验不成立的意义--不表示X和Y之间无因果关系 格兰 ...

  8. python时间序列因果检验_用python做时间序列预测8:Granger causality test(格兰杰因果检验)...

    如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验). Granger causality test的思想 如果使用时间序列X和Y的历史值来 ...

  9. 格兰杰因果( Granger causality test)在神经科学中脑区功能连接上的应用

    什么是格兰杰因果 History 1969年克莱夫·格兰杰(Clive W. J. Granger)提出了一种经济学上的统计学假设检验方法,后来被称为 - 格兰杰因果关系检验 - ( Granger ...

最新文章

  1. Docker部署文档
  2. 从JavaScript数组中获取随机项[重复]
  3. redis bind多个ip_Spring Boot 中 Redis 的使用
  4. python自带超参调优包
  5. 适当的Java堆大小的5个技巧
  6. 使用pdf.js在移动端预览pdf文档
  7. 项目中查询数据和模糊查询
  8. delphi OleVariant转换RecordSet
  9. HTTP协议的响应协议(个人写笔记看不懂的地方可以和我交流)
  10. 写一个生产者消费者的例子
  11. Could not get unknown property 'packageForR' for task ':app:processDebugReso
  12. android webview 字体被放大,解决因为手机设置字体大小导致h5页面在webview中变形的BUG...
  13. JS 实现blob与base64互转
  14. 【省下5w】uniapp使用“天地图”地图API开发 - 免费地图组件
  15. Discuz showWindow函数解析
  16. 项目上线质量如何评估
  17. 【路由篇】01. 修改密码 ❀ 1900 ❀ CISCO 路由器
  18. dlink虚拟服务器设置,dlink虚拟服务器设置
  19. ❤️交房步骤和注意事项❤️
  20. Unity_太阳月亮地球的自转公转脚本

热门文章

  1. 如何用云服务器进行深度学习
  2. 产业安全专家谈丨数字经济高速发展,数据要素安全该如何保障?
  3. Java编写程序输出一个笑脸_给定一个数组,输出笑脸的个数。
  4. python for循环求1到100的和_python如何计算1到100的和(用for循环)
  5. Windows平台视频显示问题
  6. 房子要室内设计了,先从讲装修的施工工艺开始!
  7. 计算机应用职业的外部环境,完整的职业生涯规划书范文
  8. 通过CSS3实现:鼠标悬停图片360度旋转效果
  9. gitlab找回已删除的分支
  10. Oracle 12c 新特性之 数据库内归档(In-Database Archiving)