1. 程式人生 > >A Gentle Introduction to Autocorrelation and Partial Autocorrelation (譯文)

A Gentle Introduction to Autocorrelation and Partial Autocorrelation (譯文)

A Gentle Introduction to Autocorrelation and Partial Autocorrelation

原文作者:Jason Brownlee
原文地址:https://machinelearningmastery.com/gentle-introduction-autocorrelation-partial-autocorrelation/
譯者微博:@從流域到海域
譯者部落格:blog.csdn.net/solo95

自相關和偏自相關的簡單介紹

自相關(Autocorrelation)和偏自相關(partial autocorrelation)圖在時間序列分析和預測被廣泛應用。

這些圖以圖形方式總結了時間序列中的觀測值(observation)和先前時間步中的觀測值(observation)之間關係的強度。自相關和偏自相關之間的區別對於初學者進行時間序列預測來說可能是困難並且疑惑的。

在本教程中,您將瞭解如何使用Python計算和繪製自相關和偏自相關圖。

完成本教程後,您將知道:

  • 如何繪製和檢查時間序列的自相關函式。
  • 如何繪製和檢查時間序列的偏自相關函式。
  • 自相關與偏自相關函式在時間序列分析中的區別。

讓我們開始吧。

每日最低溫度資料集

這個資料集描述了澳大利亞墨爾本市十年(1981-1990)的每日最低溫度。

單位是攝氏度,共有3650個觀測值。資料的來源是澳大利亞氣象局。

瞭解更多資訊並從Dara Market下載該資料集

下載資料集並將其放在當前工作目錄中,檔案命名為“ daily-minimum-temperatures.csv ”。

注意:下載的檔案包含一些問號(“?”)字元,在使用資料集之前必須將其刪除。在文字編輯器中開啟檔案並刪除“?”字元。也請刪除該檔案中的任何頁尾資訊。

下面的例子將會載入“每日最低溫度資料集”並繪製時間序列圖。

from pandas import Series
from matplotlib import pyplot
series = Series.from_csv('daily-minimum-temperatures.csv'
, header=0) series.plot() pyplot.show()

執行該示例將資料集載入為Pandas Series,並建立一個時間序列的線圖。


每日最低溫度資料集圖

相關和自相關

統計相關性總結了兩個變數之間關係的強度。

我們可以假設每個變數的分佈符合高斯(鐘形曲線)分佈。如果真的是這種情況,我們可以用皮爾遜相關係數(Pearson’s correlation coefficient)來總結變數之間的相關性。

皮爾遜相關係數(Pearson’s correlation coefficient)是介於-1和1之間的數字,分別描述負相關或正相關。零值表示不相關。

我們可以以先前的時間步觀測值計算時間序列觀測值的相關性,稱為lags(滯後)。因為時間序列觀測值的相關性是用前一次同一系列的觀測值計算的,所以稱為序列相關或自相關。

通過lags產生的時間序列自相關圖被稱為AutoCorrelation Function(自相關函式,如果直譯的話,譯者注),或簡稱ACF。這個圖有時被稱為相關圖或自相關圖。

下面是使用statsmodels庫中的plot_acf()函式計算和繪製Minimum Daily Temperatures的自相關圖的示例。

from pandas import Series
from matplotlib import pyplot
from statsmodels.graphics.tsaplots import plot_acf
series = Series.from_csv('daily-minimum-temperatures.csv', header=0)
plot_acf(series)
pyplot.show()

執行該示例將建立一個二維圖,顯示沿x軸的滯後值以及在-1和1之間的y軸上的相關性。

置信區間(Confidence intervals)被描繪成一個圓錐體。預設情況下,會被設定為95%的置信區間,表明這個程式碼之外的相關值很可能是一次相關而不是一個統計上的偶然事件。


每日最低溫度資料集的自相關圖

預設情況下,所有的滯後值(lag values)都會打印出來,這使得圖表噪音很大(指圖表上干擾資料太多,譯者注)。

我們可以將x軸上的滯後數量限制為50,以使圖更容易閱讀。


使用較少滯後的每日最低溫度資料集自相關圖

偏自相關函式

偏自相關是時間序列中的觀測值與去除掉干預觀測值之間的關係的前先前時間步觀測值之間的關係的摘要。

滯後(lag)為K的偏自相關是這樣的相關,它去除了由於更短的滯後(lags)引起的任何相關
—— 第81頁,第4.5.6節偏自相關,Introductory Time Series with R(時間序列的R實現導論)

在先前的時間步中的觀測值和觀測值的自相關包括直接相關和間接相關。這些間接相關性是觀測值相關性的線性函式,包括在干預時間步上的觀測值。

偏自相關函式試圖消除這些間接相關性。沒有進入數學的領域,這是偏自相關的直觀認識(intuition)(intuition有憑直覺感知的知識的意思,這裡是意譯)。

下面的示例使用statsmodels庫中的plot_pacf()計算並繪製出使用前50個滯後的的每日最低溫度資料集偏自相關函式。

from pandas import Series
from matplotlib import pyplot
from statsmodels.graphics.tsaplots import plot_pacf
series = Series.from_csv('daily-minimum-temperatures.csv', header=0)
plot_pacf(series, lags=50)
pyplot.show()

執行該示例建立了使用前50個滯後(lags)的偏自相關的二維圖。

每日最低溫度資料集的偏自相關圖

ACF和PACF圖的直觀認識(intuition)

自相關函式圖和時間序列的偏自相關函式說明了一個完全不同的事情。

我們可以用ACF和PACF的直觀認識(intuition)來探索一些思想實驗。

自迴歸直觀認識(intuition)

考慮由自迴歸(AR)過程產生的滯後時間為k的時間序列。

我們知道,ACF描述了一個觀測值與另一個觀測值之間的自相關,包括直接和間接的相關性資訊。

這意味著我們可以預期AR(k)時間序列的ACF強大到(如同使用了)k的滯後,並且這種關係的慣性將繼續到之後的滯後值,隨著效應被削弱而在某個點上縮小到沒有。

我們知道,PACF只描述觀測值與其滯後(lag)之間的直接關係。這表明,超過k的滯後值(lag value)不會再有相關性。

這正是ACF和PACF圖對AR(k)過程的預期。

滑動平均直觀認識(Moving Average Intuition)

考慮由滑動平均(MA)過程產生的滯後(lag)時間為k的時間序列。

請記住,滑動平均過程是先前預測的殘留偏差的時間序列的自迴歸模型。考慮滑動平均模型的另一種方法是根據最近預測的錯誤修正未來的預測。

我們期望MA(k)過程的ACF與最近的lag值之間的關係顯示出強烈的相關性,然後急劇下降到低或者無相關性。根據定義,這解釋了整個過程是如何產生的。

對於PACF,我們預計圖會顯示與滯後(lag)的關係,以及滯後(lag)之前的相關。

再次強調,這正是MAF(k)過程的ACF和PACF圖的預期。

概要

在本教程中,您瞭解瞭如何使用Python計算時間序列資料的自相關和偏自相關圖。

具體來說,你瞭解到:

  • 如何計算和建立時間序列資料的自相關圖。
  • 如何計算和建立時間序列資料的偏自相關圖。
  • 解釋ACF和PACF圖的區別和直觀認識(intuition)。