Тест Бройша-Пагана: проверка гетероскедастичности

Линейная регрессия даёт несмещённые оценки коэффициентов даже при нарушении равенства дисперсий. Но стандартные ошибки тогда считаются неверно, и t-тесты, F-тест и доверительные интервалы перестают работать. Тест Бройша-Пагана - это быстрый способ выяснить, есть ли систематическая связь между дисперсией остатков и регрессорами, прежде чем делать выводы по МНК-модели.
Что такое гетероскедастичность
В классической регрессии предполагается, что для всех наблюдений - это гомоскедастичность. Если дисперсия зависит от , то есть , говорят о гетероскедастичности (от греч. «разный» + «разброс»).
Типичные примеры: в кросс-секционных данных доходов богатые домохозяйства демонстрируют больший разброс расходов, чем бедные; в финансовых временных рядах волатильность меняется во времени; в пространственных данных регионы-мегаполисы имеют иной разброс, чем малые территории.
Идея теста Бройша-Пагана
Питер Бройш и Адриан Паган в 1979 году предложили формальный тест через вспомогательную регрессию. Логика простая: если дисперсия не зависит от регрессоров, квадраты остатков не должны объясняться этими регрессорами лучше случайного шума.
Алгоритм в четырёх шагах:
- Оценить исходную регрессию методом МНК, получить остатки .
- Построить вспомогательную регрессию , где - переменные, от которых предположительно зависит дисперсия (чаще всего это те же регрессоры или ).
- Вычислить вспомогательной регрессии.
- Статистика теста: .
При (гомоскедастичности) статистика имеет асимптотическое распределение , где - число переменных во вспомогательной регрессии (число ограничений).
Формула и распределение
Нулевая и альтернативная гипотезы:
Статистика Лагранжа:
Если (или ), нулевую гипотезу отвергают: признаки гетероскедастичности статистически значимы.

