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

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

拓端tecdat|R語言中的時間序列分析模型:ARIMA

2021-07-02 17:59 作者:拓端tecdat  | 我要投稿

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

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

簡介

時間序列分析是統(tǒng)計學(xué)中的一個主要分支,主要側(cè)重于分析數(shù)據(jù)集以研究數(shù)據(jù)的特征并提取有意義的統(tǒng)計信息來預(yù)測序列的未來值。時序分析有兩種方法,即頻域和時域。前者主要基于傅立葉變換,而后者則研究序列的自相關(guān),并且使用Box-Jenkins和ARCH / GARCH方法進行序列的預(yù)測。

本文將提供使用時域方法對R環(huán)境中的金融時間序列進行分析和建模的過程。第一部分涵蓋了平穩(wěn)的時間序列。第二部分為ARIMA和ARCH / GARCH建模提供了指南。接下來,它將研究組合模型及其在建模和預(yù)測時間序列方面的性能和有效性。最后,將對時間序列分析方法進行總結(jié)。

時間序列數(shù)據(jù)集的平穩(wěn)性和差異:

1.平穩(wěn)性:

對時間序列數(shù)據(jù)建模的第一步是將非平穩(wěn)時間序列轉(zhuǎn)換為平穩(wěn)時間序列。這是很重要的,因為許多統(tǒng)計和計量經(jīng)濟學(xué)方法都基于此假設(shè),并且只能應(yīng)用于平穩(wěn)時間序列。非平穩(wěn)時間序列是不穩(wěn)定且不可預(yù)測的,而平穩(wěn)過程是均值回復(fù)的,即它圍繞具有恒定方差的恒定均值波動。此外,隨機變量的平穩(wěn)性和獨立性密切相關(guān),因為許多適用于獨立隨機變量的理論也適用于需要獨立性的平穩(wěn)時間序列。這些方法大多數(shù)都假設(shè)隨機變量是獨立的(或不相關(guān)的)。噪聲是獨立的(或不相關(guān)的);變量和噪聲彼此獨立(或不相關(guān))。那么什么是平穩(wěn)時間序列?

粗略地說,平穩(wěn)時間序列沒有長期趨勢,均值和方差不變。更具體地說,平穩(wěn)性有兩種定義:弱平穩(wěn)性和嚴格平穩(wěn)性。

a.平穩(wěn)性弱:如果滿足以下條件,則稱時間序列{Xt,t∈Z}(其中Z是整數(shù)集)是平穩(wěn)的

b.嚴格平穩(wěn):如果(Xt1,Xt2,...,Xtk)的聯(lián)合分布與(Xt1 + h,Xt2 + h)的聯(lián)合分布相同,則時間序列{Xt. ……Xtk + h),t∈Z}被認為是嚴格平穩(wěn)的。?

通常在統(tǒng)計文獻中,平穩(wěn)性是指平穩(wěn)時間序列滿足三個條件的弱平穩(wěn)性:恒定均值,恒定方差和自協(xié)方差函數(shù)僅取決于(ts)(不取決于t或s)。另一方面,嚴格平穩(wěn)性意味著時間序列的概率分布不會隨時間變化。

例如,白噪聲是平穩(wěn)的,意味著隨機變量是不相關(guān)的,不一定是獨立的。但是,嚴格的白噪聲表示變量之間的獨立性。另外,由于高斯分布的特征是前兩個時刻,所以高斯白噪聲是嚴格平穩(wěn)的,因此,不相關(guān)也意味著隨機變量的獨立性。

在嚴格的白噪聲中,噪聲項{et}不能線性或非線性地預(yù)測。在一般的白噪聲中,可能無法線性預(yù)測,但可由稍后討論的ARCH / GARCH模型非線性預(yù)測。有三點需要注意:

?嚴格的平穩(wěn)性并不意味著平穩(wěn)性弱,因為它不需要有限的方差

?平穩(wěn)性并不意味著嚴格的平穩(wěn)性,因為嚴格的平穩(wěn)性要求概率分布不會隨時間變化

?嚴格平穩(wěn)序列的非線性函數(shù)也嚴格平穩(wěn),不適用于弱平穩(wěn)

2.區(qū)別:

