Перейти до вмісту
Обране

Калькулятор автокореляції

Оновлено:

Обчислюйте вибіркові коефіцієнти автокореляції r_k для будь-якого часового ряду на одному чи кількох лагах. Вставте впорядковані спостереження, виберіть лаги та оцінювач — і отримайте r_k разом зі смугою значущості для білого шуму.

Перевірте, чи корелюється часовий ряд із власним минулим

Поля введення
k
Один або кілька значень лагу k (на скільки кроків назад порівнюються значення). Кілька лагів розділяйте пробілами або крапками з комою, напр. 1; 2; 3; 4.
Якщо увімкнено, результат оновлюватиметься автоматично після зміни будь-якого значення.

Формула автокореляції

Формула
\[ r_k = \frac{c_k}{c_0}, \qquad c_k = \frac{1}{n}\sum_{t=1}^{n-k} (x_t - \bar{x})(x_{t+k} - \bar{x}), \qquad c_0 = \frac{1}{n}\sum_{t=1}^{n} (x_t - \bar{x})^2 \]

Де:

  • \(r_k\) — вибіркова автокореляція на лагу \(k\) (кореляція ряду з його власною копією, зсунутою на \(k\) кроків назад)
  • \(x_t\) — спостереження в момент часу \(t\); \(\bar{x}\) — середнє значення ряду
  • \(n\) — кількість спостережень
  • \(c_k\) — вибіркова автоковаріація на лагу \(k\); \(c_0\) — вибіркова дисперсія

Коефіцієнт порівнює кожне спостереження зі спостереженням на \(k\) кроків раніше — після центрування обох відносно середнього. Ділення на \(c_0\) гарантує, що кожен \(r_k\) лежить у межах \([-1, 1]\). Для «незміщеної» оцінки суму, що визначає \(c_k\), ділять на \(n-k\) замість \(n\).

Автокореляція — приклад обчислення

Приклад: ряд із 12 спостережень: 2, 4, 3, 5, 7, 6, 8, 10, 9, 11, 13, 12, з лагами 1, 2, 3 та стандартним оцінювачем АКФ.

\[ \bar{x} = \frac{90}{12} = 7.5, \qquad c_0 = \frac{143}{12} = 11.9167 \]

\[ c_1 = \frac{101.75}{12} = 8.4792 \;\Rightarrow\; r_1 = \frac{8.4792}{11.9167} = 0.7117 \]

\[ c_2 = \frac{69}{12} = 5.75 \;\Rightarrow\; r_2 = 0.4825, \qquad c_3 = \frac{39.75}{12} = 3.3125 \;\Rightarrow\; r_3 = 0.2780 \]

Результат: \(r_1 = 0.7117\), \(r_2 = 0.4825\), \(r_3 = 0.2780\). Смуга білого шуму на рівні 95% становить \(\pm 1.96/\sqrt{12} = \pm 0.566\), тож значущою є лише автокореляція на першому лагу: ряд виявляє інерційність — за високими значеннями йдуть високі, — а автокореляція плавно спадає, що типово для трендового ряду.

Як користуватися калькулятором

  1. Введіть спостереження в поле Значення часового ряду (за порядком), починаючи з найстаріших. Розділяйте значення пробілами, крапками з комою чи розривами рядків; десяткові коми підтримуються. Потрібно щонайменше 3 значення.
  2. Вкажіть лаги у полі Лаг(и) для обчислення — один лаг (наприклад, 1) або кілька, розділені пробілами чи крапками з комою (наприклад, 1; 2; 3; 4). Кожен лаг має бути цілим числом від 1 до \(n-1\).
  3. Виберіть оцінювач: «Стандартна АКФ (ділення на n)» відповідає тому, що статистичні програми показують на графіках АКФ; «Незміщений (ділення на n − k)» виправляє заниження на довгих лагах у малих вибірках.
  4. Ознайомтеся з таблицею результатів: кількість пар, що перекриваються, на кожному лагу, коефіцієнт \(r_k\) і те, чи виходить він за межі смуги білого шуму \(\pm 1.96/\sqrt{n}\).

Що таке автокореляція?

