Критерий Бройша-Пагана

Материал из MachineLearning.

Перейти к: навигация, поиск

Критерий Бройша-Пагана (также Бреуша-Пагана, англ. Breusch-Pagan test) — один из статистических критериев для проверки наличия гетероскедастичности (то есть непостоянной дисперсии) случайных ошибок модели линейной регрессии. Применяется, если есть основания полагать, что дисперсия ошибок \sigma_t может зависеть от некоторой совокупности наблюдаемых переменных:

\sigma_t^2 = z_t^T \gamma, \;t = 1,\dots,n,

где z_t = (1,z_{2t},\dots,z_{pt})^T.

Содержание

Определение

Формулировки проверяемой и альтернативной гипотез выглядят следующим образом:

H_0: \quad \gamma_2 = \ldots = \gamma_p = 0 \quad \Leftrightarrow \quad \sigma_1^2 = \ldots = \sigma_n^2 \quad \Leftrightarrow  остатки гомоскедастичны;
H_1: \quad H_0 неверна.

Статистика критерия может быть получена на основе метода множителей Лагранжа и имеет следующий вид:

LM=\left (\frac{\partial l}{\partial\theta} \right )'\left (-E\left [\frac{\partial^2 l}{\partial\theta \partial\theta'} \right ] \right )^{-1}\left(\frac{\partial l}{\partial\theta} \right ).

Вычисление статистики сводится к следующей процедуре[1].

  • Шаг 1: Исходная модель  y = X\beta+\varepsilon оценивается обычным методом наименьших квадратов, вычисляются остатки \varepsilon_t.
  • Шаг 2: Дисперсия ошибки модели (в предположении её гомоскедастичности) оценивается как \hat{\sigma}^2 = \frac{1}{n} RSS.
  • Шаг 3: Вычисляются стандартизированные остатки \frac{\varepsilon^2}{\hat{\sigma}^2} .
  • Шаг 4: Строится дополнительная регрессия квадратов стандартизированных ошибок на исходные наблюдаемые переменные:
 \varepsilon_t^2=\gamma_1+\gamma_2z_{2t}+\dots+\gamma_pz_{pt}+\eta_t .

При справедливости нулевой гипотезы о гомоскедастичности остатков статистика критерия имеет распределение хи-квадрат с p-1 степенями свободы.

Пример

Сгенерированный отклик
Сгенерированный отклик y_1
Сгенерированный отклик
Сгенерированный отклик y_2

Рассмотрим пример с использованием системы R:

> ## моделируем наблюдаемые переменные
> x <- rep(c(-1,1), 50)
> ## генерируем гетероскедастичные ошибки
> err1 <- rnorm(100, sd=rep(c(1,2), 50))
> ## генерируем гомоскедастичные ошибки
> err2 <- rnorm(100)
> ## генерируем отклик
> y1 <- 1 + x + err1
> y2 <- 1 + x + err2
> ## проводим тест Бройша-Пагана
> bptest(y1 ~ x)$p.value
          BP 
0.0007141008  
> bptest(y2 ~ x)$p.value
       BP
0.9464273 

Реализации

Ссылки

Примечания