Частичная автокорреляция (PACF) - Лена Капаца
Частичная автокорреляция (PACF) by Лена Капаца Feb. 26, 2022 Основы

Частичная автокорреляция (Partial Autocorrelation) — это краткая характеристика взаимосвязи между Наблюдением (Observation) во Временном ряду (Time Series) и наблюдениями на предыдущем отрезке времени с удалением взаимосвязей между промежуточными наблюдениями.

Графики Функции автокорреляции (ACF) и частичной автокорреляции широко используются в анализе и прогнозировании временных рядов.

Это графики, которые графически обобщают силу связи с наблюдением во временном ряду с наблюдениями на предыдущих временных шагах. Разница между автокорреляцией и частичной автокорреляцией может быть сложной и запутанной для новичков в Прогнозировании временных рядов (Time Series Forecasting).

Давайте посмотрим, как PACF реализован в библиотеке statsmodels. Для начала импортируем необходимые библиотеки. Matplotlib строит графики, а statsmodels с ее встроенными функциями вычисляет автокорреляции:

import pandas as pd
import matplotlib
from matplotlib import pyplot
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf

Загрузим набор данных и посмотрим на исходный временной ряд:

series = pd.read_csv('https://www.dropbox.com/s/i8xs9myposohyp9/temperature.csv?dl=1')
matplotlib.rcParams['figure.figsize'] = [20, 5]
series.plot()
pyplot.show()

Исходные колебания обусловлены сменой сезонов (1 шаг равен дню):

Корреляция и автокорреляция

Статистическая Корреляция (Correlation) характеризует силу связи между двумя Переменными (Variable).

Распределение значений каждой переменной может соответствовать распределению Гаусса (колоколообразной кривой):

Если это так, мы можем использовать Коэффициент корреляции Пирсона (Pearson Correlation Coefficient), чтобы обсчитать корреляцию между переменными.

Коэффициент корреляции Пирсона представляет собой число от -1 до 1, которое описывает прямую или обратную корреляцию соответственно. Нулевое значение указывает на отсутствие таковой.

Мы можем рассчитать корреляцию наблюдений временного ряда с предыдущими временными шагами – Лагами (Lags). Поскольку такая корреляция рассчитывается со значениями того же ряда в предыдущие моменты времени, это называется последовательной корреляцией или Автокорреляцией (Autocorrelation).

График автокорреляции называется функцией автокорреляции (ACF), а также Коррелограммой (Correlogram). Давайте же построим его с помощью plot_acf():

plot_acf(series.Temp)
pyplot.show()

Для читаемости число связей сокращено автоматически до 35 (из-за вручную заданной ширины полотна графика). Бледно-голубая фигура демонстрирует величину задержки между первым и каждым последующим наблюдением, потому высота ее растет по мере перехода к новому наблюдению. По умолчанию для него установлен доверительный интервал 95%, что предполагает, что значения корреляции за пределами этого кода, скорее всего, являются корреляцией, а не статистической случайностью.

Столбцы с шарообразными наконечниками – это своеобразная визитная карточка коррелограммы, высота столбца отображает степень корреляции. Поскольку значения температур не могут быть в обратной корреляции, то столбцы никогда не "отправятся" ниже нуля. Из бытового опыта мы знаем, что температура двух, скажем, летних соседствующих дней, как правило, меньше отличается от своих сильноудаленных зимних собратьев. Чуть позже мы узнаем, как оперирование разницей между днем и его лагом может изменить корреляцию.

Функция частичной автокорреляции

Частичная автокорреляция (Partial Autocorrelation) — это краткая характеристика взаимосвязи между наблюдением во временном ряду и наблюдениями на предыдущем отрезке времени, когда влияние малой задержки устранено.

Автокорреляция состоит как из прямой, так и из косвенной корреляции. И именно последние пытается удалить функция частичной автокорреляции. Оттуда и название – "частичная".

В приведенном ниже примере вычисляется и строится функция частичной автокорреляции для первых 50 лагов в наборе данных с использованием plot_pacf():

plot_pacf(series.Temp, lags = 50)
pyplot.show()

Частичная автокорреляция для первых 50 лагов

Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.

Автор оригинальной статьи: Jason Brownlee

© Лена Капаца. Все права защищены.