So führen sie einen breusch-pagan-test in python durch
In der Regressionsanalyse bezieht sich Heteroskedastizität auf die ungleichmäßige Streuung von Residuen. Genauer gesagt ist dies der Fall, wenn sich die Verteilung der Residuen über den Messwertbereich systematisch ändert.
Heteroskedastizität ist ein Problem, da bei der Regression der gewöhnlichen kleinsten Quadrate (OLS) davon ausgegangen wird, dass die Residuen aus einer Population stammen, die Homoskedastizität , also konstante Varianz, aufweist.
Wenn in einer Regressionsanalyse Heteroskedastizität vorliegt, werden die Ergebnisse der Analyse schwer zu glauben.
Eine Möglichkeit, in einer Regressionsanalyse festzustellen, ob Heteroskedastizität vorliegt, ist die Verwendung eines Breusch-Pagan-Tests .
In diesem Tutorial wird erläutert, wie Sie einen Breusch-Pagan-Test in Python durchführen.
Beispiel: Breusch-Pagan-Test in Python
Für dieses Beispiel verwenden wir den folgenden Datensatz, der die Attribute von 10 Basketballspielern beschreibt:
import numpy as np import pandas as pd #create dataset df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86], 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19], 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]}) #view dataset df rating points assists rebounds 0 90 25 5 11 1 85 20 7 8 2 82 14 7 10 3 88 16 8 6 4 94 27 5 6 5 90 20 7 9 6 76 12 6 6 7 75 15 9 10 8 87 14 9 10 9 86 19 5 7
Wir werden ein multiples lineares Regressionsmodell anpassen, das die Bewertung als Antwortvariable und Punkte, Assists und Rebounds als erklärende Variablen verwendet. Als nächstes führen wir einen Breusch-Pagan-Test durch, um festzustellen, ob in der Regression Heteroskedastizität vorliegt.
Schritt 1: Passen Sie ein multiples lineares Regressionsmodell an.
Zunächst passen wir ein multiples lineares Regressionsmodell an:
import statsmodels.formula.api as smf #fit regression model fit = smf.ols('rating ~ points+assists+rebounds', data=df). fit () #view model summary print (fit.summary())
Schritt 2: Führen Sie einen Breusch-Pagan-Test durch.
Als nächstes führen wir einen Breusch-Pagan-Test durch, um festzustellen, ob Heteroskedastizität vorliegt.
from statsmodels.compat import lzip import statsmodels.stats.api as sms #perform Bresuch-Pagan test names = ['Lagrange multiplier statistic', 'p-value', 'f-value', 'f p-value'] test = sms.het_breuschpagan(fit.resid, fit.model.exog) lzip(names, test) [('Lagrange multiply statistic', 6.003951995818433), ('p-value', 0.11141811013399583), ('f-value', 3.004944880309618), ('f p-value', 0.11663863538255281)]
Ein Breusch-Pagan-Test verwendet die folgenden Null- und Alternativhypothesen:
Die Nullhypothese (H 0 ): Homoskedastizität liegt vor.
Die Alternativhypothese: (Ha): Homoskedastizität liegt nicht vor (d. h. Heteroskedastizität existiert)
In diesem Beispiel beträgt die Lagrange-Multiplikatorstatistik für den Test 6,004 und der entsprechende p-Wert beträgt 0,1114 . Da dieser p-Wert nicht kleiner als 0,05 ist, können wir die Nullhypothese nicht ablehnen. Wir haben keine ausreichenden Beweise, um zu behaupten, dass Heteroskedastizität im Regressionsmodell vorhanden ist.
So beheben Sie Heteroskedastizität
Im vorherigen Beispiel haben wir gesehen, dass Heteroskedastizität im Regressionsmodell nicht vorhanden war.
Wenn jedoch tatsächlich Heteroskedastizität vorliegt, gibt es drei gängige Möglichkeiten, die Situation zu beheben:
1. Transformieren Sie die abhängige Variable. Eine Möglichkeit zur Korrektur der Heteroskedastizität besteht darin, die abhängige Variable auf irgendeine Weise zu transformieren. Eine übliche Transformation besteht darin, einfach den Logarithmus der abhängigen Variablen zu verwenden.
2. Definieren Sie die abhängige Variable neu. Eine andere Möglichkeit, Heteroskedastizität zu korrigieren, besteht darin, die abhängige Variable neu zu definieren. Eine übliche Methode hierfür ist die Verwendung einer Rate für die abhängige Variable anstelle des Rohwerts.
3. Verwenden Sie eine gewichtete Regression. Eine andere Möglichkeit zur Korrektur der Heteroskedastizität ist die Verwendung einer gewichteten Regression. Diese Art der Regression weist jedem Datenpunkt basierend auf der Varianz seines angepassten Werts eine Gewichtung zu. Wenn die entsprechenden Gewichte verwendet werden, kann das Problem der Heteroskedastizität beseitigt werden.
Weitere Einzelheiten zu jeder dieser drei Methoden finden Sie in diesem Artikel .