時(shí)間序列模型簡(jiǎn)介

目錄

  1. 平穩(wěn)序列
  2. 判斷樣本的平穩(wěn)性
  3. 時(shí)間序列模型
  4. 參數(shù)選擇
  5. 實(shí)驗(yàn)代碼

1. 平穩(wěn)序列

時(shí)間序列是一列觀測(cè)值X_t的集合, 其中每個(gè)觀測(cè)值是在時(shí)段t觀測(cè)所得(t是自然數(shù) ). 給定時(shí)間序列\{X_t\}_{t=1}^n, 如果對(duì)任意的t=1,\ldots,n, 它滿足下列條件:
i. \text{var}(X_t)<\infty
ii. \mathbb{E}(X_t) = \mu
iii. \text{cov}(X_r, X_s) = \text{cov}(X_{r+t}, X_{s+t}), \forall r,s = 1, ..., n
我們把它叫做(弱)平穩(wěn)(weakly stationary)序列.(下文我們簡(jiǎn)稱平穩(wěn)序列.)

通俗地講, 平穩(wěn)序列的期望, 方差, 協(xié)方差不隨時(shí)間變化. 例如, X_t服從同一個(gè)分布時(shí), 它是平穩(wěn)的.

例1 下圖中的時(shí)間序列由X_t\sim N(2, 1)生成. 從直觀上看, 這個(gè)序列是"平穩(wěn)的".

Fig1. 平穩(wěn)的時(shí)間序列

例2 下圖的中的時(shí)間序列由X_t= 2 + 0.9X_{t-1}+W_t生成, 其中X_0=0, W_t= N(0, 1). 它起初有明顯地增長(zhǎng), 然后趨于平穩(wěn). 利用ADF檢驗(yàn)(詳情見下文), 我們發(fā)現(xiàn)該序列是平穩(wěn)的(p-value < 0.01).

Fig2. 平穩(wěn)的時(shí)間序列

Remark 弱平穩(wěn)性的"弱"主要體現(xiàn)在時(shí)間序列在全局上是平穩(wěn)的, 即,時(shí)間序列局部是波動(dòng)的,但整體上看是平穩(wěn)的, 或者隨著時(shí)間的變化其樣本的均值收斂.

2. 判斷樣本的平穩(wěn)性

我們用統(tǒng)計(jì)學(xué)中假設(shè)檢驗(yàn)的方法來判斷樣本的平穩(wěn)性. 常用的是Augmented Dickey-Fuller(ADF)檢驗(yàn)[1].

  • Null Hypothesis(H_0): 樣本中存在unit root[2]. 如果接受H_0, 則意味著樣本是非平穩(wěn)的.
  • Alternate Hypothesis(H_1): 樣本中不存在unit root. 如果拒絕H_0, 則意味著樣本是平穩(wěn)的.

在顯著水平\alpha=0.05的條件下, 我們可以通過計(jì)算p-value來接受或者拒絕H_0:

  • \text{p-value} > 0.05: 接受H_0.
  • \text{p-value} \leq 0.05: 拒絕H_0.

Python3中statsmodels.tas.stattools中的adfuller函數(shù)[3]實(shí)現(xiàn)了ADF檢驗(yàn). 使用方法如下所示.

from statsmodels.tsa.stattools import adfuller


def test_stationarity(data, alpha=0.05, print_detail=True):
    """ Test stationarity of time series data.
    :param data: time series data, formatted as list
    :param alpha: significance level.
    :param print_detail: if True print additional information. 
    """
    result = adfuller(data)
    is_stationary = True if result[1] <= alpha else False
    if print_detail:
        print('ADF statistic: %f' % result[0])
        print('p-value: %f' % result[1])
        print('critical values:')
        for key, value in result[4].items():
            print('\t%s: %.3f' % (key, value))
    return is_stationary

3. 時(shí)間序列模型

前面之所以介紹平穩(wěn)序列的概念及檢驗(yàn)方法, 是因?yàn)樗呛芏嗷A(chǔ)的時(shí)間序列模型的前提假設(shè). 在本節(jié)我們介紹一些常見的時(shí)間序列模型(更多內(nèi)容可以參考[4], [5]).

AR(p)

AR代表自回歸(Autoregression). 假設(shè)時(shí)間序列\{X_t\}是平穩(wěn)的, 它可以被表示成如下形式:
X_t = \delta + \sum_{i=1}^p \phi_iX_{t-i} + W_t.

  • \delta是常數(shù).
  • W_t\overset{\text{iid}}{\sim} N(0, \sigma^2), 它表示時(shí)段t的誤差(隨機(jī)變量).
  • p代表自回歸階數(shù).

MA(q)

MA代表移動(dòng)平均(Moving Average). 假設(shè)時(shí)間序列\{X_t\}是平穩(wěn)的, 它可以被表示成如下形式:
X_t = \delta + \sum_{i=1}^q \theta_iW_{t-i} + W_t.

  • \delta是常數(shù).
  • W_t\overset{\text{iid}}{\sim} N(0, \sigma^2), 它表示時(shí)段t的誤差(隨機(jī)變量).
  • q代表移動(dòng)平均階數(shù).

ARMA(p,q)

ARMA模型是AR和MA的組合. 假設(shè)同上. 它可以被表示為如下形式:
X_t = \delta + \sum_{i=1}^p \phi_iX_{t-i} + \sum_{i=1}^q \theta_iW_{t-i} + W_t.

  • p是自回歸階數(shù)
  • q是移動(dòng)平均階數(shù)

ARIMA(p,d,q)

ARIMA模型是ARMA模型的推廣, 全稱是Autoregressive Integrated Moving Average. 當(dāng)時(shí)間序列\{X_t\}不滿足平穩(wěn)性時(shí), 我們通常使用差分的技巧把序列變得平穩(wěn), 然后再應(yīng)用ARMA模型.

參數(shù)d代表差分的階數(shù). 下面是差分的計(jì)算公式(\Delta為差分算子):

  • 一階差分 \Delta X_t = X_t - X_{t-1}
  • 二階差分 \Delta^{(2)} X_t = \Delta(X_t-X_{t-1}) = X_t - 2X_{t-1}+X_{t-2} = (1-\Delta)^2X_t
  • d階差分 \Delta^{(d)} X_t = (1-\Delta)^dX_t

例3 下圖是原始的時(shí)間序列. 通過觀察, 它的均值有明顯的上升趨勢(shì)且不收斂, 因此不是平穩(wěn)序列(ADF檢驗(yàn)的p-value為0.94).

對(duì)該序列進(jìn)行一階差分后, 我們得到如下平穩(wěn)的時(shí)間序列(p-value為0.00).

ARIMA(p,d,q)\times(P,D,Q,s)

該記號(hào)代表季節(jié)性(或周期性)ARIMA模型, 詳細(xì)的表達(dá)式可以參考[4](4.1 Seasonal ARIMA models), 其中

  • p,d,q的意義同上.
  • P代表周期性自回歸階數(shù)(前P個(gè)周期對(duì)應(yīng)觀測(cè)值的自回歸).
  • D代表周期性差分階數(shù).
  • Q代表周期性移動(dòng)平均階數(shù)(前Q個(gè)周期對(duì)應(yīng)的移動(dòng)平均).
  • s代表一個(gè)周期的長(zhǎng)度.

我們可以把它看成兩階段模型: 第一階段在全局使用ARIMA(p,d,q); 第二階段通過指定周期長(zhǎng)度s, 再利用ARIMA(P,Q,D)模型考慮周期之間的關(guān)系.

例4 考慮如下周期性的平穩(wěn)時(shí)間序列(s=18).

season.png

對(duì)序列進(jìn)行周期性差分: Y_t = X_t - X_{t-18}得到新的時(shí)間序列\{Y_t\}如下圖所示(紅色部分)

deseason.png

通過使用周期性差分, 我們可以把原有時(shí)間序列的周期性移除. 同理, 通過采用周期性的自回歸和移動(dòng)平均系數(shù), 我們可以把周期之間的依賴關(guān)系考慮進(jìn)模型.

