Das Akaike-Informationskriterium (AIC) ist eine Metrik, die verwendet wird, um die Anpassung verschiedener Regressionsmodelle zu vergleichen.
Es wird berechnet als:
AIC = 2K – 2ln (L)
wo:
- K: Die Anzahl der Modellparameter …
Eine der Annahmen der linearen Regression ist, dass es keine Korrelation zwischen den Residuen gibt. Mit anderen Worten wird angenommen, dass die Residuen unabhängig sind.
Eine Möglichkeit, um festzustellen, ob diese Annahme erfüllt ist, besteht darin, einen Durbin-Watson-Test durchzuführen, mit dem das Vorhandensein einer Autokorrelation in den Residuen einer Regression festgestellt wird. Dieser Test verwendet die folgenden Hypothesen:
H 0 (Nullhypothese): Es gibt keine Korrelation zwischen den Residuen.
H A (alternative Hypothese): Die Residuen sind autokorreliert.
Die Teststatistik ist ungefähr gleich 2 * (1-r), wobei r die Probenautokorrelation der Residuen ist. Daher liegt die Teststatistik immer zwischen 0 und 4 mit der folgenden Interpretation:
Als Faustregel gelten Teststatistikwerte zwischen 1,5 und 2,5 als normal. Werte außerhalb dieses Bereichs können jedoch darauf hinweisen, dass die Autokorrelation ein Problem darstellt.
In diesem Tutorial wird erklärt, wie Sie einen Durbin-Watson-Test in Python durchführen.
Angenommen, wir haben 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
Angenommen, wir passen ein Modell mit mehreren linearen Regressionen an, wobei die Bewertung als Antwortvariable und die anderen drei Variablen als Prädiktorvariablen verwendet werden:
from statsmodels.formula.api import ols
# mehrere lineare Regressionsmodelle anpassen
model = ols('rating ~ points + assists + rebounds', data=df).fit()
# Modellzusammenfassung anzeigen
print(model.summary())
Wir können einen Durbin Watson mit der Funktion durbin_watson() aus der statsmodels Bibliothek ausführen, um festzustellen, ob die Residuen des Regressionsmodells automatisch korreliert sind:
from statsmodels.stats.stattools import durbin_watson
# Durbin-Watson-Test durchführen
durbin_watson(model.resid)
2.392
Die Teststatistik ist 2.392. Da dies im Bereich von 1,5 bis 2,5 liegt, würden wir die Autokorrelation in diesem Regressionsmodell als nicht problematisch betrachten.
Wenn Sie die Nullhypothese ablehnen und zu dem Schluss kommen, dass in den Residuen Autokorrelation vorhanden ist, haben Sie verschiedene Möglichkeiten, dieses Problem zu beheben, wenn Sie es für ernst genug halten:
1. Für eine positive serielle Korrelation sollten Sie Verzögerungen der abhängigen und / oder unabhängigen Variablen zum Modell hinzufügen.
2. Stellen Sie bei negativer serieller Korrelation sicher, dass keine Ihrer Variablen überdifferenziert ist.
3. Für die saisonale Korrelation sollten Sie dem Modell saisonale Dummy-Variablen hinzufügen.
Das Akaike-Informationskriterium (AIC) ist eine Metrik, die verwendet wird, um die Anpassung verschiedener Regressionsmodelle zu vergleichen.
Es wird berechnet als:
AIC = 2K – 2ln (L)
wo:
Die logistische Regression ist eine statistische Methode, die wir verwenden, um ein Regressionsmodell anzupassen, wenn die Antwortvariable binär ist.
Um zu beurteilen, wie gut ein logistisches Regressionsmodell zu einem Datensatz …