最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

R語言狀態(tài)空間模型:卡爾曼濾波器KFAS建模時間序列

2021-06-02 17:26 作者:拓端tecdat  | 我要投稿

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

原文出處:拓端數(shù)據(jù)部落公眾號

?

1 時間序列

時間序列是指同一種現(xiàn)象在不同時間上的相繼觀察值排列而成的一組數(shù)字序列。統(tǒng)計學(xué)上,一個時間序列即是一個隨機(jī)過程的實現(xiàn)。時間序列按其統(tǒng)計特性可以分為平穩(wěn)時間序列和非平穩(wěn)時間序列兩類。在實際生活中遇到的序列,大多數(shù)是不平穩(wěn)的。

說明:如果一個序列的平均值和方差始終為常數(shù),則它是平穩(wěn)的。在估計時間序列模型之前需把不平穩(wěn)的時間序列轉(zhuǎn)化為平穩(wěn)序列。判斷一個時間序列的平穩(wěn)性可通過數(shù)據(jù)圖和自相關(guān)函數(shù)圖,如果數(shù)據(jù)圖呈現(xiàn)線性或二次趨勢形狀,則該時間序列是不平穩(wěn)的;如果自相關(guān)函數(shù)在前面少數(shù)幾個值后下降趨向于0,則序列是平穩(wěn)的。如果在前幾個值后,自相關(guān)函數(shù)沒有下降趨向于0,而是逐次減少,且值的大小超出固定的隨機(jī)期間,則序列不平穩(wěn)。

2 狀態(tài)空間模型

如前所述,在現(xiàn)實生活中,數(shù)據(jù)的出現(xiàn)大多數(shù)是以非平穩(wěn)形式,這涉及到動態(tài)數(shù)據(jù)所構(gòu)成的時間序列的分解。分解時間序列的目的旨在估計和抽取確定性成分Tt(長期趨勢),St(季節(jié)項),Ct(循環(huán)項),以使殘量It(隨機(jī)項)是一平穩(wěn)過程。進(jìn)而求得關(guān)于隨機(jī)項的合適概率模型,分析它的性質(zhì),并連同Tt,St,Ct達(dá)到擬合和預(yù)報的目的。狀態(tài)空間模型即可對時間序列進(jìn)行分解,將Tt,St,Ct及It從時間序列中分離出來。

2.1 時間序列的狀態(tài)空間描述

一般的,一個時間序列{yt}可以直接或經(jīng)過函數(shù)變換后分解為如下的加法模型或乘法模型形式:

?

其中,(Tt)表長期趨勢,( St)是季節(jié)項,(Ct)是循環(huán)項,(It)表不規(guī)則項,對于趨勢明顯為指數(shù)增長,且季節(jié)波動幅度也隨時間增加的序列,一般采用乘法模型。

對于一般定常(非時變)的動態(tài)系統(tǒng),假定其具有n維量測向量{yt}和m維狀態(tài)向量{xt},量測向量是通過某些物理手段可以觀測到的變量,而狀態(tài)向量是用來描述系統(tǒng)動態(tài)特征的變量,一般是無法觀測到的變量,只有狀態(tài)向量和量測向量結(jié)合起來,才能對系統(tǒng)的動態(tài)特征做完整而充分的描述。狀態(tài)空間模型即可實現(xiàn)這種動態(tài)描述。

2.2 狀態(tài)空間模型

狀態(tài)方程描述動態(tài)系統(tǒng)的狀態(tài)從前一時刻到當(dāng)前時刻的變化規(guī)律,而量測方程描述觀測值和系統(tǒng)的狀態(tài)之間的變化關(guān)系.Φ稱為狀態(tài)轉(zhuǎn)移矩陣,A為量測矩陣,wt是狀態(tài)噪聲,vt是量測噪聲(一般可設(shè)為正態(tài)白噪聲)。

假定A和Φ中都是不隨時間改變的常系數(shù)矩陣,狀態(tài)空間有以下特點:

  • 狀態(tài)空間模型不僅能反映系統(tǒng)內(nèi)部狀態(tài),而且能揭示系統(tǒng)內(nèi)部狀態(tài)與外部的輸入和輸出變量的聯(lián)系;

  • 狀態(tài)空間模型將多個變量時間序列處理為向量時間序列,這種從變量到向量的轉(zhuǎn)變更適合解決多輸入輸出變量情況下的建模問題。

  • 狀態(tài)空間模型能夠用現(xiàn)在和過去的最小信息形式描述系統(tǒng)的狀態(tài),因此,它不需要大量的歷史數(shù)據(jù)資料,既省時又省力。

(3)和(4)式中的有關(guān)量可以分解為組合形式:

?

下標(biāo)j=1,2,3分別對應(yīng)于趨勢項、循環(huán)項、季節(jié)項。即:

  • Φ1,A1,X1t,w1t均對應(yīng)于趨勢項;

  • Φ2,A2,X2t,w2t均對應(yīng)于循環(huán)項;

  • Φ3,A3,X3t,w3t均對應(yīng)于季節(jié)項。

  • Φj,Aj,Xjt,wjt均可由對應(yīng)項的相應(yīng)模型求出,且都為矩陣形式。

只要確定出趨勢項(趨勢差分?jǐn)?shù)k)、循環(huán)項(循環(huán)項AR模型的階數(shù)p)、季節(jié)項(季節(jié)階數(shù)L,d),就可以方便的寫出相應(yīng)的狀態(tài)空間模型。k=2,p=2,d=1時,例子如下:



若采用月度數(shù)據(jù)(L=12),上式中狀態(tài)向量Xr的維數(shù)m=15;若采用季度數(shù)據(jù)(L=4) 則Xt是m=7維向量。相應(yīng)的噪聲方差矩陣如下:


