中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
R語言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于預測時間序列數(shù)據(jù)

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

在本文中,我將介紹ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型如何用于預測時間序列數(shù)據(jù)。

使用滯后算子計算滯后差分

我們可以使用backshift滯后算子來執(zhí)行計算。例如,滯后算子可用于計算的時間序列值的滯后差分,

其中k表示的差分滯后期。對于k=1,我們獲得普通的差分,而對于k=2我們獲得相對于一階的差分。讓我們考慮R中的一個例子。

使用R,我們可以使用diff函數(shù)計算滯后差分。函數(shù)的第二個參數(shù)表示所需的滯后k,默認設(shè)置為k=1。例如:

 By <- diff(y) # y\_i - B y\_i
B3y <- diff(y, 3# y\_i - B^3 y\_i
message(paste0("y is: ", paste(y, collapse =
## y is: 1,3,5,10,20
## By is: 2,2,5,10
## B^3y is: 9,17

 自相關(guān)函數(shù)

滯后k的自相關(guān)定義為:

要計算自相關(guān),我們可以使用以下R函數(shù):

get_autocor <- function(x, lag) {
    x.left <- x\[1:(length(x) - lag)\]
    x.right <- x\[(1+lag):(length(x))\]
    autocor <- cor(x.left, x.right)
   return(autocor)
}
get_autocor(y, 1
## \[1\] 0.9944627
# 相隔2個時間點(滯后期2)測量值的相關(guān)性
get_autocor(y, 2)
## \[1\] 0.9819805

數(shù)據(jù)的高度自相關(guān)表明數(shù)據(jù)具有明確的時間趨勢。

偏自相關(guān)

由于觀察到較大滯后的自相關(guān)可以是較低滯后的相關(guān)結(jié)果,因此通常值得考慮偏自相關(guān)函數(shù)(pACF)。pACF的想法是計算偏相關(guān)性,這種相關(guān)性決定了對變量的最近觀察樣本的相關(guān)性。pACF定義為:

使用pACF可以識別是否存在實際滯后的自相關(guān)或這些自相關(guān)是否是由其他樣本引起的。

計算和繪制ACF和pACF的最簡單方法是分別使用acfpacf函數(shù):

par(mfrow = c(1,2))
acf(y) # ACF
pacf(y) # pACF

在ACF可視化中,ACF或pACF被繪制為滯后的函數(shù)。指示的水平藍色虛線表示自相關(guān)顯著的水平。

分解時間序列數(shù)據(jù)

  • St

  • Tt

  • ?t

執(zhí)行分解的方式取決于時間序列數(shù)據(jù)是加法還是乘法。

加法和乘法時間序列數(shù)據(jù)

加法模型假設(shè)數(shù)據(jù)可以分解為

另一方面,乘法模型假設(shè)數(shù)據(jù)可以被分解為

  • 加法:每個時期的季節(jié)效應相似。

  • 乘法:季節(jié)性趨勢隨時間序列的變化而變化。

AirPassengers數(shù)據(jù)集提供了乘法時間序列的示例。

data(AirPassengers)
plot(AirPassengers)

AirPassengers 數(shù)據(jù)集:

plot(log(AirPassengers))

正如我們所看到的,采用對數(shù)已經(jīng)使季節(jié)性成分的變化均衡。請注意,總體增長趨勢沒有改變。

在R中分解時間序列數(shù)據(jù)

要分解R中的時間序列數(shù)據(jù),我們可以使用該decompose函數(shù)。請注意,我們應該通過type參數(shù)提供時間序列是加法的還是乘法的。

示例1:AirPassengers數(shù)據(jù)集

對于AirPassengers數(shù)據(jù)集,我們指定數(shù)據(jù)是乘法的并獲得以下分解:

plot(decompose(AirPassengers, type = "multiplicative"))

分解表明,多年來航空公司乘客總數(shù)在增加。此外,我們已經(jīng)觀察到的季節(jié)性影響已被清楚地捕捉到。

示例2:EuStockMarkets數(shù)據(jù)集

讓我們考慮可以EuStockMarkets數(shù)據(jù)集的分解:

daxData <- EuStockMarkets\[, 1\] #數(shù)據(jù)似乎不是可乘的,請使用加法分解

decomposed <- decompose(daxData, type = "additive")
plot(decomposed)

該圖顯示了1992年至1998年的DAX數(shù)據(jù)中的以下內(nèi)容:

  • 整體價格穩(wěn)步上升。

  • 季節(jié)性趨勢強烈:每年年初,股價相對較低,并在夏季結(jié)束時達到相對最大值。

  • 除1997年和1998年之間的最終測量外,隨機噪聲的影響可以忽略不計。

平穩(wěn)與非平穩(wěn)過程

生成時間序列數(shù)據(jù)的過程可以是平穩(wěn)的也可以是非平穩(wěn)的。例如,數(shù)據(jù)EuStockMarketsAirPassengers數(shù)據(jù)都是非平穩(wěn)的,因為數(shù)據(jù)有增加的趨勢。為了更好地區(qū)分平穩(wěn)和非平穩(wěn)過程,請考慮以下示例:

par(mfrow = c(1,2))#
data(nino)
x <- nino3.4
plot(x, main = "Stationary process")# 飛機旅客數(shù)據(jù)
plot(AirPassengers, main = "Non-stationary process")

左圖顯示了一個平穩(wěn)過程,其中數(shù)據(jù)在所有測量中表現(xiàn)相似。右圖顯示了一個非平穩(wěn)過程,其中平均值隨著時間的推移而增加。

介紹了與時間序列數(shù)據(jù)分析相關(guān)的最重要概念后,我們現(xiàn)在可以開始研究預測模型。

ARMA模型

ARMA代表自回歸移動平均模型。ARMA模型僅適用于平穩(wěn)過程,并具有兩個參數(shù):

  • p:自回歸(AR)模型的階數(shù)

  • q:移動平均(MA)模型的階數(shù)

使用backshift運算符制定ARMA模型

使用backshift運算符,我們可以通過以下方式制定ARMA模型:

通過定義

,ARMA模型簡化為

ARIMA模型

總之,ARIMA模型具有以下三個參數(shù):

  • p:自回歸(AR)模型的階數(shù)

  • d:差分階數(shù)

  • q:移動平均(MA)模型的階數(shù)

在ARIMA模型中,通過將替換差分,將結(jié)果轉(zhuǎn)換為差分yt

然后通過指定模型

在下文中,讓我們考慮ARIMA模型的三個參數(shù)的解釋。

自回歸的影響

我們可以使用該arima.sim函數(shù)模擬自回歸過程。通過該函數(shù),可以通過提供要使用的MA和AR項的系數(shù)來指定模型。在下文中,我們將繪制自相關(guān)圖,因為它最適合于發(fā)現(xiàn)自回歸的影響。

第一個例子表明,對于ARIMA(1,0,0)過程,階數(shù)1的pACF非常高,而對于ARIMA(2,0,0)過程,階數(shù)1和階數(shù)2自相關(guān)都很重要。因此,可以根據(jù)pACF顯著的最大滯后來選擇AR項的階數(shù)。

 差分的影響

ARIMA(0,1,0)模型簡化為隨機游走模型

以下示例演示了差分對AirPassengers數(shù)據(jù)集的影響:

雖然第一個圖表顯示數(shù)據(jù)顯然是非平穩(wěn)的,但第二個圖表明差分時間序列是相當平穩(wěn)的。

其中當前估計值取決于先前測量值的殘差。

移動平均MA的影響

可以通過繪制自回歸函數(shù)來研究移動平均的影響:

請注意,對于自回歸圖,我們需要注意第一個x軸位置表示滯后為0(即標識向量)。在第一個圖中,只有第一個滯后的自相關(guān)是顯著的,而第二個圖表明前兩個滯后的自相關(guān)是顯著的。為了找到MA的階數(shù),適用與AR類似的規(guī)則:MA的階數(shù)對應于自相關(guān)顯著的最大滯后期。

在AR和MA之間進行選擇

為了確定哪個更合適,AR或MA,我們需要考慮ACF(自相關(guān)函數(shù))和PACF(偏ACF)。

AR和MA的影響

AR和MA的組合得到以下時間序列數(shù)據(jù):

 SARIMA模型

  • P:季節(jié)性自回歸(SAR)項的階數(shù)

  • D:季節(jié)差分階數(shù)

  • q:季節(jié)性移動平均線(SMA)的階數(shù)

ARIMAX模型

R中的預測

auto.arima`forecast`

SARIMA模型用于平穩(wěn)過程

我們將使用數(shù)據(jù)展示ARMA的使用,該數(shù)據(jù)tseries給出了Nino Region 3.4指數(shù)的海面溫度。讓我們驗證數(shù)據(jù)是否平穩(wěn):

d=0

為了驗證是否存在任何季節(jié)性趨勢,我們將分解數(shù)據(jù):

沒有整體趨勢,這是平穩(wěn)過程的典型趨勢。但是,數(shù)據(jù)存在強烈的季節(jié)性因素。因此,我們肯定希望包含對季節(jié)性影響進行建模的參數(shù)。

季節(jié)性模型

對于季節(jié)性模型,我們需要指定額外的參數(shù)參數(shù)(P,D,Q)S。由于季節(jié)性趨勢在時間序列數(shù)據(jù)中不占主導地位,我們將設(shè)置D=0。此外,由于尼諾數(shù)據(jù)中的季節(jié)性趨勢是一種年度趨勢,我們可以設(shè)置S=12個月。為了確定季節(jié)性模型的其他參數(shù),我們考慮季節(jié)性成分的圖。

我們設(shè)置P=2 Q=0

非季節(jié)性模型

對于非季節(jié)性模型,我們需要找到p和q。為此,我們將繪制ACF和pACF來確定AR和MA參數(shù)的值。

我們可以使用包中的Arima函數(shù)來擬合模型forecast。

我們現(xiàn)在可以使用該模型來預測未來Nino 3.4地區(qū)的氣溫如何變化。有兩種方法可以從預測模型中獲得預測。第一種方法依賴于predict函數(shù),而第二種方法使用包中的forecast函數(shù)。使用該predict功能,我們可以通過以下方式預測和可視化結(jié)果:

## 
## Attaching package: 'ggplot2'
## The following object is masked from 'package:forecast':
## 
##     autolayer

如果我們不需要自定義繪圖,我們可以使用以下forecast函數(shù)輕松地獲取預測和相應的可視化:

# 使用內(nèi)置繪圖功能:
forecast <- forecast(A, h = 60) # 預測未來5
plot(forecast)

用于非平穩(wěn)數(shù)據(jù)的ARIMA模型

為了演示ARIMA模型對非平穩(wěn)數(shù)據(jù)的使用,我們將使用數(shù)據(jù)集astsa。該數(shù)據(jù)集提供全球平均陸地 - 海洋溫度偏差的年度測量值。

d=1

p=0q=1

我們現(xiàn)在可以預測未來幾年平均陸地 - 海洋溫度偏差將如何變化:

該模型表明,未來幾年平均陸地 - 海洋溫度偏差將進一步增加。

關(guān)于空氣質(zhì)量數(shù)據(jù)集的ARIMAX

為了展示ARIMAX模型的使用,我們將使用臭氧數(shù)據(jù)集 。

讓我們加載臭氧數(shù)據(jù)集并將其劃分為測試和訓練集。請注意,我們已確保訓練和測試數(shù)據(jù)包含連續(xù)的時間測量。

為此,我們將在臭氧數(shù)據(jù)集中創(chuàng)建一個新列,該列反映了相對時間點:

現(xiàn)在我們有了時間維度,我們可以繪制臭氧水平:

時間序列數(shù)據(jù)似乎是平穩(wěn)的。讓我們考慮ACF和pACF圖,看看我們應該考慮哪些AR和MA

自相關(guān)圖非常不清楚,這表明數(shù)據(jù)中實際上沒有時間趨勢。因此,我們會選擇ARIMA(0,0,0)模型。由于具有參數(shù)(0,0,0)的ARIMAX模型沒有傳統(tǒng)線性回歸模型的優(yōu)勢,我們可以得出結(jié)論,臭氧數(shù)據(jù)的時間趨勢不足以改善臭氧水平的預測。讓我們驗證一下:

print(Rsquared.linear)
## \[1\] 0.7676977


``````
print(Rsquared.temporal)


``````
## \[1\] 0.7569718

我們可以看到具有負二項式概率線性模型優(yōu)于ARIMAX模型。

關(guān)于空氣質(zhì)量數(shù)據(jù)集的ARIMAX

要在更合適的數(shù)據(jù)集上演示ARIMAX模型,讓我們加載數(shù)據(jù)集:

Icecream數(shù)據(jù)集包含以下變量:

  • 消費冰淇淋消費量。

  • 收入:平均每周家庭收入。

  • 價格:每個冰淇淋的價格。

  • temp:華氏溫度的平均溫度。

測量結(jié)果是從1951-03-18到1953-07-11的四周觀測。

我們將模擬消費,冰淇淋消費作為時間序列,并使用_收入_,_價格_和_平均值_作為外生變量。在開始建模之前,我們將從數(shù)據(jù)框中創(chuàng)建一個時間序列對象。

我們現(xiàn)在調(diào)查數(shù)據(jù):

因此,數(shù)據(jù)有兩種趨勢:

  1. 總體而言,1951年至1953年間,冰淇淋的消費量大幅增加。

  2. 冰淇淋銷售在夏季達到頂峰。

由于季節(jié)性趨勢,我們可能擬合ARIMA(1,0,0)(1,0,0)模型。但是,由于我們知道溫度和外生變量的收入,因此它們可以解釋數(shù)據(jù)的趨勢:

income解釋了整體趨勢。此外,temp解釋了季節(jié)性趨勢,我們不需要季節(jié)性模型。因此,我們應該使用ARIMAX(1,0,0)模型進行預測。為了研究這些假設(shè)是否成立,我們將使用以下代碼將ARIMAX(1,0,0)模型與ARIMA(1,0,0)(1,0,0)模型進行比較

ARIMAX(1,0,0)模型的預測顯示為藍色,而ARIMA(1,0,0)(1,0,0)模型的預測顯示為虛線。實際觀察值顯示為黑線。結(jié)果表明,ARIMAX(1,0,0)明顯比ARIMA(1,0,0)(1,0,0)模型更準確。

但請注意,ARIMAX模型在某種程度上不像純ARIMA模型那樣有用于預測。這是因為,ARIMAX模型需要對應該預測的任何新數(shù)據(jù)點進行外部預測。例如,對于冰淇淋數(shù)據(jù)集,我們沒有超出1953-07-11的外生數(shù)據(jù)。因此,我們無法使用ARIMAX模型預測超出此時間點,而ARIMA模型可以實現(xiàn):

如果您有任何疑問,請在下面發(fā)表評論。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
第28章 如何用SAS實現(xiàn)時間序列分析
時間序列分析模型
27、python時間序列預測(ARIMA模型案例代碼)
時間序列模型:ARIMA
時間序列預測-ARIMA模型
ZZ時間序列分析_好學近乎知,力行近乎仁,知恥近乎勇
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服