Sinusregression |
| 22.07.2007, 15:26 | Philipp01 | Auf diesen Beitrag antworten » |
| Sinusregression |
||
| 22.07.2007, 15:43 | Tomtomtomtom | Auf diesen Beitrag antworten » |
Im Prinzip machst du genau das gleiche wie bei der Annäherung durch Polynome oder Methode der kleinsten Quadrate, nur das du hier (falls das nicht schon irgendwo steht) die Theorie erstmal "von Hand" entwickeln müßtest, und keine Formeln irgendwo abschreiben kannst. Im Prinzip willst du ja folgendes Optimierungsproblem lösen: Theoretisch müßtest du jetzt nach jedem der 4 Parametern ableiten und das ganze Null setzen, das gibt dir ein Gleichungssystem von 4 Gleichungen in den 4 Variablen a,b,c,d. Aber irgendwo hat das bestimmt auch schonmal wer aufgeschrieben. |
||
| 22.07.2007, 16:05 | Philipp01 | Auf diesen Beitrag antworten » |
also ich habe nichts entsprechendes im Internet gefunden und auch keine Erfahrungen mit Regressionsanalysen. Bist du sicher, dass es so funktioniert und wenn ja, könntest du es etwas genauer aufschreiben (habe nur ein Mathematikabitur und noch kein Studium begonnen)? Muss ich erst die Summe bilden, dann davon das Minimum und dann die Gleichung nach den 4 Größen ableiten? Geht das übehaupt bei Sinus, schließlich handelt es sich ja um periodische Daten? Danke für deine Hilfe. Wenn mir noch jemand einen Tip zum Thema geben kann würde ich mich echt freuen ;-) |
||
| 22.07.2007, 16:20 | Tomtomtomtom | Auf diesen Beitrag antworten » |
Naja, wenn du weißt, daß deine Daten irgendwie periodisch sein müßten, dann macht auch der Versuch der Annäherung über die Sinusfunktion Sinn, ansonsten wohl nicht. Wenn du zusätzlich noch mehr über deine Daten weißt, zum Beispiel, daß es gemessene Temperatur einer Wetterstation sind, und damit die Periodenlänge wohl bei 12 Monaten liegen wird, kannst du auch einige Parameter gleich daraus schätzen und direkt einsetzen. Ansonsten wird das halt wenn man die allgemeine Methode nimmt nach dem ableiten ziemlich hässlich. Deshalb wird man da wohl nur numerisch rangehen können. |
||
| 22.07.2007, 16:26 | Philipp01 | Auf diesen Beitrag antworten » |
und wie "geht man da numerisch ran"? |
||
| 22.07.2007, 16:38 | sqrt(2) | Auf diesen Beitrag antworten » |
gnuplot macht das alles für einen automatisch (und gibt einem auch die Werte für die Fehlerabschätzung aus). |
||
| Anzeige | ||
|
|
||
| 22.07.2007, 16:39 | magneto42 | Auf diesen Beitrag antworten » |
Hallo Philipp. Eine anylytische Lösung wie bei Geraden wird es bei einer Sinusfunktion wohl nicht geben. Für einen Datenfit werden gerne Algorithmen wie Levenberg-Marquardt und Simplex genommen. Ich kenne mich damit auch nicht sonderlich aus. Ich habe das auch nur immer wieder in Dokumentionen von Fit-Programmen gelesen. Vielleicht solltest Du mal danach googeln. |
||
| 22.07.2007, 16:43 | Tomtomtomtom | Auf diesen Beitrag antworten » |
Naja, die verbreitetsten Algorithmen dazu sind wohl der Gauss-Newton Algorithmus (http://en.wikipedia.org/wiki/Gauss-Newton_algorithm) und der Levenberg-Marquardt-Algorithmus (http://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm) Aber mit Abiturwissen kommt man da wohl mit erklären nicht besonders weit, und das ist auch nciht so ganz mein Gebiet. |
||
| 22.07.2007, 17:00 | Philipp01 | Auf diesen Beitrag antworten » |
schade ;-) naja, ich danke euch für die hilfe, wenn euch noch ein guter link oder so einfällt immer her damit! ich wünsche euch noch ein angenehmes Wochenende! |
||
| 22.07.2007, 23:48 | Mazze | Auf diesen Beitrag antworten » |
Was funktionieren könnte (aber nicht zwingend muss!) wäre eine Schrittweise annäherung. Ich mach das mal Beispielsweise am Parameter a. Wir wählen b,c,d (i.A. zufällig). Dann leiten wir den Quadratischen Fehler nach a ab und erhalten: das Ergibt dann umgestellt : also insgesammt für a: Dieses a berechnest Du und machst den selben Spaß dann für b,c,d. Das größte Problem hierbei wird sein das wohl für die Parameter b und c das ganze nicht mehr analytisch lösbar sein wird. Ich habs nicht ausprobiert aber das kann natürlich passieren. Weiterhin ist das Resultat abhängig von der Wahl der b0,c0, und d0. Aber nur als Hinweis, ich hab mit der Methode vor 2 Wochen die Sincfunktion fast perfekt aus verrauschten Daten extrahiert. Das ganze ergibt natürlich überhaupt keinen Sinn wenn man das an einer Stelle nicht lösen kann, diese Gleichungen müsste man dann wieder numerisch lösen, und dafür gibt es sicher bessere Wege. Ich bin mir mitlerweile sogar ziemlich sicher das dass für b,c nicht analytisch lösbar ist, aber vielleicht kannst Du ja annhand der Daten sehen wie b,c aussehen müssten. Ein sehr einfaches numerisches Verfahren wäre ein Gradientenabstieg mit Hilfe der Fehlerfunktion, sei hierzu der Vektor der Parametervektor und die Fehlerfunktion wie oben schon Der Berechnungsschritt ist dann: Wobei eta eine Schrittweite angibt (die man auch dynamisch anpassen kann oder direkt zu begin sehr klein wählen kann). Abbruchbedingung für diesen Algorithmus könnte zum Beispiel sein wenn, . Hierbei wird ausgenutzt das der Gradient immer in die Richtung des stärksten Anstieges zeigt, der negative Gradient also in die Richtung des stärksten Abstiegs. Wir bewegen uns also immer in Richtung eines lokalen Minimums, und das ist auch im Prinzip das große Problem an dem Verfahren, man wird sehr wahrscheinlich nur in einem lokalen Minimum anstatt im Globalen Landen. Das hängt auch wieder entschieden von der Wahl der Startparameter ab, wie vorhin, wenn Du etwas ablesen kannst von den Daten dann hilft das durchaus. Es gibt dann noch einige Modifikationen dieses Algorithmus um lokale Minima zu verlassen, aber das würde wohl zu weit führen
|
||
| 23.07.2007, 00:34 | Calvin | Auf diesen Beitrag antworten » |
Ich hatte mal das gleiche Problem. Wenn man den Sinus mit Additionstheoremen aufspaltet, läßt es sich relativ problemlos mit der Methode der kleinsten Fehlerquadrate lösen. Mein Thread damals war sehr kurz, aber vielleicht hilft es ja schon: Messwerte durch Sinusfunktion annähern |
||
|
|
Verwandte Themen
| Die Beliebtesten » |
| Die Größten » |
| Die Neuesten » |
