Как выполнить тест гольдфельда-квандта в r


Тест Гольдфельда-Квандта используется для определения наличия гетероскедастичности в регрессионной модели.

Гетероскедастичность относится к неравномерной дисперсии остатков на разных уровнях переменной отклика в регрессионной модели.

Если присутствует гетероскедастичность, это нарушает одно из ключевых предположений линейной регрессии о том, что остатки одинаково разбросаны на каждом уровне переменной отклика.

В этом руководстве представлен пошаговый пример того, как выполнить тест Гольдфельда-Квандта в R, чтобы определить, присутствует ли гетероскедастичность в данной регрессионной модели.

Шаг 1. Создайте регрессионную модель

Сначала мы создадим модель множественной линейной регрессии, используя набор данных mtcars , встроенный в R:

 #fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)

#view model summary
summary(model)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904 1.331566 23.083 < 2nd-16 ***
available -0.030346 0.007405 -4.098 0.000306 ***
hp -0.024840 0.013385 -1.856 0.073679 .  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.127 on 29 degrees of freedom
Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 
F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09

Шаг 2. Выполните тест Гольдфельда-Квандта.

Далее мы воспользуемся функцией gqtest() из пакета lmtest для выполнения теста Гольдфельда-Квандта, чтобы определить наличие гетероскедастичности.

Эта функция использует следующий синтаксис:

gqtest(модель, order.by, данные, дробь)

Золото:

  • модель: модель линейной регрессии, созданная командой lm().
  • order.by: прогнозируемые переменные модели.
  • данные: имя набора данных.
  • фракция*: количество центральных наблюдений, которые необходимо удалить из набора данных.

*Тестер Гольдфельда-Квандта работает путем удаления ряда наблюдений, расположенных в центре набора данных, а затем проверки, чтобы увидеть, отличается ли распределение остатков от двух результирующих наборов данных, которые лежат по обе стороны от наборов данных. центральные наблюдения.

Обычно мы предпочитаем удалить около 20% от общего числа наблюдений. В данном случае mtcars имеет всего 32 наблюдения, поэтому мы можем удалить центральные 7 наблюдений:

 #load lmtest library
library(lmtest)

#perform the Goldfeld Quandt test
gqtest(model, order.by = ~disp+hp, data = mtcars, fraction = 7)

	Goldfeld-Quandt test

data: model
GQ = 1.0316, df1 = 10, df2 = 9, p-value = 0.486
alternative hypothesis: variance increases from segment 1 to 2

Вот как интерпретировать результат:

  • Статистика теста — 1,0316 .
  • Соответствующее значение p составляет 0,486 .

Тест Гольдфельда-Квандта использует следующие нулевые и альтернативные гипотезы:

  • Нуль (H 0 ) : Гомоскедастичность присутствует.
  • Альтернатива ( HA ): присутствует гетероскедастичность.

Поскольку значение p не меньше 0,05, мы не можем отвергнуть нулевую гипотезу. У нас нет достаточных доказательств, чтобы утверждать, что гетероскедастичность присутствует в регрессионной модели.

Что делать дальше

Если вам не удастся отвергнуть нулевую гипотезу теста Гольдфельда-Квандта, то гетероскедастичности нет и вы можете приступить к интерпретации результата исходной регрессии.

Однако если вы отклоните нулевую гипотезу, это означает, что в данных присутствует гетероскедастичность. В этом случае стандартные ошибки, отображаемые в выходной таблице регрессии, могут быть недостоверными.

Существует несколько распространенных способов решения этой проблемы, в том числе:

1. Преобразуйте переменную ответа.

Вы можете попробовать выполнить преобразование переменной ответа, например, взяв логарифмический, квадратный или кубический корень из переменной ответа. Как правило, это может привести к исчезновению гетероскедастичности.

2. Используйте взвешенную регрессию.

Взвешенная регрессия присваивает вес каждой точке данных на основе дисперсии ее подобранного значения. По сути, это придает низкий вес точкам данных с более высокими дисперсиями, уменьшая их остаточные квадраты.

При использовании соответствующих весов взвешенная регрессия может устранить проблему гетероскедастичности.

Дополнительные ресурсы

Как выполнить множественную линейную регрессию в R
Как выполнить тест Уайта в R
Как выполнить тест Бреуша-Пэгана в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *