lineare Regression

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
chulia
User
Beiträge: 29
Registriert: Mittwoch 17. August 2011, 10:26

Hallöchen,

ich hab mal eine Verständnisfrage zur linearen Regression.
Ich habe eine Zeitreihe und möchte dort eine Regressionsgerade durchlegen. Dies mache ich mit dem Befehl scipy.stats.linregress um auch Werte für p, r zu erhalten.

Gleichzeitig habe ich meine Daten auch in Excel eingeladen und dort die Regressionsgerade bestimmt um einen Anhaltspunkt zu erhalten.

Leider stimmen die beiden Regressionsgeraden nicht überein. Der Schnittpunkt mit der y-Achse ist immer unterschiedlich. Der Wert, der in Excel berechnet wurde scheint mir plausibler, wenn man die Daten plottet. Woran kann das liegen? Wie errechnet Python den Schnittpunkt?

Regressionsgerade in Excel: y=7,47x+550.32
Regressionsgerade in Python: y=7,47x-14026
Excel:
Bild
Python:
Bild

Ich hab mich dabei an diesem Beispiel orientiert:
http://www.holzbau-blog.org/nichtlinear ... in-python/

Ich hab das Internet schon durchgeforstet aber nichts gefunden. Auch mit polyfit komme ich auf den gleichen Schnittpunkt mit der y Achse ...
Vielen Dank für eure Hilfe.
Liebe Grüße
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Eigentlich ist doch die Pythonvariante plausibler - der Schnittpunkt mit y liegt bei x=0, wenn Du die Gerade bis dort verlängerst, sollte y tief negativ sein. Was Excel da rechnet - kA, wahrscheinlich ist in Excel das x so autonormiert, dass der erste Wert 0 oder 1 entspricht.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Hallo chulia,

die beiden Lösungen unterscheiden sich darin, dass Excel den Nullpunkt beim Jahr 1950 hat, während bei der Lösung mit Python den Nullpunkt im Jahre 0 hat. Ich nehme mal an dass du Excel nicht die Jahreszahlen, sondern die Zeilen- oder Spaltennumbern als x-Vektor geben hast.

Beste Grüße
Gerrit

PS: Ich denke nicht, dass bei der Zeitreihe eine linerare Regression angebracht ist, weil die Schwanken sehr groß sind. Nur als Randbemerkung!
chulia
User
Beiträge: 29
Registriert: Mittwoch 17. August 2011, 10:26

Vielen Dank jerch und gkuhl.

Stimmt mit der x Achsen Skallierung hätte ich auch drauf kommen können ;)

Vielen Dank für den Denkanstupser ^^

@ gkuhl: Ja, das war jetzt nur eins von vielen Beispielen. Das Bestimmtheitsmaß sagt ja schon aus, dass das Blödsinn ist. Ich hoffe nur, dass es bei anderen Daten besser aussieht ^^
Antworten