Таблица Дарбина-Уотсона: проверка автокорреляции остатков с помощью критерия
Автокорреляция остатков - распространенная проблема при построении эконометрических моделей. Ее наличие искажает результаты моделирования. Поэтому важно уметь обнаруживать автокорреляцию. Одним из самых популярных критериев для этого является тест Дарбина-Уотсона.
Сущность критерия Дарбина-Уотсона
Критерий Дарбина-Уотсона был предложен в 1950 году двумя американскими эконометристами Дарбином и Уотсоном. Он предназначен для проверки наличия автокорреляции первого порядка в остатках регрессионной модели.
Автокорреляция означает, что последовательные значения ряда коррелируют между собой. Это нарушает одно из ключевых допущений классической линейной регрессии.
Формула для расчета статистики Дарбина-Уотсона имеет следующий вид:
DW = 2(1 - r1)
где r1
- коэффициент автокорреляции первого порядка для ряда остатков модели.
- Если автокорреляции нет, то
r1 = 0
иDW = 2
. - При наличии положительной автокорреляции
r1 > 0
иDW < 2
. - При отрицательной автокорреляции
r1 < 0
иDW > 2
.
Таблица Дарбина-Уотсона" содержит критические значения статистики для проверки гипотез о наличии автокорреляции. Эти значения зависят от:
- Числа наблюдений в выборке (от 15 до 100)
- Числа параметров модели (от 1 до 5)
- Уровня значимости (1%, 2.5% или 5%)
Таблица критических значений статистики Дарбина-Уотсона
Таблица значений Дарбина-Уотсона состоит из двух границ - нижней (dL) и верхней (dU). Решение о наличии автокорреляции принимается по следующим правилам:
- Если DW < dL, то есть положительная автокорреляция
- Если DW > dU, то есть отрицательная автокорреляция
- Если dL < DW < dU, то автокорреляция отсутствует
Так образуется 5 зон принятия решения. Чтобы их запомнить, используют мнемонику DUWUD:
Зона | Вывод |
DW < dL | Положительная автокорреляция |
dL ≤ DW ≤ dU | Неопределенность |
dU < DW < 4-dU | Автокорреляция отсутствует |
4-dU ≤ DW ≤ 4-dL | Неопределенность |
4-dL < DW | Отрицательная автокорреляция |
Поиск нужных критических значений dL и dU осуществляется в таблице по параметрам модели и выборки. Например, для n = 60
, k = 3
(3 регрессора в уравнении) и α = 0.05
получаем:
- dL = 1.454
- dU = 1.650
Далее эти значения используются для интерпретации результатов критерия Дарбина-Уотсона.
Интерпретация результатов критерия Дарбина-Уотсона
После того как мы нашли критические значения dL и dU для нашей модели, можно приступать к интерпретации результатов теста Дарбина-Уотсона:
- Рассчитываем фактическое значение статистики DW по формуле, используя остатки модели
- Сравниваем полученное значение DW с границами из таблицы dL и dU
- Делаем вывод о наличии положительной, отрицательной автокорреляции или ее отсутствии
Например, если по нашей модели получилось DW = 1.62, а из таблицы dL = 1.55 и dU = 1.62, то делаем вывод об отсутствии автокорреляции остатков.
Зона неопределенности
Что делать, если значение статистики DW попадает в зону между dL и dU или между 4-dU и 4-dL? Это называется "зоной неопределенности". В таком случае на основании одного лишь критерия Дарбина-Уотсона нельзя сделать определенный вывод.
В этой ситуации рекомендуется:
- Проверить модель на автокорреляцию с помощью других тестов
- Увеличить объем выборки данных
- Изменить спецификацию модели
Типичные ошибки интерпретации
Среди распространенных ошибок при анализе результатов критерия Дарбина-Уотсона можно выделить:
- Путаница границ dL и dU. Необходимо четко помнить их смысл.
- Неверный поиск значений в таблице (ошибка в параметрах модели или объеме выборки)
- Округление границ. Нужно использовать точные значения из таблицы
Таким образом, при работе с критерием Дарбина-Уотсона следует быть предельно внимательным и избегать оплошностей.
Реализация критерия Дарбина-Уотсона в Python
Для удобства использования критерия Дарбина-Уотсона его часто реализуют в виде функций в статистических пакетах programming language.
Стандартные библиотеки Python
В модуле линейной регрессии statsmodels.regression.linear_model
сразу выводится значение статистики DW в результатах.
Также можно рассчитать его отдельно функцией stattools.durbin_watson()
. Но табличные значения для проверки гипотез там отсутствуют.
Создание собственной функции
Поэтому имеет смысл реализовать собственную функцию, используя оцифрованную таблицу критических значений. Это позволит полноценно интерпретировать результаты теста Дарбина-Уотсона.
Пример кода на Python для такой функции:
import pandas as pd def darbin_watson(residuals, n, k, alpha=0.05): dw = stattools.durbin_watson(residuals) # поиск границ по таблице bounds = dw_table.loc[n,k,alpha] dl = bounds['dl'] du = bounds['du'] if dw < dl: print('Есть положительная автокорреляция') elif dw < du: print('Результат неопределен') else: print('Автокорреляция отсутствует') return dw
Такая функция позволит легко интегрировать полноценную проверку на автокорреляцию по критерию Дарбина-Уотсона в любой код на Python.
Методы борьбы с автокорреляцией остатков
Если по результатам критерия Дарбина-Уотсона был обнаружен эффект автокорреляции, это сигнализирует о проблемах в построенной модели.
Чтобы избавиться от автокорреляции, можно предпринять следующие действия:
- Изменить набор предикторов (добавить лаговые значения зависимой переменной)
- Преобразовать исходные данные (взять разности вместо абсолютных значений)
- Применить обобщенный метод наименьших квадратов (для учета автокорреляции в остатках)