為了將非平穩(wěn)序列轉(zhuǎn)換為平穩(wěn)序列,可以使用差分方法,從原始序列中減去該序列滯后1期:例如:

在金融時間序列中,通常會對序列進行轉(zhuǎn)換,然后執(zhí)行差分。這是因為金融時間序列通常會經(jīng)歷指數(shù)增長,因此對數(shù)轉(zhuǎn)換可以使時間序列平滑(線性化),而差分將有助于穩(wěn)定時間序列的方差。以下是蘋果股票價格的示例:

?左上方的圖表是蘋果股票價格從2007年1月1日到2012年7月24日的原始時間序列,顯示出指數(shù)級增長。

?左下方的圖表顯示了蘋果股票價格的差分??梢钥闯觯撓盗惺莾r格相關(guān)的。換句話說,序列的方差隨著原始序列的級別增加而增加,因此不是平穩(wěn)的

?右上角顯示Apple的log價格圖。與原始序列相比,該序列更線性。

?右下方顯示了蘋果log價格的差分。該系列似乎更具有均值回復(fù)性,并且方差是恒定的,并且不會隨著原始系列級別的變化而顯著變化。

?

要執(zhí)行R中的差分,請執(zhí)行以下步驟:?

?讀取R中的數(shù)據(jù)文件并將其存儲在變量中

?繪制原始股票價格

?與原始序列不同

?原始序列的差分序列圖

?獲取原始序列的對數(shù)并繪制對數(shù)價格

?不同的log價格和圖

log價格的差分代表收益,與股票價格的百分比變化相似。

ARIMA模型:

模型識別:

通過觀察時間序列的自相關(guān)建立并實現(xiàn)時域方法。因此,自相關(guān)和偏自相關(guān)是ARIMA模型的核心。BoxJenkins方法提供了一種根據(jù)序列的自相關(guān)和偏自相關(guān)圖來識別ARIMA模型的方法。ARIMA的參數(shù)由三部分組成:p(自回歸參數(shù)),d(差分數(shù))和q(移動平均參數(shù))。

識別ARIMA模型有以下三個規(guī)則:

?如果滯后n后ACF(自相關(guān)圖)被切斷,則PACF(偏自相關(guān)圖)消失:ARIMA(0,d,n)確定MA(q)

?如果ACF下降,則滯后n階后PACF切斷:ARIMA(n,d,0),識別AR(p)

?如果ACF和PACF失效:混合ARIMA模型,需要區(qū)別?

注意,即使引用相同的模型,ARIMA中的差異數(shù)也用不同的方式書寫。例如,原始序列的ARIMA(1,1,0)可以寫為差分序列的ARIMA(1,0,0)。同樣,有必要檢查滯后1階自相關(guān)為負(通常小于-0.5)的過差分。差分過大會導(dǎo)致標(biāo)準偏差增加。

以下是Apple時間序列中的一個示例:

?左上方以對數(shù)蘋果股票價格的ACF表示,顯示ACF緩慢下降(而不是下降)。該模型可能需要差分。

?左下角是Log Apple的PACF,表示滯后1處的有效值,然后PACF截止。因此,Log Apple股票價格的模型可能是ARIMA(1,0,0)

?右上方顯示對數(shù)Apple的差分的ACF,無明顯滯后(不考慮滯后0)

?右下角是對數(shù)Apple差分的PACF,無明顯滯后。因此,差分對數(shù)Apple序列的模型是白噪聲,原始模型類似于隨機游走模型ARIMA(0,1,0)

?

在擬合ARIMA模型中,簡約的思想很重要,在該模型中,模型應(yīng)具有盡可能小的參數(shù),但仍然能夠解釋級數(shù)(p和q應(yīng)該小于或等于2,或者參數(shù)總數(shù)應(yīng)小于等于鑒于Box-Jenkins方法3)。參數(shù)越多,可引入模型的噪聲越大,因此標(biāo)準差也越大。

因此,當(dāng)檢查模型的AICc時,可以檢查p和q為2或更小的模型。要在R中執(zhí)行ACF和PACF,以下代碼:

?對數(shù)的ACF和PACF

?差分對數(shù)的ACF和PACF

