So führen Sie einen Breusch-Pagan-Test in Python durch

Von Fabian
Kategorie: Python
Tags: Regression
Lesezeit: 4 Minuten

In der Regressionsanalyse bezieht sich Heteroskedastizität auf die ungleiche Streuung von Residuen. Insbesondere bezieht es sich auf den Fall, dass sich die Verteilung der Residuen über den Bereich der Messwerte systematisch ändert.

Die Heteroskedastizität ist ein Problem, da die gewöhnliche Regression der kleinsten Quadrate (OLS) davon ausgeht, dass die Residuen aus einer Population mit Homoskedastizität stammen, was eine konstante Varianz bedeutet. Wenn in einer Regressionsanalyse Heteroskedastizität vorliegt, sind die Ergebnisse der Analyse schwer zu vertrauen.

Eine Möglichkeit, festzustellen, ob in einer Regressionsanalyse Heteroskedastizität vorliegt, ist die Verwendung eines Breusch-Pagan-Tests.

In diesem Tutorial wird erklärt, wie ein Breusch-Pagan-Test in Python durchgeführt wird.

Beispiel: Breusch-Pagan-Test in Python

In diesem Beispiel verwenden wir den folgenden Datensatz, der die Attribute von 10 Basketballspielern beschreibt:

import numpy as np
import pandas as pd

# Datensatz erstellen
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]})

#Datensatz anzeigen
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. Dann werden wir einen Breusch-Pagan-Test durchführen, um festzustellen, ob Heteroskedastizität in der Regression vorhanden ist.

Schritt 1: Passen Sie ein Modell mit mehreren linearen Regressionen an.

Zunächst passen wir ein Modell mit mehreren linearen Regressionen an:

import statsmodels.formula.api as smf

# Regressionsmodell anpassen
fit = smf.ols('rating ~ points+assists+rebounds', data=df).fit()

# Modellzusammenfassung anzeigen
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

# Bresuch-Pagan-Test durchführen
names = ['Lagrange multiplier statistic', 'p-value',
        'f-value', 'f p-value']
test = sms.het_breuschpagan(fit.resid, fit.model.exog)

lzip(names, test)

[('Lagrange multiplier 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 ist vorhanden.

Die alternative Hypothese: (Ha): Homoskedastizität ist nicht vorhanden (d.h. Heteroskedastizität besteht)

In diesem Beispiel beträgt die Lagrange-Multiplikatorstatistik für den Test 6,004 und der entsprechende p-Wert 0,1114. Da dieser 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.

Wie man Heteroskedastizität behebt

Im vorherigen Beispiel haben wir gesehen, dass im Regressionsmodell keine Heteroskedastizität vorhanden war. Wenn jedoch tatsächlich Heteroskedastizität vorliegt, gibt es drei übliche Möglichkeiten, um die Situation zu beheben:

1. Transformieren Sie die abhängige Variable. Eine Möglichkeit, die Heteroskedastizität zu beheben, besteht darin, die abhängige Variable auf irgendeine Weise zu transformieren. Eine übliche Transformation besteht darin, einfach das Protokoll der abhängigen Variablen zu erstellen.

2. Definieren Sie die abhängige Variable neu. Eine andere Möglichkeit, die Heteroskedastizität zu beheben, besteht darin, die abhängige Variable neu zu definieren. Ein üblicher Weg, dies zu tun, besteht darin, eine Rate für die abhängige Variable anstelle des Rohwerts zu verwenden.

3. Verwenden Sie die gewichtete Regression. Eine andere Möglichkeit, die Heteroskedastizität zu beheben, ist die Verwendung einer gewichteten Regression. Diese Art der Regression weist jedem Datenpunkt eine Gewichtung basierend auf der Varianz seines angepassten Werts zu. Wenn die richtigen Gewichte verwendet werden, kann dies das Problem der Heteroskedastizität beseitigen.

Weitere Informationen zu jeder dieser drei Methoden finden Sie in diesem Beitrag.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: