Як виконати тест гольдфельда-квандта в 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 .

Тест Голдфельда-Квандта використовує такі нульові та альтернативні гіпотези:

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

Оскільки p-значення не менше 0,05, ми не можемо відхилити нульову гіпотезу. У нас немає достатніх доказів, щоб стверджувати, що гетероскедастичність присутня в регресійній моделі.

Що робити далі

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

Однак якщо ви відкидаєте нульову гіпотезу, це означає, що гетероскедастичність присутня в даних. У цьому випадку стандартні помилки, відображені в таблиці результатів регресії, можуть бути ненадійними.

Існує кілька поширених способів вирішення цієї проблеми, зокрема:

1. Перетворення змінної відповіді.

Ви можете спробувати виконати перетворення змінної відповіді, наприклад взявши логарифм, квадратний або кубічний корінь змінної відповіді. Як правило, це може призвести до зникнення гетероскедастичності.

2. Використовуйте зважену регресію.

Зважена регресія призначає вагу кожній точці даних на основі дисперсії її підігнаного значення. По суті, це дає низькі ваги для точок даних, які мають більшу дисперсію, зменшуючи їхні залишкові квадрати.

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

Додаткові ресурси

Як виконати множинну лінійну регресію в R
Як виконати тест Уайта в R
Як виконати тест Брейша-Пейгана в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *