原文链接:http://tecdat.cn/?p=6762

原文出处:拓端数据部落公众号

时间序列预测,ARIMA等传统模型通常是一种流行的选择。虽然这些模型可以证明具有高度的准确性,但它们有一个主要缺点 - 它们通常不会解释“冲击”或时间序列的突然变化。让我们看看我们如何使用称为卡尔曼滤波器的模型来解决这个问题。

时间序列 

我们以货币市场为例。货币对可能会有整体上升趋势,然后在抛售期间大幅下跌。传统的时间序列模型不一定能够立即解决这个问题,并且在考虑到趋势的突然变化之前可能需要几个时期。

因此,我们希望使用一个确实能够解释这种冲击的时间序列模型。让我们来看一个称为卡尔曼滤波器的模型。

卡尔曼滤波器是一种状态空间模型,可以更快地调整冲击到时间序列。让我们看一下例子。

2015年1月,当瑞士国家银行决定取消瑞士法郎时,货币市场遭受了历史上最大的冲击之一。结果,瑞士法郎飙升,而其他主要货币则暴跌。

让我们看看卡尔曼滤波器如何调整这种冲击。

卡尔曼滤波器:USD / CHF

首先,让我们下载2015年1月的USD / CHF数据。


> currency = Quandl("FRED/DEXSZUS", start_date="2010-01-01",end_date="2018-09-29",type="xts")
> currency=data.frame(currency)
> currency=(log(currency$currency))

现在,我们将尝试使用KFAS库使用卡尔曼滤波器对此时间序列进行建模。

绘制时间序列:

> ts.plot(ts(exp(currency[1232:1274]), exp(out$a[1232:1274]), exp(out$att[1232:1274]), exp(out$alpha[1232:1274])

为了进行比较,我们还将计算10天移动平均值,以比较平滑性能与卡尔曼滤波器的平滑性能。

data.frame(SMA(exp(currency),n=10))

现在让我们将上面的内容与我们的原始序列结合起来,看看我们得到了什么:
 这是生成的数据框:

在某些情况下,高频数据 - 或过滤从噪声信号中提取信息并预测未来状态,是卡尔曼滤波器最合适的用途。另一方面,平滑更依赖于过去的数据,因为在某些情况下,平均最近的预测可能比使用最近的预测更准确。

这在直觉上是有道理的,因为货币在一个月之前的交易价格为0.9658。在这方面,平滑估计器允许比使用滤波估计更好地预测信号,滤波估计a直到时间段33才调整冲击。

例子:英镑/美元

因此,我们已经看到卡尔曼滤波器如何拟合美元/瑞士法郎的突然变动。我们再举一个货币冲击的例子。当英国在2016年6月投票支持“英国退欧”时,我们看到英镑/美元随后暴跌。

如在USD / CHF的例子中,我们从Quandl下载我们的GBP / USD数据并运行卡尔曼滤波器:

这是我们的数据图。同样,我们看到alpha在t = 22时的震荡前一天向下调整到1.438的水平:

以下是a,att和alpha统计信息:

同样,我们看到10天SMA需要将近10天才能完全调整震荡,再次表明平滑参数α在调整货币水平的巨大变化时是不错的。

结论

  • 调整时间序列冲击的重要性

  • 如何在R中使用KFAS实现卡尔曼滤波器

  • 如何解释卡尔曼滤波器的输出

  • 为什么卡尔曼滤波器是用于建模时间序列冲击的合适模型


最受欢迎的见解

1.在python中使用lstm和pytorch进行时间序列预测

2.python中利用长短期记忆模型lstm进行时间序列预测分析

3.使用r语言进行时间序列(arima,指数平滑)分析

4.r语言多元copula-garch-模型时间序列预测

5.r语言copulas和金融时间序列案例

6.使用r语言随机波动模型sv处理时间序列中的随机波动

7.r语言时间序列tar阈值自回归模型

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.python3用arima模型进行时间序列预测

拓端tecdat|卡尔曼滤波器:用R语言中的KFAS建模时间序列相关推荐

  1. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  2. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  3. 1071svm函数 r语言_如何利用R语言中的rpart函数建立决策树模型

    决策树是根据若干输入变量的值构造出一个适合的模型,以此来预测输出变量的值,并用树形结构展示出来.决策树主要有两个类别:分类树和回归树.分类树主要针对离散的目标变量,回归树则针对连续的目标变量.R语言中 ...

  4. r语言中c函数错误,R语言中c()函数与paste()函数的区别说明

    c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...

  5. r语言中的shiny教程_如何使用Shiny在R中编写Web应用程序

    r语言中的shiny教程 新年快乐! 这个月我忙于撰写一些较大的文章,因此请在接下来的几周内查找这些文章. 对于本月的Nooks和Crannies,我想简要指出一个我一直在用它进行自我教育的出色R库. ...

  6. R语言中if语句使用方法之超详细教程

    在R语言中,if属于一种分支结构,即根据某个条件执行相关的语句.R中的if语句与else配合主要有3种结构. 单个if语句 if(cond) {expr} 其它语句 即当括弧中的cond条件为TRUE ...

  7. R语言中GCC编译的问题(续)

    这篇文章承接R语言中GCC编译的问题,这篇文章主要解决我在Linux系统上安装"expm"出现的问题. 出现的问题 这个问题非常的有趣,因为我在两台服务器分别安装同一个包,其中一台 ...

  8. r语言中paste函数_R中的paste()函数-简要指南

    r语言中paste函数 Using the paste() function in R will be straight and simple. In this tutorial let's see ...

  9. r语言中的while循环_R编程中的While循环

    r语言中的while循环 In addition to the for loop we discussed earlier, R also offers another kind of loop to ...

  10. R语言中的igraph包绘制网络图

    本文转自网络. R语言中的igraph包可以很方便地画出网络图,在社交关系分析等领域发挥重要作用,下面介绍包中一个重要的函数graph_from_data_frame(). graph_from_da ...

最新文章

  1. 刚开始Windows Mobile的开发,请大家多多关照
  2. 陆奇谢幕后,百度的“新”时代
  3. 堆栈,静态变量和普通变量,静态函数和普通函数的区别
  4. 推荐44个最具潜力的顶极深度学习开源框架和平台!!!
  5. 技术:常见视频会议网络线路介绍
  6. 如何优雅的设计 Java 异常
  7. 2009编程语言排名
  8. Delphi 的字符及字符串[4] - 字符串、字符指针与字符数组
  9. 韦东山嵌入式第一期14课第004节_und异常模示程序示例_P笔记
  10. php 取数值整数的函数是,PHP取整数函数常用的四种方法小结
  11. 空格在Html中的表示方法(nbsp含义)
  12. 百度亮相NeurIPS 首届Expo:向世界科普了中国自动机器学习框架
  13. ipad坏点测试软件,购买需谨慎 漏光坏点都要看_平板电脑评测-中关村在线
  14. 127.0.0.1 zxt.php_shmilyzxt/
  15. 酒店管理系统的E-R图和数据库模型图
  16. autojs快阅读协议脚本源代码免费分享
  17. 【JavaScript 】for 循环
  18. 选下拉框的的值对应上传相应的图片_excel表格下拉菜单调用对应数据,如何在excel中实现,选择下拉菜单某一项,该表格中就出现选项对应的数据?...
  19. Ymir平台部署安装
  20. 20172323 2017-2018-2 《程序设计与数据结构》第九周学习总结

热门文章

  1. 线性代数与矩阵论 定理 1.3.9 唯一析因定理
  2. sqlite3的命令简单说明
  3. 跟据URL来实现WebService
  4. 【YOLO家族】【论文翻译】YOLO 9000 /YOLO V2
  5. idea ****.class拒绝访问
  6. 记一次Alluxio HA master启动失败
  7. 学习笔记:JS + 简单的PHP实现用户注册及登录
  8. iOS 6 SDK: 在应用内展示App Store
  9. 【漫画】兔子,胡萝卜和屎
  10. [UE4]关于分支Sequence和条件分支的组合用法