除了Box-Jenkins方法外,AICc還提供了另一種檢查和識別模型的方法。AICc為赤池信息準則,可以通過以下公式計算:

AICC = N * log(SS / N)+ 2(p + q + 1)* N /(N – p – q – 2),如果模型中沒有常數(shù)項

AICC = N * log(SS / N)+ 2(p + q + 2)* N /(N – p – q – 3),如果模型中為常數(shù)項

N:求異后的項目數(shù)(N = n – d)

SS:差平方和

p&q:自回歸模型和移動平均模型的順序?

根據(jù)這種方法,將選擇具有最低AICc的模型。在R中執(zhí)行時間序列分析時,程序?qū)⑻峁〢ICc作為結(jié)果的一部分。但是,在其他軟件中,可能需要通過計算平方和并遵循上述公式來手動計算數(shù)字。當(dāng)使用不同的軟件時,數(shù)字可能會略有不同。

基于AICc,我們應(yīng)該選擇ARIMA(2,1,2)。這兩種方法有時可能會得出不同的結(jié)果,因此,一旦獲得所有估計,就必須檢查和測試模型。以下是在R中執(zhí)行ARIMA的代碼:

參數(shù)估計

要估算參數(shù),請執(zhí)行與先前所示相同的代碼。結(jié)果將提供模型每個元素的估計。使用ARIMA(2,1,2)作為選定模型,結(jié)果如下:

完整模型:

(Yt –Yt-1)= -0.0015(Yt-1 – Yt-2)-0.9231(Yt-2 – Yt-3)+0.0032εt-1+0.8803εt-2+εt

注意,當(dāng)執(zhí)行帶差分的ARIMA模型時,R將忽略均值。以下是Minitab的輸出:

請注意,根據(jù)我們編寫代碼的方式,R將對同一模型給出不同的估計。例如:arima(log.Appl,order = c(2,1,2))

從這兩條代碼行得出的ARIMA(2,1,2)的參數(shù)估計值在R中將有所不同,即使它引用的是同一模型。但是,在Minitab中,結(jié)果是相似的,因此對用戶的混淆較少。

診斷檢查

該過程包括觀察殘差圖及其ACF和PACF圖,并檢查Ljung-Box結(jié)果。

如果模型殘差的ACF和PACF沒有顯著滯后,則選擇合適的模型。?

?

殘差圖ACF和PACF沒有任何明顯的滯后,表明ARIMA(2,1,2)是表示該序列的良好模型。

此外,Ljung-Box測試還提供了另一種方法來仔細檢查模型?;旧?,Ljung-Box是一種自相關(guān)檢驗,其中它檢驗時間序列的自相關(guān)是否不同于0。換句話說,如果結(jié)果拒絕了假設(shè),則意味著數(shù)據(jù)是獨立且不相關(guān)的;否則,序列中仍然存在序列相關(guān)性,需要修改模型。

?Minitab的輸出顯示p值均大于0.05,因此我們不能拒絕自相關(guān)性不同于0的假設(shè)。因此,所選模型是Apple股票價格的合適模型之一。

ARCH / GARCH模型

盡管殘差的ACF和PACF沒有明顯的滯后,但是殘差的時間序列圖顯示出一些波動性。重要的是要記住,ARIMA是一種對數(shù)據(jù)進行線性建模且預(yù)測保持不變的方法,因為該模型無法反映最近的變化或合并新信息。換句話說,它為序列提供了最佳的線性預(yù)測,因此在非線性模型預(yù)測中幾乎沒有作用。為了建模波動,需要用到ARCH / GARCH方法。我們?nèi)绾沃浪P(guān)注的時間序列是否需要ARCH / GARCH?

首先,檢查殘差圖是否顯示任何波動性。接下來,觀察殘差平方。如果存在波動性,則應(yīng)使用ARCH / GARCH對系列的波動性建模,以反映該系列中更多的近期變化和波動。最后,平方殘差的ACF和PACF將有助于確認殘差(噪聲項)是否獨立且可以預(yù)測。如前所述,嚴格的白噪聲不能線性或非線性地預(yù)測,而普通的白噪聲可能不能線性地預(yù)測但仍不能非線性地預(yù)測。如果殘差是嚴格的白噪聲,則它們與零均值,正態(tài)分布無關(guān),并且平方殘差的ACF和PACF沒有明顯的滯后。

