Mir ist klar, dass dieses Thema schon einige Male vorgekommen ist , aber ich bin mir immer noch unsicher, wie ich meine Regressionsergebnisse am besten interpretieren kann.
Ich habe einen sehr einfachen Datensatz, bestehend aus einer Spalte mit x-Werten und einer Spalte mit y-Werten , aufgeteilt in zwei Gruppen nach Ort (loc). Die Punkte sehen so aus
Ein Kollege hat die Hypothese aufgestellt, dass wir jeder Gruppe, die ich verwendet habe, separate einfache lineare Regressionen zuordnen sollten y ~ x * C(loc)
. Die Ausgabe wird unten gezeigt.
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.873
Model: OLS Adj. R-squared: 0.866
Method: Least Squares F-statistic: 139.2
Date: Mon, 13 Jun 2016 Prob (F-statistic): 3.05e-27
Time: 14:18:50 Log-Likelihood: -27.981
No. Observations: 65 AIC: 63.96
Df Residuals: 61 BIC: 72.66
Df Model: 3
Covariance Type: nonrobust
=================================================================================
coef std err t P>|t| [95.0% Conf. Int.]
---------------------------------------------------------------------------------
Intercept 3.8000 1.784 2.129 0.037 0.232 7.368
C(loc)[T.N] -0.4921 1.948 -0.253 0.801 -4.388 3.404
x -0.6466 0.230 -2.807 0.007 -1.107 -0.186
x:C(loc)[T.N] 0.2719 0.257 1.057 0.295 -0.242 0.786
==============================================================================
Omnibus: 22.788 Durbin-Watson: 2.552
Prob(Omnibus): 0.000 Jarque-Bera (JB): 121.307
Skew: 0.629 Prob(JB): 4.56e-27
Kurtosis: 9.573 Cond. No. 467.
==============================================================================
Bei Betrachtung der p-Werte für die Koeffizienten unterscheiden sich die Dummy-Variable für die Position und der Interaktionsterm nicht wesentlich von Null. In diesem Fall reduziert sich mein Regressionsmodell im Wesentlichen auf die rote Linie in der obigen Darstellung. Für mich deutet dies darauf hin, dass das Anpassen separater Linien an die beiden Gruppen möglicherweise ein Fehler ist und ein besseres Modell eine einzelne Regressionslinie für den gesamten Datensatz darstellt, wie unten gezeigt.
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.593
Model: OLS Adj. R-squared: 0.587
Method: Least Squares F-statistic: 91.93
Date: Mon, 13 Jun 2016 Prob (F-statistic): 6.29e-14
Time: 14:24:50 Log-Likelihood: -65.687
No. Observations: 65 AIC: 135.4
Df Residuals: 63 BIC: 139.7
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [95.0% Conf. Int.]
------------------------------------------------------------------------------
Intercept 8.9278 0.935 9.550 0.000 7.060 10.796
x -1.2446 0.130 -9.588 0.000 -1.504 -0.985
==============================================================================
Omnibus: 0.112 Durbin-Watson: 1.151
Prob(Omnibus): 0.945 Jarque-Bera (JB): 0.006
Skew: 0.018 Prob(JB): 0.997
Kurtosis: 2.972 Cond. No. 81.9
==============================================================================
Das sieht für mich optisch in Ordnung aus, und die p-Werte für alle Koeffizienten sind jetzt signifikant. Der AIC für das zweite Modell ist jedoch viel höher als für das erste.
Mir ist klar, dass es bei der Modellauswahl nicht nur um p-Werte oder nur um den AIC geht, aber ich bin mir nicht sicher, was ich daraus machen soll. Kann jemand praktische Ratschläge zur Interpretation dieser Ausgabe und zur Auswahl eines geeigneten Modells geben? ?
Meines Erachtens sieht die einzelne Regressionsgerade in Ordnung aus (obwohl mir klar ist, dass keine besonders gut ist), aber es scheint, als gäbe es zumindest eine Rechtfertigung für die Anpassung separater Modelle (?).
Vielen Dank!
Als Antwort auf Kommentare bearbeitet
@Cagdas Ozgenc
Das zweizeilige Modell wurde mit Pythons Statistikmodellen und dem folgenden Code ausgestattet
reg = sm.ols(formula='y ~ x * C(loc)', data=df).fit()
So wie ich es verstehe, ist dies im Wesentlichen nur eine Abkürzung für ein Modell wie dieses
Welches ist die blaue Linie auf dem Grundstück oben. Der AIC für dieses Modell wird automatisch in der Statistikmodellzusammenfassung angegeben. Für das einzeilige Modell habe ich einfach gebraucht
reg = ols(formula='y ~ x', data=df).fit()
Ich finde das ok
@ user2864849
Ich denke nicht, dass das Einlinienmodell offensichtlich besser ist, aber ich mache mir Sorgen darüber, wie schlecht die Regressionsgerade für eingeschränkt ist
Bearbeiten 2
Der Vollständigkeit halber hier die von @whuber vorgeschlagenen Residuendiagramme. Das zweizeilige Modell sieht in dieser Hinsicht in der Tat viel besser aus.
Zweizeiliges Modell
Einzeiliges Modell
Vielen Dank an alle!