关于数据挖掘:卡尔曼滤波器用R语言中的KFAS建模时间序列附代码数据

原文链接: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])


点击题目查阅往期内容

合成商业周期时间序列:线性滤波器、HP滤波器、Baxter滤波器、Beveridge Nelson合成等去趋势法

左右滑动查看更多

01

02

03

04

 

为了进行比拟,咱们还将计算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实现卡尔曼滤波器
  • 如何解释卡尔曼滤波器的输入
  • 为什么卡尔曼滤波器是用于建模工夫序列冲击的适合模型

点击文末 “浏览原文”

获取全文残缺代码数据资料。

本文选自《卡尔曼滤波器:用R语言中的KFAS建模工夫序列》。

点击题目查阅往期内容

R语言工夫序列合成和异样检测办法利用案例R语言矩阵特征值合成(谱合成)和奇怪值合成(SVD)特征向量剖析有价证券数据R语言从经济工夫序列中用HP滤波器,小波滤波和教训模态合成等提取周期性成分剖析
R语言状态空间模型和卡尔曼滤波预测酒精死亡人数工夫序列matlab实现扩大卡尔曼滤波(EKF)进行故障检测
卡尔曼滤波器:用R语言中的KFAS建模工夫序列
状态空间模型:卡尔曼滤波器KFAS建模工夫序列
R语言用LOESS(部分加权回归)节令趋势合成(STL)进行工夫序列异样检测
应用R语言随机稳定模型SV解决工夫序列中的随机稳定率
PYTHON用时变马尔可夫区制转换(MRS)自回归模型剖析经济工夫序列
R语言无限混合模型(FMM,finite mixture model)EM算法聚类分析间歇泉喷发工夫
长短期记忆网络LSTM在工夫序列预测和文本分类中的利用
Python随机稳定率(SV)模型对标普500指数工夫序列波动性预测
R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测工夫序列数据
R语言应用ARIMAX预测失业率经济工夫序列数据
R语言用ARIMA模型,ARIMAX模型预测冰淇淋生产工夫序列数据
R语言经济学:动静模型均匀(DMA)、动静模型抉择(DMS)预测原油工夫序列价格

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理