Jak wykonać test goldfelda-quandta w r


Test Goldfelda-Quandta służy do określenia, czy w modelu regresji występuje heteroskedastyczność .

Heteroskedastyczność odnosi się do nierównomiernego rozproszenia reszt na różnych poziomachzmiennej odpowiedzi w modelu regresji.

Jeśli występuje heteroskedastyczność, narusza to jedno z kluczowych założeń regresji liniowej , że reszty są równomiernie rozproszone na każdym poziomie zmiennej odpowiedzi.

W tym samouczku przedstawiono krok po kroku sposób przeprowadzenia testu Goldfelda-Quandta w języku R w celu ustalenia, czy w danym modelu regresji występuje heteroskedastyczność.

Krok 1: Utwórz model regresji

Najpierw utworzymy model regresji liniowej wielokrotnej , korzystając ze zbioru danych mtcars wbudowanego w 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

Krok 2: Wykonaj test Goldfelda-Quandta

Następnie użyjemy funkcji gqtest() z pakietu lmtest w celu wykonania testu Goldfelda-Quandta w celu ustalenia, czy występuje heteroskedastyczność.

Ta funkcja wykorzystuje następującą składnię:

gqtest(model, zamówienie.by, dane, ułamek)

Złoto:

  • model: Model regresji liniowej utworzony za pomocą polecenia lm().
  • Order.by: zmienne predykcyjne modelu.
  • dane: nazwa zbioru danych.
  • ułamek*: liczba centralnych obserwacji do usunięcia ze zbioru danych.

*Test Goldfelda-Quandta polega na usunięciu szeregu obserwacji znajdujących się w środku zbioru danych, a następnie sprawdzeniu, czy rozkład reszt różni się od dwóch wynikowych zbiorów danych znajdujących się po obu stronach zbiorów danych. obserwacje centralne.

Zazwyczaj decydujemy się na usunięcie około 20% wszystkich obserwacji. W tym przypadku mtcars ma w sumie 32 obserwacje, więc możemy usunąć 7 centralnych obserwacji:

 #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

Oto jak zinterpretować wynik:

  • Statystyka testowa wynosi 1,0316 .
  • Odpowiednia wartość p wynosi 0,486 .

Test Goldfelda-Quandta wykorzystuje następujące hipotezy zerowe i alternatywne:

  • Null (H 0 ) : Homoskedastyczność jest obecna.
  • Alternatywa ( HA ): Występuje heteroskedastyczność.

Ponieważ wartość p jest nie mniejsza niż 0,05, nie możemy odrzucić hipotezy zerowej. Nie mamy wystarczających dowodów, aby twierdzić, że heteroskedastyczność jest obecna w modelu regresji.

Co zrobic nastepnie

Jeśli nie odrzucisz hipotezy zerowej testu Goldfelda-Quandta, wówczas heteroskedastyczność nie występuje i możesz przystąpić do interpretacji wyniku pierwotnej regresji.

Jeśli jednak odrzucisz hipotezę zerową, oznacza to, że w danych występuje heteroskedastyczność. W takim przypadku błędy standardowe wyświetlane w tabeli wyników regresji mogą być niewiarygodne.

Istnieje kilka typowych sposobów rozwiązania tego problemu, w tym:

1. Przekształć zmienną odpowiedzi.

Możesz spróbować przeprowadzić transformację zmiennej odpowiedzi, na przykład biorąc log, pierwiastek kwadratowy lub pierwiastek sześcienny zmiennej odpowiedzi. Ogólnie rzecz biorąc, może to spowodować zanik heteroskedastyczności.

2. Zastosuj regresję ważoną.

Regresja ważona przypisuje wagę każdemu punktowi danych na podstawie wariancji jego dopasowanej wartości. Zasadniczo nadaje to niskie wagi punktom danych o większych wariancjach, zmniejszając ich kwadraty resztowe.

Przy zastosowaniu odpowiednich wag regresja ważona może wyeliminować problem heteroskedastyczności.

Dodatkowe zasoby

Jak wykonać wielokrotną regresję liniową w R
Jak wykonać test White’a w R
Jak wykonać test Breuscha-Pagana w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *