本章介紹第一類非常重要的模型:自回歸滑動平均模型(ARMA)。在真實案例中,ARMA模型也被高頻的使用到,更是后面模型的基礎,反正,時間序列是繞不過去ARMA模型的。
2.1 一般線性過程
ARMA模型屬於一大類過程(模型),即一般線性過程。一聽到線性過程,是不是就覺得不難了? 事實也是如此,別怕,干!
那什么叫線性過程呢?對一時間序列\(\{Y_t\}\),比如就是2017年06月 27日的上證指數。則其可表示成現在與過去白噪聲的加權線性組合:
\[Y_t = e_t + \psi_1e_{t-1} + \psi_2e_{t-2} + \dots \quad t = 0,\pm1,\pm2,\dots \]
其中{\(e_t\)}代表白噪聲序列,\(\{\psi_j\} = \{\psi_j : j = 0,1,2,…\}\)為一實數列(可認為\(\psi_0\)為1)。考慮到收斂問題,需加一個限制條件:\(\sum_{j =0}^{\infty} \psi_j^2 <+\infty\)。
2.2 滑動平均過程
2.2.1 一階滑動平均過程
在介紹ARMA模型前,先介紹一些它的簡化版本,這樣循序漸進,慢慢深入,痛苦也會少一點,快樂也就多一點。
最先介紹的當然是滑動平均(Moving Average, MA),而且是滑動平均的最簡版:一階滑動平均。
對於一階滑動平均{\(X_t\)}:
\[X_t = e_t + \theta e_{t-1} \quad t = 0,\pm1,\pm2,\dots \]
通常稱{X~t~} 為MA(1)序列。
接下來要探討統計特征啦(以后,再學習一些模型時,都會經歷這一步,其實這才是重點啊,因為這些特征告訴我們模型的特性,那也就暗示了模型的應用場景啊!當然,從應用的層面,也不需要你知道怎么推導,故只需關注每個公式最后的等號就可以了,當然如果想加深理解、記憶,每個公式仔細看是有必要的)
\[E(Y_t) = E(e_t + \theta e_{t-1}) = 0 \]
\[varX_t = var(e_t + \theta e_{t-1}) = \sigma^2(1 + \theta^2) \]
\[cov(X_t,X_{t-1}) = cov(e_t + \theta e_{t-1}, e_{t-1} + \theta e_{t-2}) = \theta \sigma^2 \]
\[cov(X_t,X_k) = cov(e_t+\theta e_{t-1}, e_k + \theta e_{k-1}) = 0, \quad k \ge 2. \]
因此,對於MA(1),自協方差函數\(\gamma_k\)和自相關系婁\(\rho_k\):
\[\left. \begin{aligned} \gamma_0 = \sigma^2(1+\theta^2),\quad \rho_0 = 1\\ \gamma_1 = \theta \sigma^2,\quad \rho_1 = \frac{\theta}{1+\theta^2}\\ \gamma_k = 0,\quad \rho_k = 0, k\ge 2. \end{aligned} \right\} \]

