自相關和偏自相關圖在時間序列分析和預測中經常使用。這些圖生動的總結了一個時間序列的觀察值與他之前的時間步的觀察值之間的關係強度。初學者要理解時間序列預測中自相關和偏自相關之間的差別很困難。
在本教程中,您將發現如何使用Python來計算和繪製自相關圖和偏自相關圖。
完成本教程後,您將知道:
讓我們開始吧。
每日最低氣溫數據集該數據集描述了澳大利亞墨爾本市10年(1981 – 1990年)的最低每日氣溫。
單位為攝氏度,觀測值為3650次。數據來源於澳大利亞氣象局。
點擊這裡了解更多信息並從Dara Market下載數據集。
下載數據集並將其放在您當前的工作目錄中,文件名為「 daily-minimum-thermometer.csv 」。
注意:下載的文件包含一些問號(「?」)字符,必須先刪除它然後才能使用數據集。在文本編輯器中打開文件,並刪除「?」字符。同時刪除文件中的任何頁腳信息。
下面的示例將加載最低每日溫度並繪製時間序列。
運行該示例將數據集加載為Pandas序列,並創建時間序列的折線圖。
相關和自相關統計相關性總結了兩個變量之間的關係強度。我們可以假設每個變量的分布都符合高斯(鐘形曲線)分布。如果是這樣,我們可以使用皮爾遜相關係數(Pearson correlation coefficient)來總結變量之間的相關性。
皮爾遜相關係數是-1和1之間的數字分別描述負相關或正相關。值為零表示無相關。
我們可以使用以前的時間步長來計算時間序列觀測的相關性。由於時間序列的相關性與之前的相同系列的值進行了計算,這被稱為序列相關或自相關。
一個時間序列的自相關係數被稱為自相關函數,或簡稱ACF。這個圖被稱為相關圖或自相關圖。
以下是利用statsmodels庫中使用plot_acf()函數計算和繪製「每日最低氣溫」自相關圖的一個例子。
運行示例創建一個2D平面圖,顯示沿x軸的延遲值以及y軸上的相關性(-1到1之間)。
置信區間被畫成圓錐形。默認情況下,置信區間這被設置為95%,這表明,這段代碼之外的相關值很可能是相關的,而不是統計上的意外。
默認情況下,列印所有延遲值,這讓顯得圖表有些雜亂。我們可以將x軸上的延遲值限制為50,讓圖更容易看懂。
偏自相關是剔除幹擾後時間序列觀察與先前時間步長時間序列觀察之間關係的總結。
在滯後k處的偏自相關是在消除由於較短滯後條件導致的任何相關性的影響之後產生的相關性。
– 第81頁,第4.5.6節偏自相關,Introductory Time Series with R。
一項觀察的自相關和在先驗時間步上的觀測包括直接相關和間接相關。這些間接相關是線性函數觀察(這個觀察在兩個時間步長之間)的相關。
偏自相關函數試圖移除這些間接相關。沒有進入數學,這就是偏自相關的直覺。????
下面的示例使用statsmodels庫中的plot_pacf()來計算和繪製最低每日溫度數據集裡的前50個滯後的偏自相關函數。
運行這個示例創建了前50個滯後的偏自相關的平面圖。
時間序列的自相關函數和偏自相關函數的平面圖描述了完全不同的情形。我們可以使用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圖的差異和直覺。