Автокореляція (серійна кореляція) вимірює, наскільки сильно часовий ряд лінійно пов’язаний із власним минулим. Замість кореляції двох різних змінних ви корелюєте ряд із його копією, зсунутою назад на \(k\) часових кроків — лаг. Результат, \(r_k\), інтерпретують точно так само, як кореляцію Пірсона: \(+1\) означає, що зсунутий ряд рухається ідеально синхронно з оригіналом, \(-1\) — що рухається строго протилежно, а значення близько 0 — що на цьому лагу лінійного зв’язку немає.

Автокореляція — один із перших діагностичних інструментів в аналізі часових рядів. Коефіцієнт на першому лагу, значно більший за нуль, указує на інерційність (значення мають тенденцію певний час триматися вище або нижче середнього), а сильно від’ємний — на знакоперемінність: ряд перелітає через середнє то в один, то в інший бік. Графік \(r_k\) залежно від \(k\) дає автокореляційну функцію (АКФ) — стандартний інструмент для ідентифікації моделей ARIMA та виявлення сезонності.

Візерунок на різних лагах важливіший за будь-яке окреме значення. Повільно спадні додатні автокореляції вказують на тренд або нестаціонарність — варто спочатку перейти до різниць ряду. Єдиний пік на лагу k сигналізує про сезонний чи циклічний візерунок із періодом \(k\) (наприклад, пік на лагу 12 у місячних даних означає річний цикл). Коефіцієнти, які на всіх лагах лишаються всередині смуги білого шуму, свідчать про відсутність лінійної пам’яті — саме це ви й хочете бачити в залишках моделі.

Зауважте, що автокореляція охоплює лише лінійну залежність. Ряд може бути цілком передбачуваним завдяки нелінійним правилам, але мати автокореляцію близько нуля, тож «чиста» АКФ не доводить незалежності. Щоб формально перевірити, чи узгоджується весь набір автокореляцій із білим шумом, скористайтеся тестом портманто, як-от тестом Льюнга — Бокса.

Припущення, обмеження та практичні поради

  • Порядок і інтервали мають значення. Значення мають бути у своєму природному хронологічному порядку та рівновіддаленими в часі (однаковий крок між спостереженнями). Перемішування даних руйнує автокореляцію.
  • Стаціонарність. Коефіцієнти мають сенс лише тоді, коли ряд має приблизно стабільні середнє та дисперсію. Трендовий ряд завищує автокореляції на коротких лагах; за потреби спочатку візьміть різниці ряду.
  • Довгі лаги ненадійні. На лагу \(k\) використовується лише \(n-k\) пар, що перекриваються, тож лаги понад приблизно \(n/2\) спираються на дуже малу кількість пар. Якщо у вас 12 спостережень, усе, що вище лагу 6, варто вважати шумом.
  • Вибір оцінювача. Стандартний оцінювач (ділення на \(n\)) завжди дає коректну кореляційну функцію і збігається з графіками АКФ у програмах за методологією Бокса — Дженкінса. Незміщена версія (ділення на \(n-k\)) усуває заниження на довгих лагах, але теоретично може вивести коефіцієнти за межі \([-1, 1]\).
  • Смуга значущості — це орієнтир. Межі \(\pm 1.96/\sqrt{n}\) припускають, що справжній ряд є білим шумом. Якщо ж реальна автокореляція існує, смуга занижує розкид вибіркових значень на сусідніх лагах.
  • Викиди спотворюють результат. Одне екстремальне спостереження може домінувати і в середньому, і в добутках у \(c_k\). Спочатку перевірте дані або розгляньте стійкі альтернативи, як-от рангові міри кореляції.

Якщо ви порівнюєте два різні ряди, а не ряд із його власним минулим, скористайтеся інструментами кореляції, як-от калькулятор рангової кореляції Спірмена або калькулятор τ Кендалла. Щоб описати загальну форму окремого ряду перед моделюванням, добрим доповненням буде калькулятор асиметрії та ексцесу.

Часті запитання

Яке значення автокореляції вважається хорошим чи нормальним?