例5 考慮周期s=18的數(shù)據(jù)(藍(lán)色曲線). 用\text{ARIMA}(1,0, 0)\text{ARIMA}(1, 0, 0)\times(0, 1, 0, 18)分別進(jìn)行預(yù)測(cè)的結(jié)果如下.

不考慮周期性的ARIMA模型的預(yù)測(cè)結(jié)果(灰色曲線)逐漸收斂到時(shí)間序列的均值. 由于序列是平穩(wěn)的, 這樣的預(yù)測(cè)結(jié)果符合我們的期望. 考慮到該時(shí)間序列有比較強(qiáng)的周期性, 且通過觀察發(fā)現(xiàn)周期s=18. 在本例中, 我們僅使用周期差分, 最終得到了如圖所示(紅色曲線)的周期性預(yù)測(cè)結(jié)果.

ARCH(p)

ARCH的全稱是Autoregressive Conditionally Heteroscedasticity, 它可以用來考慮樣本的方差隨著時(shí)間變化(或震蕩)的時(shí)間序列. 設(shè)時(shí)間序列\{X_t\}是平穩(wěn)的, \text{ARCH}(p)模型可以被表示成如下形式:

X_t = \sigma_tW_t,\quad W_t \overset{\text{iid}}{\sim} N(0,1)
其中
\sigma_t^2 = \alpha_0 + \sum_{i=1}^p \alpha_iX_{t-i}^2.

  • p代表X_t^2的自回歸階數(shù).

GARCH(p,q)

GARCH即Generalized ARCH, 是ARCH模型的推廣[6]. 設(shè)時(shí)間序列\{X_t\}是平穩(wěn)的, \text{GARCH}(p,q)模型可以被表示成如下形式:
X_t = \sigma_tW_t,\quad W_t \overset{\text{iid}}{\sim} N(0,1)
其中
\sigma_t^2 = \alpha_0 + \sum_{i=1}^p \alpha_iX_{t-i}^2 + \sum_{i=1}^q \beta_i\sigma^2_{t-i}.

  • p代表X_t^2的自回歸階數(shù).
  • q代表\sigma_t^2的移動(dòng)平均階數(shù).

Remark ARCH/GARCH隨機(jī)過程產(chǎn)生的數(shù)據(jù)是什么樣的? 前面提到它們?cè)试S樣本的方差隨時(shí)間變化, 但是由于\{X_t\}必須滿足平穩(wěn)性(前提假設(shè)), 因此樣本的方差從局部看是變化(震蕩)的, 但從整體看應(yīng)該是"平穩(wěn)的"序列. 例如下圖是一個(gè)\text{GARCH}(1,1)過程生成的時(shí)間序列(\alpha_0=5, \alpha_1=\beta_1=0.5).

VAR(p)

VAR即Vector Autoregression, 它是多變量的自回歸模型. 類似地, 我們有\text{VARMA}(p, q), 它是\text{ARMA}(p,q)的向量版本. 需要注意的是, VARMA模型處理的時(shí)間序列可以有趨勢(shì). 我們不做詳細(xì)的展開, 感興趣的讀者可以參考[4]章節(jié)11.2: Vector Autoregressive models VAR(p) models.

4. 參數(shù)選擇

給定時(shí)間序列的觀測(cè)樣本, 選定預(yù)測(cè)模型之后如何確定模型的參數(shù)? 本節(jié)我們介紹兩種常用的方法: 1. 畫出ACF/PACF圖, 然后觀察出p,q的值; 2. 通過計(jì)算相關(guān)的統(tǒng)計(jì)指標(biāo), 自動(dòng)化地選擇參數(shù).

4.1 觀察ACF/PACF

ACF

ACF的全稱是Autocorrelation Function. 對(duì)變量h=1,2, ..., ACF的值代表X_tX_{t-h}之間的相關(guān)性.
\text{ACF}(h) = \frac{\text{cov}(X_t, X_{t-h})}{\text{var}(X_t)}

PACF

PACF的全稱是Partial Autocorrelation Function. 對(duì)變量h=1,2,..., PACF的值代表已知X_{t-1}, ... X_{t-h+1}的條件 下, X_tX_{t-h}之間的相關(guān)性.
\text{PACF}(h) = \frac{\text{cov}(X_t,X_{t-h}|x_{t-1}, ... x_{t-h+1})}{\sqrt{\text{var}(X_t|x_{t-1}, ... x_{t-h+1})\text{var}(X_{t-h}|x_{t-1}, ... x_{t-h+1})}}

