Seite 1 von 1
Regression / numerical recipes
Verfasst: Donnerstag 13. Juni 2019, 12:12
von Hase
Hallo, ich muss aus x,y-Datein einer Messeinrichtung per Regression eine Funktion ermitteln. Es ist eine sinusförmige Schwingung mit linearem Element.
Die Funktion hat die Form f(x) = a1 + a2 cos( 2Pi f t +a3) + a4 t
Gibt es da irgendein prädestiniertes Modul? Eine lineare Regression traue ich mir zu, aber bei dieser Funktion sind meine Grenzen erreicht.
Grüße
I.H.
Re: Regression / numerical recipes
Verfasst: Donnerstag 13. Juni 2019, 12:16
von Hase
Zur Ergänzung:
die Frequenz f ist bekannt, und die Zeit t sollte auch bekannt sein.
Re: Regression / numerical recipes
Verfasst: Donnerstag 13. Juni 2019, 12:25
von Hase
Sorry, die Funktion muss ja wohl f(t) heißen.
Re: Regression / numerical recipes
Verfasst: Dienstag 18. Juni 2019, 13:37
von Hase
So, habe es rausgefunden, hier noch mal, falls es noch jemanden interessiert.
Das geht tatsächlich mit:
scipy.optimize.curve_fit(f, x, a,b,c)
Das ist einerseits genial, da f eine ziemlich komplizierte Funktion sein kann. Andererseits setzt die Doku dazu einiges an tieferem Verständnis voraus, ich behaupte mal, das ist deutlich jenseits eines Hobbyprogrammierers. Auch finde ich es nicht gerade "batteries included", z.B. muss man sich R² tatsächlich "zu Fuß" ausrechnen. Dennoch, Problem ist gelöst.
I.H.
Re: Regression / numerical recipes
Verfasst: Dienstag 18. Juni 2019, 15:10
von __deets__
Zum einen ist scipy kein "Batteries included", denn das bezieht sich auf die Standardbibliothek. Und das Vestaendnis von "batteries included" ist auch nicht, dass alles einfach und ohne Kentnisse des zu loesenden Problems geht. Sondern, dass fuer viele Probleme die notwendigen Mittel zur Verfuegung stehen - wenn man das Problem verstanden hat. Du wirst auch nicht zum begnadeten Musiker, nur weil eine Roland TB303 ein gut gefuelltes Batteriefach hat.
Re: Regression / numerical recipes
Verfasst: Mittwoch 19. Juni 2019, 08:58
von Hase
Nun, das ist offenbar der Unterschied zwischen Informatiker und Ingenieur. Als Ingenieur muss ich nicht wissen, wie genau die Mehrschichtentheorie auf numerischer Ebene funktioniert, solange ich sie richtig anwenden und die Ergebnissen interpretieren kann.
Also, ich finde scipy an dieser Stelle echt Anspruchsvoll. Und ich muss mich hier im Hause gegen meine Excel-Kollegen behaupten, die nur sagen: wieso, ich tip das hier ein, und dann zeigt mir Excel das Ergebnis.
Re: Regression / numerical recipes
Verfasst: Mittwoch 19. Juni 2019, 09:23
von __deets__
Mehr muss ich auch nicht wissen, aber ich muss DAS wissen. Die Erwartungshaltung, alles und jedes muesse genau so sein, wie man es persoenlich erwartet, und sonst ist's Mist - die habe ich noch nie verstanden.
Und wenn deine Kollegen einen einfacheren Weg haben, dann waere der pragmatische Ingenieur gut beraten, den auch zu beschreiten. Warum musst du dich also behaupten? Benutz Excel und werde gluecklich. Right tool for the job und so.
Re: Regression / numerical recipes
Verfasst: Mittwoch 19. Juni 2019, 09:36
von Sirius3
@Hase: ganz im Gegenteil. Die Doku setzt gar nichts an Verständnis voraus, wenn man das Beispiel anschaut, kann man diese ohne irgend etwas verstanden zu haben, modifizieren. Dass eine Funktion wie scipy.optimize.curve_fit sehr viele Parameter hat, weil curve-Fitting eben kein einfaches Problem ist, und dass ich alle Parameter in einer Dokumentation auch beschrieben haben will, ist eigentlich eine Selbstverständlichkeit.