Sobes.tech
Назад к вопросам
Middle — Senior
6

Что такое автокорреляция и частичная автокорреляция (ACF, PACF)?

Компании, где спрашивали
Ниармедик Ваш Доктор Рядом
ЛеруаМерлен

Ответ от нейросети

sobes.tech AI

Что хотят услышать интервьюеры:

ACF показывает, насколько текущее значение ряда связано с его прошлыми значениями на разных лагах. PACF показывает «чистую» связь с лагом после исключения влияния промежуточных лагов. Эти метрики используют для анализа структуры временного ряда и подбора параметров моделей, например ARIMA.

Определение:

Автокорреляция (ACF) — это корреляция временного ряда с самим собой, но сдвинутым на k шагов назад. Она отвечает на вопрос: насколько значение ряда на текущем шаге связано с значением k шагов назад.

Частичная автокорреляция (PACF) — это связь между рядом и лагом k после удаления влияния всех более коротких лагов 1..k-1. Она показывает прямой эффект именно этого лага, без посредников.

Иными словами:

  • ACF измеряет общую зависимость с прошлыми значениями;
  • PACF измеряет прямую зависимость с конкретным лагом.

Пример использования:

Допустим, есть ряд дневных продаж. Если ACF сильно положительна на лагах 1, 7 и 14, это может означать краткосрочную инерцию и недельную сезонность. Если PACF резко обрывается после лага 1, это часто указывает на AR-компоненту порядка 1.

import statsmodels.api as sm
import matplotlib.pyplot as plt

# series — временной ряд, например pandas.Series
fig, axes = plt.subplots(1, 2, figsize=(12, 4))

sm.graphics.tsa.plot_acf(series, lags=30, ax=axes[0])
axes[0].set_title("ACF")

sm.graphics.tsa.plot_pacf(series, lags=30, ax=axes[1], method="ywm")
axes[1].set_title("PACF")

plt.tight_layout()
plt.show()

Пояснение кода:

Здесь строятся два графика:

  • plot_acf(...) показывает корреляцию ряда с его лагами от 1 до 30;
  • plot_pacf(...) показывает частичную автокорреляцию на тех же лагах.

По графику ACF можно увидеть:

  • есть ли сезонные пики;
  • насколько долго сохраняется зависимость во времени;
  • похож ли ряд на стационарный или нет.

По графику PACF можно:

  • оценить порядок авторегрессионной части;
  • понять, на каких лагах есть прямое влияние;
  • отличить прямую зависимость от эффекта накопления через промежуточные лаги.

Ключевые моменты:

  • ACF — это общая корреляция ряда с лагами.
  • PACF — это корреляция с лагом после вычитания влияния предыдущих лагов.
  • ACF полезна для поиска сезонности и оценки скользящей средней.
  • PACF часто используют для выбора порядка p в AR-моделях.
  • В практике ACF и PACF применяют вместе, а не по отдельности.
  • Для нестационарных рядов интерпретация графиков может быть искажена, поэтому часто сначала делают преобразования или дифференцирование.