1. 程式人生 > 其它 >自相關與偏自相關的簡單介紹

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

自相關和偏自相關圖在時間序列分析和預測中經常使用。這些圖生動的總結了一個時間序列的觀察值與他之前的時間步的觀察值之間的關係強度。初學者要理解時間序列預測中自相關和偏自相關之間的差別很困難。

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

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

  • 如何繪製和檢查時間序列的自相關函式。
  • 如何繪製和檢查時間序列的偏自相關函式。
  • 時間序列分析中自相關函式和偏自相關函式之間的差異。

讓我們開始吧。

每日最低氣溫資料集

該資料集描述了澳大利亞墨爾本市10年(1981 – 1990年)的最低每日氣溫。

單位為攝氏度,觀測值為3650次。資料來源於澳大利亞氣象局。

點選這裡瞭解更多資訊並從Dara Market下載資料集。

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

注意:下載的檔案包含一些問號(“?”)字元,必須先刪除它然後才能使用資料集。在文字編輯器中開啟檔案,並刪除“?”字元。同時刪除檔案中的任何頁尾資訊。

下面的示例將載入最低每日溫度並繪製時間序列。

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

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

相關和自相關

統計相關性總結了兩個變數之間的關係強度。我們可以假設每個變數的分佈都符合高斯(鐘形曲線)分佈。如果是這樣,我們可以使用皮爾遜相關係數(Pearson correlation coefficient)來總結變數之間的相關性。

皮爾遜相關係數是-1和1之間的數字分別描述負相關或正相關。值為零表示無相關。

我們可以使用以前的時間步長來計算時間序列觀測的相關性。由於時間序列的相關性與之前的相同系列的值進行了計算,這被稱為序列相關或自相關。

一個時間序列的自相關係數被稱為自相關函式,或簡稱ACF。這個圖被稱為相關圖或自相關圖。

以下是利用statsmodels庫中使用plot_acf()函式計算和繪製“每日最低氣溫”自相關圖的一個例子。

from pandasimport Series
from matplotlibimport pyplot
from statsmodels.graphics.tsaplotsimport plot_acf
series= Series.from_csv('daily-minimum-temperatures.csv', header=0)
plot_acf(series)
pyplot.show()

執行示例建立一個2D平面圖,顯示沿x軸的延遲值以及y軸上的相關性(-1到1之間)。

置信區間被畫成圓錐形。預設情況下,置信區間這被設定為95%,這表明,這段程式碼之外的相關值很可能是相關的,而不是統計上的意外。

預設情況下,列印所有延遲值,這讓顯得圖表有些雜亂。我們可以將x軸上的延遲值限制為50,讓圖更容易看懂。

偏自相關函式

偏自相關是剔除干擾後時間序列觀察與先前時間步長時間序列觀察之間關係的總結。

在滯後k處的偏自相關是在消除由於較短滯後條件導致的任何相關性的影響之後產生的相關性。

– 第81頁,第4.5.6節偏自相關,Introductory Time Series with R。

一項觀察的自相關和在先驗時間步上的觀測包括直接相關和間接相關。這些間接相關是線性函式觀察(這個觀察在兩個時間步長之間)的相關。

偏自相關函式試圖移除這些間接相關。沒有進入數學,這就是偏自相關的直覺。????

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

from pandasimport Series
from matplotlibimport pyplot
from statsmodels.graphics.tsaplotsimport plot_pacf
series= Series.from_csv('daily-minimum-temperatures.csv', header=0)
plot_pacf(series, lags=50)
pyplot.show()

執行這個示例建立了前50個滯後的偏自相關的平面圖。

ACF和PACF圖的直覺

時間序列的自相關函式和偏自相關函式的平面圖描述了完全不同的情形。我們可以使用ACF和PACF的直覺來探索一些理想實驗。

自迴歸直覺

由具有滯後k的自迴歸(AR)過程生成的時間序列。我們知道ACF描述了自相關在這個時間步的觀察和前一個時間步的觀察之間存在直接依賴資訊和間接依賴資訊。這意味著,我們期望AR(k)時間序列裡的ACF對k的滯後有很強的影響,並且這種關係的慣性將會延續到後來的滯後值中,在某種程度上隨著效果的減弱而逐漸減弱。

我們知道,PACF僅描述觀察與其滯後之間的直接關係。這表明除了k之外的滯後值沒有相關性。這正是ACF和PACF計劃在AR(k)過程中的期望。

移動平均線的直覺

k的滯後的移動平均(MA)過程產生的時間序列。移動平均過程是先前預測中時間序列剩餘誤差的自迴歸模型。考慮移動平均模型的另一種方法是根據最近預測的錯誤來糾正對未來的預測。我們預計ACF在MA(k)的過程中與最近的值顯示出強相關性直到k的滯後,然後急劇下降到低或沒有相關性。這就是生成該過程的方法。

我們預計繪圖將顯示出與滯後的密切關係,以及與滯後的相關性減弱。這正是MA(k)過程的ACF和PACF圖的預計。

總結

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

具體來說,您學到了:

  • 如何計算並建立時間序列資料的自相關圖。
  • 如何計算和建立時間序列資料的偏自相關圖。
  • 解釋ACF和PACF圖的差異和直覺。