共计 2105 个字符,预计需要花费 6 分钟才能阅读完成。
原文链接: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) 预测原油工夫序列价格