Как выполнить тест Дарбина-Ватсона в Python
Одним из допущений линейной регрессии является отсутствие корреляции между остатками. Другими словами, остатки предполагаются независимыми.
Один из способов определить, выполняется ли это предположение, — выполнить тест Дарбина-Ватсона , который используется для обнаружения наличия автокорреляции в остатках регрессии.В этом тесте используются следующие гипотезы:
H 0 (нулевая гипотеза): между остатками нет корреляции.
H A (альтернативная гипотеза): остатки автокоррелированы.
Статистика теста приблизительно равна 2*(1-r), где r — выборочная автокорреляция остатков. Таким образом, тестовая статистика всегда будет между 0 и 4 со следующей интерпретацией:
Тестовая статистика 2 указывает на отсутствие последовательной корреляции.
Чем ближе статистика теста к 0 , тем больше доказательств положительной серийной корреляции.
Чем ближе тестовая статистика к 4 , тем больше доказательств отрицательной серийной корреляции.
Как правило, значения тестовой статистики в диапазоне от 1,5 до 2,5 считаются нормальными. Однако значения за пределами этого диапазона могут указывать на проблему с автокорреляцией.
В этом руководстве объясняется, как выполнить тест Дарбина-Ватсона в Python.
Пример: тест Дарбина-Ватсона в Python
Предположим, у нас есть следующий набор данных, описывающий атрибуты 10 баскетболистов:
Предположим, мы подгоняем модель множественной линейной регрессии, используя рейтинг в качестве переменной ответа и три другие переменные в качестве переменных-предикторов:
Мы можем выполнить Durbin Watson, используя функцию durbin_watson() из библиотеки statsmodels, чтобы определить, являются ли остатки регрессионной модели автокоррелированными:
Статистика теста — 2,392.Поскольку это находится в диапазоне от 1,5 до 2,5, мы считаем, что автокорреляция не вызывает проблем в этой регрессионной модели.
Как справиться с автокорреляцией
Если вы отвергаете нулевую гипотезу и заключаете, что в остатках присутствует автокорреляция, то у вас есть несколько различных вариантов исправления этой проблемы, если вы считаете ее достаточно серьезной:
1. Для положительной последовательной корреляции рассмотрите возможность добавления в модель лагов зависимой и/или независимой переменной.
2. В случае отрицательной последовательной корреляции убедитесь, что ни одна из ваших переменных не имеет чрезмерной разницы .
3. Для сезонной корреляции рассмотрите возможность добавления в модель сезонных фиктивных переменных.
Last updated