以下是平方殘差的圖:

?殘差平方圖顯示了某些時間點的波動性

??滯后10時,PACF仍會截斷,即使有些滯后仍然很大

?

因此,殘差顯示了一些可以建模的模式。ARCH / GARCH對模型波動率建模很有必要。顧名思義,此方法與序列的條件方差有關(guān)。ARCH(q)的一般形式:

?根據(jù)AICc選擇ARCH / GARCH階數(shù)和參數(shù),如下所示:

AICC = -2 * log+ 2( q + 1)* N /(N? – q – 2),如果模型中沒有常數(shù)項

AICC = -2 * log+ 2( q + 2)* N /(N – q – 3),如果模型中為常數(shù)項

要計算AICc,我們需要將ARCH / GARCH模型擬合到殘差,然后使用R中的logLik函數(shù)計算對數(shù)似然。請注意,由于我們只希望對ARIMA模型的噪聲建模,因此我們將ARCH擬合到先前選擇的ARIMA模型的殘差,而不擬合原始序列或?qū)?shù)或差分對數(shù)序列。

上面提供了恒定和非恒定情況的AICc表。請注意,從ARCH 1到ARCH 8 的AICc減少,然后在ARCH 9和ARCH 10中AICc增加。為什么會發(fā)生?表示我們需要檢查模型的收斂性,在前7種情況下,R中的輸出給出“相對函數(shù)收斂”,而ARCH 9和ARCH 10具有“假收斂”。當(dāng)輸出包含F(xiàn)alse收斂時,該模型的預(yù)測能力值得懷疑,我們應(yīng)該從選擇中排除這些模型;盡管GARCH 1,1的AICc也最低,但是該模型被錯誤地收斂,因此被排除在外。 ARCH 8是所選模型。

此外,我們在分析中還包括ARCH 0 ,因為它可以用作檢查是否存在任何ARCH效應(yīng)或殘差是否獨立。

執(zhí)行ARCH / GARCH模型的R代碼:

注意,R不允許q = 0的階數(shù),因此我們無法從R 獲得ARCH 0的對數(shù)似然? ;但是我們需要通過公式進行計算:?.5 * N * 1 + log 2 * pi *mean(x) ?2
N:相差后的觀測次數(shù)N = n – d
X:在此考慮的數(shù)據(jù)集情況,殘差
ARCH 8的輸出:

除第六個參數(shù)外,所有參數(shù)的p“值均小于0.05,表明? 它們具有統(tǒng)計學(xué)意義。此外,Box” Ljung檢驗的p“值大于0.05,? 因此我們不能拒絕自相關(guān)的假設(shè)殘差的值不同于0。因此該模型足以表示殘差。
完整的ARCH 8模型:
ht = 1.472e-04 +1.284e-01ε2t“ 1 +1.335e-01ε2t” 2 +9.388e-02ε2t“ 3 + 8.678 e-02ε2t“ 4 +?
5.667e-02ε2t” 5 +3.972e-02ε2t“ 6 +9.034e-02ε2t” 7 +1.126e-01ε2t“ 8

ARIMA-ARCH / GARCH

?在本節(jié)中,我們將比較ARIMA模型和組合的ARIMAARCH / GARCH模型的結(jié)果。如前所述,Apple Log價格序列的ARIMA和ARCH模型分別為ARIMA 2,1,2)和ARCH 8)。此外,我們還將查看Minitab的結(jié)果,并將其與R 的結(jié)果進行比較。請記住,在將ARIMA擬合所需的差分序列時,R將排除常數(shù)。因此,我們先前從R生成的結(jié)果是ARIMA 2,1,2),沒有常數(shù)。使用預(yù)測函數(shù),根據(jù)ARIMA 2,1,2)對系列進行1步預(yù)測

ARIMA(2,1,2)– ARCH(8)的完整模型:


下表總結(jié)了所有模型,并在Excel中編輯和計算了點預(yù)測和預(yù)測區(qū)間:

?將對數(shù)價格轉(zhuǎn)換為價格,我們獲得原始序列的預(yù)測:
?