(5)式是狀態(tài)空間模型的待估參數(shù),一般稱為超參數(shù)。α2?,α2η,α2ζ分別是趨勢、循環(huán)、季節(jié)各部分的狀態(tài)噪聲方差,α1,...,αp是擬合循環(huán)項的自回歸模型參數(shù)。
這些超參數(shù)需要使用極大似然估計或EM算法等方法得到。

剩下的工作是要得到狀態(tài)向量序列{Xt}。如果估計出{Xt},則時間序列{yt}的分解就完成了。這可以通過Kalman濾波等方法對非平穩(wěn)時間序列進(jìn)行外推、內(nèi)插及平滑,計算出每個時刻的狀態(tài)向量。

3 R語言狀態(tài)空間模型:卡爾曼濾波器KFAS建模時間序列

我們以貨幣市場為例。貨幣對可能會有整體上升趨勢,然后在拋售期間大幅下跌。傳統(tǒng)的時間序列模型不一定能夠立即解決這個問題,并且在考慮到趨勢的突然變化之前可能需要幾個時期。

因此,我們希望使用一個確實能夠解釋這種沖擊的時間序列模型。讓我們來看一個稱為卡爾曼濾波器的模型。

卡爾曼濾波器是一種狀態(tài)空間模型,可以更快地調(diào)整沖擊到時間序列。讓我們看一下如何使用一個例子。

2015年1月,當(dāng)瑞士國家銀行決定從瑞士法郎取消瑞士法郎時,貨幣市場遭受了歷史上最大的沖擊之一。結(jié)果,瑞士法郎飆升,而其他主要貨幣則暴跌。

讓我們看看卡爾曼濾波器如何調(diào)整這種沖擊。

?

4卡爾曼濾波器:USD / CHF

首先,讓我們下載2015年1月的USD / CHF數(shù)據(jù)。

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

  2. > currency=data.frame(currency)

  3. > currency=(log(currency$currency))

現(xiàn)在,我們將嘗試使用KFAS庫使用卡爾曼濾波器對此時間序列進(jìn)行建模。

?

繪制時間序列:

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

?

為了進(jìn)行比較,我們還將計算10天移動平均值,以比較平滑性能與卡爾曼濾波器的平滑性能。

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

?現(xiàn)在讓我們將上面的內(nèi)容與我們的原始系列結(jié)合起來,看看我們提出了什么:
?這是生成的數(shù)據(jù)框:

在某些情況下,高頻數(shù)據(jù) - 或過濾從噪聲信號中提取信息并預(yù)測未來狀態(tài),是卡爾曼濾波器最合適的用途。另一方面,平滑更依賴于過去的數(shù)據(jù),因為在某些情況下,平均最近的測量可能比使用最近的測量更準(zhǔn)確。

這在直覺上是有道理的,因為貨幣在一個月之前的交易價格為0.9658。在這方面,平滑估計器允許比使用濾波估計a更好地預(yù)測信號,濾波估計a直到時間段33才調(diào)整沖擊。

5例子:英鎊/美元

因此,我們已經(jīng)看到卡爾曼濾波器如何適應(yīng)美元/瑞士法郎的突然變動。讓我們再舉一個貨幣沖擊的例子。當(dāng)英國在2016年6月投票支持“英國退歐”時,我們看到英鎊/美元隨后暴跌。

如在USD / CHF的例子中,我們從Quandl下載我們的GBP / USD數(shù)據(jù)并運行卡爾曼濾波器:

這是我們的數(shù)據(jù)圖。同樣,我們看到alpha在t = 22時的震蕩前一天向下調(diào)整到1.438的水平:

以下是a,att和alpha統(tǒng)計信息:

同樣,我們看到10天SMA需要將近10天才能完全調(diào)整震蕩,再次表明平滑參數(shù)α在調(diào)整貨幣水平的巨大變化方面仍然證明是優(yōu)越的。

6結(jié)論

?

  • 調(diào)整時間序列沖擊的重要性

  • 如何在R中使用KFAS實現(xiàn)卡爾曼濾波器

  • 如何解釋卡爾曼濾波器的輸出

  • 為什么卡爾曼濾波器是用于建模時間序列沖擊的合適模型

最受歡迎的見解

1.在python中使用lstm和pytorch進(jìn)行時間序列預(yù)測

2.python中利用長短期記憶模型lstm進(jìn)行時間序列預(yù)測分析

3.使用r語言進(jìn)行時間序列(arima,指數(shù)平滑)分析

4.r語言多元copula-garch-模型時間序列預(yù)測

5.r語言copulas和金融時間序列案例

6.使用r語言隨機(jī)波動模型sv處理時間序列中的隨機(jī)波動

7.r語言時間序列tar閾值自回歸模型

8.r語言k-shape時間序列聚類方法對股票價格時間序列聚類

9.python3用arima模型進(jìn)行時間序列預(yù)測


R語言狀態(tài)空間模型:卡爾曼濾波器KFAS建模時間序列的評論 (共 條)

分享到微博請遵守國家法律
山阳县| 黄石市| 会东县| 凤山市| 唐河县| 泗洪县| 原平市| 嘉兴市| 宜都市| 大田县| 忻城县| 固镇县| 延庆县| 华宁县| 西丰县| 宜君县| 凤台县| 长葛市| 交口县| 三明市| 黔西县| 宝清县| 海晏县| 丹凤县| 南汇区| 恭城| 克山县| 麻栗坡县| 宝山区| 读书| 铜川市| 高雄市| 明溪县| 彩票| 红原县| 甘谷县| 八宿县| 乌兰县| 绿春县| 石林| 砀山县|