Варианты теста
Существует несколько версий с небольшими отличиями.
Классический Бройш-Паган (1979) предполагает нормальность остатков и использует отдельную процедуру оценки гетероскедастической функции. Статистика основана на оценке функции правдоподобия.
Тест Кукера-Уайтхеда (студентизированная версия) не требует нормальности: во вспомогательной регрессии используются (нормированные на ). Это наиболее распространённая современная реализация, которую выдаёт, например, bptest в R и het_breuschpagan в Python statsmodels.
Тест Уайта - более общий: во вспомогательную регрессию включают исходные регрессоры, их квадраты и все попарные произведения. Имеет больше степеней свободы и поймает любую форму гетероскедастичности, но теряет мощность при большом числе регрессоров.
Как интерпретировать результат
Малое p-значение (< 0,05) означает отклонение H0 о гомоскедастичности - в данных выявлены признаки гетероскедастичности.
Если тест отклонён, есть три стратегии:
1. Робастные стандартные ошибки (HC-коррекция) - оценки коэффициентов остаются те же, но стандартные ошибки пересчитываются по Уайту (HC0/HC1/HC3). Самый быстрый способ, не меняет спецификацию.
2. Взвешенный МНК (WLS) - наблюдениям с большей дисперсией присваивается меньший вес . Требует задать форму дисперсии; если форма угадана правильно - эффективнее HC-коррекции.
3. Преобразование переменных - логарифм зависимой переменной стабилизирует дисперсию в случаях мультипликативной гетероскедастичности ( при ).
Условия применимости теста
Тест Бройша-Пагана работает корректно при нескольких условиях.
Достаточный объём выборки - распределение асимптотическое, при его точность снижается. При малых используют бутстреп-версию теста.
Правильная спецификация основной модели - тест проверяет остатки. Если главная регрессия пропускает важный регрессор, квадраты остатков будут объясняться не только из-за гетероскедастичности, но и из-за эффекта пропущенной переменной.
Нормальность (для классической версии) - студентизированная версия Кукера-Уайтхеда этого не требует и предпочтительнее в прикладных задачах.
Линейная форма гетероскедастичности - тест наиболее мощен, когда . Нелинейные паттерны (логарифмические, квадратичные) он может пропустить - для них лучше тест Уайта.
Мощность теста и размер выборки
Тест Бройша-Пагана относится к асимптотическим тестам - его мощность зависит от объёма выборки. При малых (менее 30-40 наблюдений) распределение LM-статистики отклоняется от , и номинальный уровень значимости 5 % не соответствует фактическому.
На практике при рекомендуется использовать бутстреп-версию: генерировать распределение LM-статистики под многократным выбором с возвращением из центрированных остатков основной модели и сравнивать наблюдаемое LM с квантилем этого эмпирического распределения.
При большом (несколько сотен и более) тест становится очень мощным - он может обнаружить статистически значимую гетероскедастичность, которая в действительности не влияет на интерпретацию. Например, при даже даёт , а при это значимо на уровне 10 %. Поэтому на больших данных имеет смысл смотреть не только на -значение, но и на размер эффекта - если он мал (например, 0.01-0.02), практическое значение гетероскедастичности может быть незначительным.
При очень большом n (n > 500) тест Бройша-Пагана почти всегда значим: смотрите не только на p-значение, но и на R2 вспомогательной регрессии как меру «силы» нарушения.
Связь с тестом Уайта
Тест Уайта (1980) - более общий подход. Во вспомогательную регрессию включаются не только линейные члены, но и квадраты регрессоров и все попарные произведения:
Это позволяет поймать нелинейные паттерны гетероскедастичности. Ценой является число степеней свободы: при регрессорах тест Уайта имеет параметров, что при даёт уже 14 степеней свободы против 4 у Бройша-Пагана.
Практическое правило: если есть теоретические соображения о том, какой регрессор отвечает за неоднородность дисперсии, используйте тест Бройша-Пагана с этим конкретным регрессором. Если неизвестно - начните с теста Уайта как разведки, а после - уточните с Бройша-Паганом.
Реализация в статистических пакетах
В Python (statsmodels):
from statsmodels.stats.diagnostic import het_breuschpagan
import statsmodels.api as sm
model = sm.OLS(y, sm.add_constant(X)).fit()
lm_stat, lm_pval, f_stat, f_pval = het_breuschpagan(model.resid, model.model.exog)
print(f"LM = {lm_stat:.3f}, p-value = {lm_pval:.4f}")
В R:
library(lmtest) model <- lm(y ~ x1 + x2, data = df) bptest(model) # возвращает BP-статистику и p-значение
Функции возвращают и LM-статистику, и F-версию теста. F-версия предпочтительна при малых , LM-версия - при большом (асимптотически эквивалентны).
Частые ошибки
- Включать во вспомогательную регрессию те же переменные, что в основную - это нормально, но нужно убедиться, что список осмыслен: если подозрение падает на конкретный регрессор, включать только его.
- Не проверять нормальность остатков перед классической версией теста - при тяжёлых хвостах уровень значимости занижается; использовать студентизированную версию.
- Путать тест Бройша-Пагана и тест Уайта - в некоторых пакетах «тест Бройша-Пагана» реализован по схеме Уайта (квадраты и кросс-произведения регрессоров); стоит сверить документацию.
- Применять стандартные стандартные ошибки после обнаружения гетероскедастичности - даже если HC-коррекция увеличит -значения, честнее отразить реальную неопределённость.
- Игнорировать размер выборки при интерпретации: на больших тест может отвергнуть из-за ничтожной гетероскедастичности, практически не влияющей на оценки.
FAQ
Что делать, если тест Бройша-Пагана не отвергает H0, а тест Уайта отвергает? Скорее всего, гетероскедастичность нелинейная или связана с кросс-произведениями регрессоров. Тест Уайта чувствителен к более широкому классу нарушений. Рекомендуется всё равно использовать HC-стандартные ошибки в качестве страховки.
Можно ли применять тест к временным рядам? Для временных рядов с условной гетероскедастичностью (волатильность меняется во времени) правильнее использовать тест Энгла (ARCH-тест), а для моделирования - GARCH. Тест Бройша-Пагана предназначен для кросс-секционных данных или панелей без временной зависимости дисперсии.
Как выбрать, какие переменные включать в вспомогательную регрессию? Включайте те переменные, которые вы теоретически подозреваете в связи с дисперсией: обычно это все регрессоры основной модели или только отдельные из них. Если нет теоретических соображений, включайте все - получится близко к тесту Уайта.
Коротко
Тест Бройша-Пагана проверяет гомоскедастичность через вспомогательную регрессию квадратов остатков на регрессоры. Статистика при имеет асимптотическое распределение . Отклонение указывает на гетероскедастичность и требует либо HC-робастных стандартных ошибок, либо взвешенного МНК. Тест работает на больших выборках, чувствителен к линейной форме зависимости дисперсии и требует правильно специфицированной основной модели.
Читайте также

Тест Бройша-Пагана: проверка гетероскедастичности
Тест Бройша-Пагана для гетероскедастичности: вспомогательная регрессия, статистика LM, хи-квадрат критерий, модификация Кенкера и коррекция МНК-модели.

Гетероскедастичность тест Уайта: проверка дисперсии
Гетероскедастичность тест Уайта: разбираем вспомогательную регрессию, статистику nR², число степеней свободы и проверку гипотез по хи-квадрат в эконометрике.

Тест Глейзера: проверка гетероскедастичности МНК
Тест Глейзера для выявления гетероскедастичности: три формы вспомогательной регрессии, t-критерий значимости, сравнение с тестом Уайта и Бройша-Пагана, пример расчёта.