Warum würde R-Squared abnehmen, wenn ich eine exogene Variable in OLS mit python statsmodels hinzufügen

Wenn ich das OLS-Modell richtig verstehe, sollte das niemals der Fall sein?

trades['const']=1 Y = trades['ret']+trades['comms'] #X = trades[['potential', 'pVal', 'startVal', 'const']] X = trades[['potential', 'pVal', 'startVal']] from statsmodels.regression.linear_model import OLS ols=OLS(Y, X) res=ols.fit() res.summary() 

Wenn ich den const auf, ich bekomme ein rsquared von 0.22 und mit ihm aus, bekomme ich 0.43. Wie ist das überhaupt möglich?

One Solution collect form web for “Warum würde R-Squared abnehmen, wenn ich eine exogene Variable in OLS mit python statsmodels hinzufügen”

Sehen Sie die Antwort hier Statsmodels: Berechnen Sie die passenden Werte und R quadriert

Rsquared folgt einer anderen Definition, je nachdem, ob es eine Konstante im Modell gibt oder nicht.

Rsquared in einem linearen Modell mit einer Konstante ist die Standard-Definition, die einen Vergleich mit einem mittleren nur Modell als Referenz verwendet. Gesamtsumme der Quadrate wird erniedrigt.

Rsquared in einem linearen Modell ohne Konstante vergleicht mit einem Modell, das überhaupt keine Regressoren hat, oder die Wirkung der Konstante ist Null. In diesem Fall verwendet die R-Quadrat-Berechnung eine Gesamtsumme von Quadraten, die nicht erniedrigen.

Da sich die Definition ändert, wenn wir eine Konstante hinzufügen oder fallen lassen, kann die R-Quadrate entweder gehen. Die tatsächlich erläuterte Summe der Quadrate wird immer erhöht, wenn wir zusätzliche Erklärungsvariablen hinzufügen oder unverändert bleiben, wenn die neue Variable nichts dazu beiträgt,

  • Wie bekomme ich den Regressionsabschluss mit Statsmodels.api
  • Statsmodels arma (1,0) stimmt nicht mit AR (1) überein
  • Statsmodels Poisson glm anders als R
  • Warum schließt sich mein Pandas in die Zeilen der beigefügten Daten ein?
  • Fehlende Abschnitte von OLS Regressionsmodellen in Python Statsmodellen
  • Python 2.7 - statsmodels - Formatierung und schriftliche Zusammenfassung Ausgabe
  • Python statsmodels Schwierigkeiten, passende Modellparameter zu bekommen
  • Wie man über Spalten von pandas dataframe iterate läuft, um Regression zu laufen
  • Python Statsmodels: Mit SARIMAX mit exogenen Regressoren, um vorhergesagte Mittel- und Konfidenzintervalle zu erhalten
  • Einseitiger t-Test für lineare Regression?
  • Python - finden Sie, wo die Handlung kreuzt die axhline auf Python-Plot
  • Python ist die beste Programmiersprache der Welt.