2012年7月25日蘋果發(fā)布了低于預(yù)期的收益報告,此公告影響了公司股價,導(dǎo)致該股票從2012年7月24日的600.92美元跌至2012年7月24日的574.97美元。公司發(fā)布正面或負面新聞時,這是經(jīng)常發(fā)生的意外風(fēng)險。但是,由于實際價格在我們95%的置信區(qū)間內(nèi)并且非常接近下限,因此我們的模型似乎可以成功預(yù)測該風(fēng)險。

需要注意的是,ARIMA(2,1,2)的95%置信區(qū)間比ARIMA(2,1,2)– ARCH(8)組合模型的置信區(qū)間寬。這是因為后者通過分析殘差及其條件方差(隨著新信息的出現(xiàn)而受到影響的方差)來反映并納入股價的近期變化和波動。
那么如何計算ARCH(8)的條件方差ht?
?生成1步預(yù)測,100步預(yù)測,預(yù)測圖:


?計算ht,條件方差:


?生成對數(shù)價格,上限和下限95%的圖


為了計算ht,我們首先在一列中列出模型的所有參數(shù),然后查找與這些系數(shù)關(guān)聯(lián)的殘差,將這些殘差平方,將ht系數(shù)乘以殘差平方,然后對這些數(shù)字求和以得出ht。例如,要估計點1402(我們的數(shù)據(jù)集有1401個觀測值),我們需要最后8天的殘差,因為我們的模型是ARCH(8)。以下是生成的表:
?

為了如上所述估計混合模型的1步預(yù)測和95%置信區(qū)間,我們使用從R或Minitab獲得的ARIMA預(yù)測,然后將ht添加到ARIMA預(yù)測中。記錄對數(shù)價格和條件方差:
?條件方差圖成功反映了整個時間序列的波動性?高波動性與股價暴跌的時期密切相關(guān)

價格的95%預(yù)測間隔:

?對模型的最終檢查是查看ARIMA-ARCH模型的殘差的QQ圖,即et =εt/ sqrt(ht)=殘差/ sqrt(條件方差)。我們可以直接從R計算出來,然后繪制QQ圖以檢查殘差的正態(tài)性。以下是代碼和QQ圖:

該圖表明,殘差似乎大致呈正態(tài)分布,盡管有些點不在直線上。但是,與ARIMA模型的殘差相比,混合模型的殘差更接近正態(tài)分布。
?

結(jié)論

?
時域方法是分析金融時間序列的有用方法?;贏RIM-ARCH / GARCH模型的預(yù)測中有一些需要考慮的方面:
首先,ARIMA模型專注于線性分析時間序列,并且由于新信息的存在,它無法反映最近的變化。因此,為了更新模型,用戶需要合并新數(shù)據(jù)并再次估計參數(shù)。ARIMA模型中的方差是無條件方差,并且保持恒定。ARIMA適用于平穩(wěn)序列,因此,應(yīng)變換非平穩(wěn)序列(例如對數(shù)變換)。
此外,ARIMA通常與ARCH / GARCH模型一起使用。ARCH / GARCH是一種測量序列波動性的方法,或更具體地說,是對ARIMA模型的噪聲項建模的方法。ARCH / GARCH結(jié)合了新信息,并根據(jù)條件方差分析了序列,用戶可以使用最新信息來預(yù)測未來價值?;旌夏P偷念A(yù)測區(qū)間比純ARIMA模型的預(yù)測區(qū)間短。

最受歡迎的見解

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

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

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

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

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

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

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

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

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


拓端tecdat|R語言中的時間序列分析模型:ARIMA的評論 (共 條)

分享到微博請遵守國家法律
安溪县| 青河县| 辽阳市| 张家港市| 乐都县| 长泰县| 枣强县| 龙州县| 麻江县| 阆中市| 蒲江县| 洛扎县| 定边县| 安龙县| 三门县| 黑水县| 江津市| 常宁市| 青州市| 横山县| 广元市| 兴业县| 修水县| 乐山市| 宣汉县| 栖霞市| 海丰县| 广饶县| 潜江市| 宝清县| 金湖县| 平阴县| 高州市| 沭阳县| 洛阳市| 芜湖市| 如皋市| 邻水| 曲松县| 石景山区| 双桥区|