2.2.2 q階滑動平均— MA(q)序列
任給定q個實數\(\theta_1,\theta_2,\dots,\theta_q(\theta q \ne 0)\),則MA(q) {\(X_t\)}序列:
\[X_t = e_t +\theta_1 e_{t-1} + \theta_2 e_{t-2}+ \dots+\theta_q e_{t-q},\quad t = 0,\pm1,\pm2,\dots \]
可見,MA(q)與MA(1)是非常類似的,只不過有變得繁瑣而已(注意,是‘繁’不是‘難’)。
比如處協方差函數\(\gamma_k\)和自相關函數\(\rho_k\)( 因\(e_t\)系數為一,自然地,約定\(\theta_0 = 1\)):
\[\gamma_k = \left\{ \begin{aligned} \sigma^2(\theta_k + \theta_1\theta_k+\dots + \theta_{q - k}\theta_q), &\quad& 0\le k \le q\\ 0,\quad \quad \quad \quad \quad &\quad& k > q. \end{aligned} \right. \]
\[\rho_k = \left\{ \begin{aligned} \frac{\theta_k + \theta_1\theta_k+\dots + \theta_{q - k}\theta_q}{1+\theta_1^2+\dots+\theta_q^2}, &\quad& 0\le k \le q\\ 0,\quad \quad \quad \quad \quad &\quad& k > q. \end{aligned} \right. \]
為使上面的等式可識別(‘可識別’ 可簡單的理解為參數可估)需加一些限制,比如:
\[1 + \theta_1 z +\theta_2 z^2 +\dots + \theta_q z^q \ne 0, |z|\le 1. \]
當然,這個條件對等式成立本身沒有影響,只是為了參數可識別而已,對於應用來說,其實可忽略,因為實際應用時,默認參數可識別,如果最終結果不符,我們就會換到其他模型了(尷尬~)。這也是學院派與經驗派(或務實派)的一個區別吧。
2.3平穩自回歸過程
另一個ARMA的簡化版即為自回歸(Auto Regression,AR)過程。如MA我們先介紹一階自回歸(AR(1))開始。
2.3.1 一階自回歸過程
對於一階自回歸序列{\(X_t\)}(AR(1)):
\[X_t - \phi X_{t-1} =e_t, \quad t = 0,\pm1,\pm2,\dots \]
其中白噪聲{\(e_t\)} ~ WN(0,\(\sigma^2\)),也被稱為新息項,因其是過去所不包含的,新加入的;\(|\phi| <1\), 否則會發生‘爆炸’,可以很容易知道,忽略白噪聲,上式就是一個以\(\phi\)為等比的數列,假設 \(\phi = 1.5\)咱們來看下(9)式的一段圖像(假設\(X_0 = 0\)):

上圖可以看到,t還沒到20, X~t~ 已經達到-1000了。
正如剛剛提到,AR序列類似等比數列:
\[\begin{aligned} X_t & = \phi X_{t-1} +e_t &\\ & = e_t + \phi(\phi X_{t-2} + e_{t-1})&\\ & = e_t + \phi e_{t-1} + \phi^2 X_{t-2}&\\ &\vdots \quad \quad \quad \vdots \quad\quad \quad \vdots&\\ & = \sum_{i = 0}^N \phi^ie_{t-i} + \phi^{N+1} X_{t - N - 1}, \ (N \ge 1)& \end{aligned} \]
注意,這里還是要求\(|\phi|<1\).
於是:
\[X_t = \sum_{i = 0}^\infty \phi^ie_{t-i},\quad t = 0,\pm1,\pm2,\dots \]
故,{\(X_t\)}又被稱為指數平滑序列。
對(9)式可寫成:
\[X_t = \phi X_{t-1} +e_t \]
對兩邊求方差即可得到:
\[\gamma_0 = \phi^2 \gamma_0 + \sigma^2 \]
對\(\gamma_0\)求解:
\[\gamma_0 = \frac{\sigma^2}{1 - \phi^2} \]
\[\begin{aligned} \gamma_k & = E(X_tX_{t-k}) - EX_tEX_{t-k}&\\ & = E\left(\sum_{i = 0}^{\infty}\phi^ie_{t-i}\sum_{j = 0}^{\infty}\phi^j e_{t-k-j}\right) - 0&\\ & = E\left( \sum_{i = 0}^{\infty}\sum_{j=0}^\infty\phi^{i+j}e_{t-i}e_{t-k-j}\right)\\ & = \sum_{i = 0}^{\infty}\sum_{j = 0}^{\infty}\phi^{i +j}E(e_{t-i}e_{t-k-j})&\\ & = \sum_{j = 0}^{\infty}\phi^{j+k+j} \sigma^2\quad (其實這里有個trick,即 i = j +k)&\\ & = \phi^k \frac{\sigma^2}{1 - \phi^2} = \phi^k \gamma_0. \quad k = 0,1,2,\dots \end{aligned} \]
再強調一遍,如果只是想了解下時間序列,只是想應用,那就只關注等式的最后一個等號就可以了。
上式為自協方差函數,根據\(\gamma_k\),可求得:
\[\rho_k = \frac{\gamma_k}{\gamma_0} = \phi^k,\quad k = 0,1,2,\dots \]
2.3.2 p階平穩自回歸序列
怎么樣,公式有點多,醉沒醉?可以休息下再看,什么再來一壺,OK!AR(p)繼續!
AR(p)序列\(\{X_t\}\):
\[X_t - \phi _1X_t - \dots -\phi_p X_t-p = e_t,\quad t = 0,\pm1,\pm2,\dots \]
其中\(\phi_1,\phi_2,…\phi_p\)為p個實數,平穩性條件:\(1 - \phi_1z - \dots\phi_pz^p \ne 0,\ \ |z|\le 1\)
對於線性表示,經過‘不太復雜’的推導,可得:
\[X_t = e_t + \psi_1 e_{t-1} + \psi_2 e_{t-2} +\dots \]
其中系數\(\{\psi_j : j = 1,2,\dots\}\)由下式確定:
\[\frac{1}{1 - \phi_1 z -\dots - \phi_p z^p} = 1 + \psi_1z + \psi_2 z^2 + \dots \]
利用{\(X_t\)}的線性表式(16)式,可得一個重要等式:
\[E(X_{t-k}e_t) = 0, \quad k = 1,2,\dots \]
下面來求解AR(p)序列的自相關系數\(\rho_k\):
在(15)式兩邊同乘\(X_{t-k}, (K \ge 1)\),
\[X_tX_{t-k} - \phi_1 X_{t-1}X_{t-k} - \dots - \phi_pX_{t-p}X_{t-k} = X_{t-k}e_t \]
兩邊同求數學期望:
\[\gamma_k - \phi_1 \gamma_{k-1} - \dots - \phi_p\gamma_{k -p} = 0, k = 1,2,\dots \]
同除\(\gamma_0\):
\[\rho_k = \phi_1\rho_{k-1} + \dots + \phi_p\rho_{k-p}, k =1,2,\dots \]
分別令 \(k = 1,2,\dots,p\),可得如下線性方程組:
\[\left. \begin{aligned} \rho_ 1& =& \phi_1+\phi_2\rho_1 + \dots + \phi_p\rho_{p-1}\\ \rho_2 & = & \phi_1\rho_1 + \phi_2 +\dots+\phi_p\rho_{p-2}\\ &\vdots& \vdots \quad\quad \vdots\quad\quad\vdots\quad\quad\\ \rho_{p-1}& =& \phi_1\rho_{p-2}+\phi_2\rho_{p-3} +\dots+\phi_p\rho_1\\ \rho_p &=&\phi_1\rho_{p-1} + \phi_2\rho_{p-2}+\dots+\phi_{p}\quad \end{aligned} \right\} \]
這就是著名的Yule-Walker方程。
上式寫成矩陣形式更方便記憶:
\[\left( \begin{aligned} 1\quad\rho_1\quad\dots\quad\rho_{p-1}\\ \rho_1\quad1\quad\dots\quad\rho_{p-2}\\ \vdots\quad\quad\vdots\quad\quad\vdots\quad\quad\vdots\\ \rho_{p-1}\quad\rho_{p-2}\quad\dots\quad1\\ \end{aligned} \right) \left(\begin{aligned} \phi_1\\ \phi_2\\ \vdots\ \\ \phi_p\\ \end{aligned} \right) = \left(\begin{aligned} \rho_1\\ \rho_2\\ \vdots\ \\ \rho_p\\ \end{aligned} \right) \]
全是公式?!怎么搞?!舉了例子唄:
例:設AR(2)序列{X~T~}:
\[X_t - X_{t-1} +\frac{1}{4} X_{t-2} = e_t,\quad t =0,\pm1,\pm2,\dots \]
其中\(\{e_t\} \sim WN(0,1)\). 試求\(\{X_t\}\)的自相關系數\(\rho_1,\rho_2\).
解:
可知:\(\phi_1=1,\phi_2 = -\frac{1}{4}\).
則:
\[\left( \begin{aligned} 1\quad\rho_1\\ \rho_1\quad1\\ \end{aligned} \right) \left(\begin{aligned} \phi_1\\ \phi_2\\ \end{aligned} \right) = \left(\begin{aligned} \rho_1\\ \rho_2\\ \end{aligned} \right) \]
解得:
\[\rho1 = \frac{4}{5},\rho2 = \frac{11}{20} \]
對時間序列建模,我們一般是要求回歸參數\(\phi_k\)的。此問題對於MA(q)序列並不平凡,但對AR(p)序列,就相對容易得多,這也是為什么AR(p)序列更加常用的原因。有些同學可能會說,不就是對Yule-Walker方程求解嘛,比如矩陣形式,求個逆就OK了,Bingo!答對了,but,上面式子中的自相關系數\(\rho_k\)是用\(\phi_k\)表示的,低階可能還好解,高階就等着崩潰吧,所以實際數值計算過程中,並不用這種理論上可行,但實際難於操作的方式,而是用一種叫遞推迭代算法(Durbin-Levinson算法)。
這里只給出公式就夠了:
\[\left. \begin{array} \\ \phi_{1,1} = \rho_1,\\ \phi_{k+1,k+1} = \frac{\rho_{k+1}-\phi_{k,1}\rho_k - \dots-\phi_{k,k}\rho_1}{1-\phi_{k,1}\rho_1-\dots-\phi_{k,k}\rho_k},\quad 1\le k\le p -1\\ \phi_{k+1,j} = \phi_{k,j} - \phi_{k+1,k+1}\phi_{k,k+1-j}, \quad 1\le j\le k \end{array} \right\} \]
2.4 平穩自回歸滑動平均序列
Finaly, 終於到了自回歸滑動平均(Auto Regression Moving Average,ARMA(p,q))序列{\(X_t\)},當然上面也都是ARMA序列,只不過是簡化版本而已。
ARMA(p,q)序列是滿足下面差分方程的序列(參數意義同上):
\[X_t - \phi_1X_{t-1} - \dots-\phi_pX_{t-p} = e_t +\theta_1e_{t-1} +\dots+\theta_qe_{t-q} \]
為了可識別,需有些限制條件:
\[\left. \begin{array} \Phi(z) = 1 -\phi_1z - \dots-\phi_pz^p\ne 0, |z| \le 1\\ \Theta(z) = 1+\theta_1z+\dots+\theta_qz^q \ne 0,|z|\le 1\\ \quad\quad\quad\quad\quad\Phi(z) 與\Theta(z)互質 \end{array} \right\} \]
2.5 總結
今天講了ARMA(p,q)模型,這個模型其實還是基礎模型,但我與大家同感,盡管是基礎模型,可還是很復雜,沒辦法,時間序列這一數據類型決定了其相關的模型是不平凡的。
不過,也不用擔心,雖然公式多了點(是在我盡力規避不必要公式后,還有這么多,😢),你只需要知道每個公式最后的等號就好了(這是第三遍了,足見其重要😜)。
模型邏輯還是清晰的,AR,MA,弄懂,ARMA可簡單理解成二者的合並(雖然推導方式不一樣了),這樣便於理解。模型階數實際中一般不會很大,所以也不用擔公式復雜,不易應用。
最后一句: Hold住,也許下一個改世界的人就是你。