Durchführung des Goldfeld-Quandt-Tests in R

Von Fabian
Kategorie: R
Tags: Regression
Lesezeit: 3 Minuten

Der Goldfeld-Quandt-Test wird verwendet, um festzustellen, ob in einem Regressionsmodell Heteroskedastizität vorliegt.

Heteroskedastizität bezieht sich auf die ungleiche Streuung von Residuen auf verschiedenen Ebenen einer Antwortvariablen in einem Regressionsmodell.

Wenn Heteroskedastizität vorliegt, verstößt dies gegen eine der Hauptannahmen der linearen Regression, dass die Residuen auf jeder Ebene der Antwortvariablen gleichmäßig verteilt sind.

Dieses Tutorial enthält ein schrittweises Beispiel für die Durchführung des Goldfeld-Quandt-Tests in R, um festzustellen, ob in einem bestimmten Regressionsmodell eine Heteroskedastizität vorliegt oder nicht.

Schritt 1: Erstellen Sie ein Regressionsmodell

Zunächst erstellen wir ein Modell mit multipler linearer Regression unter Verwendung des integrierten mtcars-Datasets in R:

#ein Regressionsmodell anpassen
model <- lm(mpg~disp+hp, data=mtcars)

#Modellzusammenfassung anzeigen
summary(model)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904   1.331566  23.083  < 2e-16 ***
disp        -0.030346   0.007405  -4.098 0.000306 ***
hp          -0.024840   0.013385  -1.856 0.073679 .  
---
Signif. 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

Schritt 2: Führen Sie den Goldfeld-Quandt-Test durch

Als nächstes verwenden wir die Funktion gqtest() aus dem lmtest-Paket, um den Goldfeld-Quandt-Test durchzuführen und festzustellen, ob Heteroskedastizität vorliegt.

Diese Funktion verwendet die folgende Syntax:

gqtest(model, order.by, data, fraction)

wo:

  • model: Das mit dem Befehl lm() erstellte lineare Regressionsmodell.
  • order.by: Die Prädiktorvariable (n) im Modell.
  • data: Der Name des Datensatzes.
  • fraction *: Die Anzahl der zentralen Beobachtungen, die aus dem Datensatz entfernt werden sollen.

* Beim Goldfeld-Quandt-Test werden einige Beobachtungen in der Mitte des Datensatzes entfernt und anschließend geprüft, ob sich die Verteilung der Residuen von den beiden resultierenden Datensätzen auf beiden Seiten der zentralen Beobachtungen unterscheidet.

Normalerweise entfernen wir etwa 20% der gesamten Beobachtungen. In diesem Fall hat mtcars insgesamt 32 Beobachtungen, sodass wir die zentralen 7 Beobachtungen entfernen können:

#lmtest Bibliothek laden
library(lmtest)

#Führen Sie den Goldfeld Quandt-Test durch
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

So interpretieren Sie die Ausgabe:

  • Die Teststatistik ist 1.0316.
  • Der entsprechende p-Wert beträgt 0,486.

Der Goldfeld-Quandt-Test verwendet die folgenden Null- und Alternativhypothesen:

  • Null (H 0 ): Homoskedastizität ist vorhanden.
  • Alternative (H A ): Heteroskedastizität ist vorhanden.

Da der p-Wert nicht kleiner als 0,05 ist, können wir die Nullhypothese nicht ablehnen. Wir haben nicht genügend Beweise, um zu sagen, dass das Regressionsmodell Heteroskedastizität aufweist.

Was macht man als nächstes

Wenn Sie die Nullhypothese des Goldfeld-Quandt-Tests nicht ablehnen, liegt keine Heteroskedastizität vor, und Sie können mit der Interpretation der Ausgabe der ursprünglichen Regression fortfahren.

Wenn Sie jedoch die Nullhypothese ablehnen, bedeutet dies, dass die Daten heteroskedastisch sind. In diesem Fall können die Standardfehler, die in der Ausgabetabelle der Regression angezeigt werden, unzuverlässig sein.

Es gibt einige gängige Möglichkeiten, um dieses Problem zu beheben, darunter:

1. Transformieren Sie die Antwortvariable.

Sie können versuchen, eine Transformation für die Antwortvariable durchzuführen, z. B. Log, die Quadratwurzel oder die Kubikwurzel der Antwortvariablen. In der Regel kann dies dazu führen, dass die Heteroskedastizität verschwindet.

2. Verwenden Sie die gewichtete Regression.

Die gewichtete Regression weist jedem Datenpunkt eine Gewichtung basierend auf der Varianz seines angepassten Werts zu. Dies gibt Datenpunkten mit höheren Varianzen im Wesentlichen kleine Gewichte, wodurch ihre quadratischen Residuen verkleinert werden.

Wenn die richtigen Gewichte verwendet werden, kann die gewichtete Regression das Problem der Heteroskedastizität beseitigen.

Zusätzliche Ressourcen

So führen Sie eine mehrfache lineare Regression in R durch
So führen Sie den Weiß-Test in R durch
Wie man einen Breusch-Pagan-Test in R durchführt

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: