Registriert: Sa Aug 18, 2007 18:47 Beiträge: 694 Wohnort: Köln
Programmiersprache: Java
Hallo zusammen,
ich versuche im Moment einen Graphen mit völlig wahllos vergebenen Werten zu analysieren. Den Durchschnitt bzw. das arithmetische Mittel zu berechnen ist nicht schwer. Das gibt eine Konstante f(x) ≡ a. Ich möchte gerne aber auch die Tendenz erfassen, sofern das überhaupt der richtige Begriff dafür ist. Es soll also eine Gerade mit einer gewissen Steigung herauskommen. Die Steigung soll angeben wie sich der Graph in Zukunft verhalten könnte. siehe Anhang.
Kann mir da jemand einen Tipp geben, wo man da ansetzt? Das arithmetische Mittel aller Steigungen?
gruß damadmax
Dateianhänge:
graph.png [ 21.17 KiB | 6062-mal betrachtet ]
_________________ Es werde Licht. glEnable(GL_LIGHTING); Und es ward Licht.
Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Bei Wikipedia steht das unter Exponentielle Glättung. Also du nimmst immer den letzten MovingAverage-Wert y* den du hast und machst eine lineare Interpolation mit dem aktuellen Wert. alpha wäre dabei in der Gegend von 0.1, abhängig davon wie abhängig von der Vergangenheit dein MovingAverage sein soll. Vorteil: Wenn ein neuer Datenwert reinkommt musst du nicht alles neu berechnen.
Um nun deine Tendenz zu berechnen könnte man einen MovingAverage-Wert der Differenzen (= Steigung) berechnen. Da kannst du dann über Alpha einstellen wie Empfindlich das sein soll.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Was ich in dem Umfeld immer mal gern gehabt hätte aber was wohl nicht ohne ne Menge rechnerrei und zwischenschritte abgeht, ist die Bestimmung von "Ausreisern" /ungewöhliche Abweichungen. Sowas wäre sinnvoll um Messfehler zu bestimmen aber auch wenn man bei "ai-Contest" (siehe Off-Topic Forum) die Position des Gegners feststellen will und einzelne abgelegene Planeten nicht/besonders behandeln will.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Wieso geht das nicht ohne großen Rechenaufwand? Durchschnitt aus allen Werten bilden, Differenz aus allen Werten und dem Durchschnitt bilden, und die Ursprungswerte, die eine große Abweichung vom Durchschnitt aufweisen ignorieren. Die kann man dann z.B. aus ner Liste werfen und die restlichen Werte neu mitteln... Um Fehler bei Mittelwerten zu quantifizieren benutzt man doch auch die Wurzel aus der Summe der quadratischen Abweichungen. Wenn du die Werte von vornherein alle gegeben hast, und eine Regressionsgerade da durch legen willst ist das btw. auch der Weg, den du einschlagen solltest: Die Summe der quadratischen Abweichungen zwischen allen Punkten f(x) auf deiner Gerade und den entsprechenden Punkten p(x) aus deinen "Messwerten" sollte minimal sein. Unter der Prämisse kriegst du mit ein wenig Rechnerei eine Steigung und einen Achsenabschnitt heraus.
Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.