例6 設(shè)W_t\sim N(0, 1). 考慮下面三個(gè)模型生成的時(shí)間序列, 并計(jì)算相應(yīng)的ACF/PACF.

  1. \text{AR}(1): X_t=2 + 0.5X_{t-1}+W_t

  2. \text{MA}(1): X_t=2 + 0.5W_{t-1}+W_t

  3. \text{ARMA}(1,1): X_t=2 + 0.5X_{t-1}+ 0.5W_{t-1}+W_t

指導(dǎo)原則(參考[4])
模型 ACF PACF 說明
AR(p) 逐漸趨近于0或像正弦曲線一樣收斂到0 p個(gè)值非常顯著, 其余的值不顯著 p值主要參考PACF
MA(q) q個(gè)值非常顯著, 其余的值不顯著 逐漸趨近于0或像正弦曲線一樣收斂到0 q值主要參考ACF
ARMA(p,q) 逐漸趨近于0或像正弦曲線一樣收斂到0 逐漸趨近于0或像正弦曲線一樣收斂到0 p,q值靠猜

4.2 自動(dòng)化地決定參數(shù)

基本思想是通過計(jì)算一些指標(biāo), 并選擇參數(shù)使得相關(guān)的指標(biāo)值盡可能小. 下面我們介紹一些常用的指標(biāo).

為方便描述, 我們先定義一些記號(hào).

  • n = 樣本的大小
  • k = 模型中需要擬合的參數(shù)數(shù)量(例如正態(tài)分布有的數(shù)量是2: \mu\sigma)
  • L_{\max} = 通過最大似然估計(jì)得到的最大Likelihood
AIC(Akaike Information Criterion)[7]

\text{AIC} = 2k - 2\ln(L_{\max})

AICc[8]

(AIC的改良版, 解決小樣本過擬合的問題)
\text{AICc} = \text{AIC} + \frac{2k^2 + 2k}{n-k-1}

BIC(Bayesian Information Criterion)[9]

(也稱為Schwartz Criterion, SBC, SBIC)

\text{BIC} = \ln(n)k - 2\ln(L_{\max})

HQIC(Hannan–Quinn Information Criterion)[10]

\text{HQIC} = 2k\ln(\ln(n)) -2\ln(L_{\max})

Remark 建議在實(shí)際中綜合考慮這些指標(biāo).

5. 實(shí)驗(yàn)代碼

Python3 code on Github

參考文獻(xiàn)


  1. Wikipedia. Augmented Dickey-Fuller test. ?

  2. Dickey, D. A.; Fuller, W. A. Distribution of the Estimators for Autoregressive Time Series with a Unit Root. Journal of the American Statistical Association. 74(366): 427–431, 1979. ?

  3. https://www.statsmodels.org/dev/generated/statsmodels.tsa.stattools.adfuller.html ?

  4. Lecture notes of Applied Time Series Analysis (SATA 510). The Pennsylvania State University. ? ? ? ?

  5. Jan Grandell. Time series analysis (lecture notes). ?

  6. Bollerslev, T. Generalized autoregressive conditional heteroscedasticity. Journal of Econometrics, 31, 307–327, 1986. ?

  7. Hirotugu Akaike. A new look at the statistical model identification, IEEE Transactions on Automatic Control, 19 (6): 716–723, 1974. ?

  8. Wikipedia. https://en.wikipedia.org/wiki/Akaike_information_criterion#AICc. ?

  9. Schwartz E.S. The Stochastic Behavior of Commodity Prices: Implications for Valuation and Hedging'. J Finance 52(3) Papers and Proceedings Fifty-Seventh Annual Meeting, American Finance Association, New Orleans, Louisiana, 923-973, 1997. ?

  10. Hannan, E. J. and B. G. Quinn. The Determination of the order of an autoregression, Journal of the Royal Statistical Society, Series B, 41: 190–195, 1979. ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容