Універсального «хорошого» значення не існує — усе залежить від того, що ви перевіряєте. Для сирих даних величина \(r_k\) просто показує, скільки лінійної пам’яті має ряд. Для залишків моделі ви, навпаки, прагнете значень близько нуля: все, що виходить за межі смуги \(\pm 1.96/\sqrt{n}\), означає, що модель не захопила всієї структури. Як груба шкала: \(|r_1| > 0.5\) — сильний зв’язок, 0,2–0,5 — помірний, нижче 0,2 — слабкий.

Чим автокореляція відрізняється від часткової автокореляції (ЧАКФ)?

Автокореляція на лагу \(k\) охоплює і прямий зв’язок між \(x_t\) та \(x_{t-k}\), і всі непрямі зв’язки через проміжні лаги. Часткова автокореляція прибирає ці проміжні лаги та виділяє чистий прямий ефект. Саме тому АКФ і ЧАКФ читають разом під час ідентифікації моделей ARIMA: повільно спадна АКФ з єдиним значущим піком ЧАКФ вказує на AR-процес, а зворотна картина — на MA-процес.

Скільки лагів варто обчислювати і якою має бути довжина ряду?

Поширене правило — розглядати лаги приблизно до \(n/4\), а лаги понад \(n/2\) вважати ненадійними, бо лишається лише \(n-k\) пар, що перекриваються. Для серйозного аналізу АКФ бажано мати щонайменше 50 спостережень; при 10–20 точках змістовну інформацію несуть лише перший і другий лаги. Для сезонних даних включіть принаймні один-два повні сезонні цикли, наприклад лаги до 24 для місячних даних.

Чи має автокореляція одиниці вимірювання?

Ні. Як і будь-який коефіцієнт кореляції, \(r_k\) — безрозмірнісна величина, яка завжди лежить між \(-1\) та \(+1\), незалежно від того, в чому вимірюються ваші дані: у доларах, градусах Цельсія чи кількостях. Автоковаріація \(c_k\) справді несе квадратні одиниці даних, але ділення на дисперсію \(c_0\) їх скасовує. Це також означає, що масштабування ряду (наприклад, з Цельсія на Фаренгейта) не змінює жодного значення автокореляції.

Чи можна обчислити це в Excel, обчисливши кореляцію ряду із зсунутою копією?

Наблизитися можна: помістіть ряд у стовпець A, копію, зсунуту на \(k\) рядків, — у стовпець B і застосуйте CORREL до діапазону, що перекривається. Результат трохи відрізнятиметься від стандартної АКФ, бо CORREL в Excel центрує кожен усічений відрізок на власному середньому, тоді як АКФ центрує обидва відрізки на середньому повного ряду. Для довгих рядів розбіжність невелика, але для коротких помітна — якщо результат має збігатися зі статистичним програмним забезпеченням, використовуйте метод цього калькулятора.

Що означає від’ємна автокореляція на першому лагу?

Від’ємний \(r_1\) указує на знакоперемінність: за значеннями вище середнього схильні йти значення нижче середнього, і навпаки. Таке часто трапляється після надмірного диференціювання гладкого ряду, у коливальних процесах або процесах із поверненням до середнього, а також коли послідовні коригування навмисно взаємно компенсуються. Сильно від’ємна автокореляція залишків може означати, що модель занадто різко «перекидається» від одного періоду до наступного. Значення близько \(-1\) на першому лагу в реальних даних рідкісні й можуть свідчити про штучно сконструйований ряд.

Що робити, якщо в ряду є пропущені значення або нерівні часові інтервали?

Автокореляція припускає рівновіддалені в часі спостереження у строгому хронологічному порядку, тож прогалини змінюють сам зміст лагу. Варіанти: інтерполювати або заповнити невеликі прогалини; агрегувати нерегулярні дані в регулярні інтервали (наприклад, середні за добу); або, якщо є часові мітки, застосувати методи, розроблені для нерегулярних рядів. Просте видалення рядків із пропусками скорочує видиму лагову структуру і може спричинити зміщення результатів. Також переконайтеся, що вводите значення від найстаріших до найновіших — зворотний порядок не змінює знаків, але може мати значення для асиметричних аналізів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *