Alternativen zur lineare Regression

Neue Frage »

invoices Auf diesen Beitrag antworten »
Alternativen zur lineare Regression
Hallo,
ich ich wollte mich mal erkundigen, ob es noch andere Methoden zum Interpolieren einer Geraden zwischen mehreren Datenpunkten gibt als die lineare Regression mit der Formel, die bei Wikipedia angegeben ist:

Edit (mY+): Links zu externen Uploadseiten werden abgelehnt. Hänge bitte die Dateien an deinen Beitrag an!

Bei dieser Formel wurde dabei die Methode der kleinsten Quadrate verwendet. Was gibt es denn da noch für Methoden, die eventuell genauer sind?

Das ganze benötige ich für eine online-regression, die auf einem µController abläuft, wobei die Datenpaare periodische aktualisiert werden.

Vielen Dank
Lampe16 Auf diesen Beitrag antworten »
RE: Alternativen zur lineare Regression
Zitat:
Original von invoices
Hallo,
ich ich wollte mich mal erkundigen, ob es noch andere Methoden zum Interpolieren einer Geraden zwischen mehreren Datenpunkten gibt als die lineare Regression...
Vielen Dank


Die Regressionsgerade interpoliert nicht, sondern nähert die Stützpunkte und die Zwischenwerte durch eine Gerade.

Man kann die Parameter eines Geradenansatzes auch anders ermitteln, z.B. durch Minimierung der Abweichungsbetrags-Summe oder der Aweichungs^4-Summe. Das ist dann nicht genauer, sondern einfach die Ausführung eines anderen Ansatzes.
gotfried Auf diesen Beitrag antworten »
RE: Alternativen zur lineare Regression
In der Ausgleichsrechnung will man eine Funktion finden, die die Stützstellen möglichst gut annähert. Diese Abweichungen der berechneten von den tatsächlichen Werten will man also klein halten. Wobei das "klein" mathematisch zu präzisieren ist. Die Methode der kleinsten Quadrate geht auf einen Vorschlag von Gauß zurück dafür die Quadratsumme der Residuen zu nutzen.

Für gleich gewichtete Stützstellen werden die Abweichungen im Sinne der -Norm mit dieser Methode tatsächlich minimiert. Es gibt also für diesen Fall keine genauere Methode der linearen Regression.

.. genau wie @Lampe16 sagt
invoices Auf diesen Beitrag antworten »

Zitat:
Original von Lampe16
[quote]Original von invoices

Man kann die Parameter eines Geradenansatzes auch anders ermitteln, z.B. durch Minimierung der Abweichungsbetrags-Summe oder der Aweichungs^4-Summe. Das ist dann nicht genauer, sondern einfach die Ausführung eines anderen Ansatzes.


Vielen Dank für die Antworten. Wonach muss ich denn genau suchen, damit ich etwas näheres darüber lesen kann oder habt ihr vielleicht links dazu?
Dabei interessiert mich vorallem "Abweichungsbetragssumme".
Lampe16 Auf diesen Beitrag antworten »

Lies alles, was du über Regressionsgerade findest. Dort sollte auch etwas über alternative Ansätze stehen. Spezielle Literatur kenne ich nicht.

Wenn du Erfahrungen mit dem Ansatz

machen willst, genügt dafür jeder nichtlineare Minimumfinder. Es sind ja nur die beiden Unbekannten a und b zu bestimmen.

Falls du Matlab oder Scilab kennst oder kennenlernen willst, weil es damit sehr leicht geht, kann ich dir numerisch weiterhelfen.
invoices Auf diesen Beitrag antworten »

Vielen Dank für die Antworrt. Bisher konnte ich leider noch nicht viel finden außer der Aussage, es gibt viele Möglichkeiten, hier wird die Methode der kleinsten Quadrate verwendet..
Mir geht es hier um folgende Formel:
[attach]17578[/attach]

Mein Problem ist, dass das Quadrat im Nenner einen Überlauf produziert. Ich darf für die Durchführung der Regression nur 32Bit - Integer verwenden und suche daher andere Alternativen zum Durchführen einer Regression.
 
 
Lampe16 Auf diesen Beitrag antworten »

Vielleicht hilft dir beim Überlauf Folgndes:
Die Koeffizienten und der Regressionsgeraden folgen aus dem Gleichungssystem





Vielleicht verkraftet der Prozessor die darin vorkommenden fünf Summen.

Unabhängig davon wäre noch folgendes möglich:
Da die Regressionsgerade durch den sicher leicht auszurechnenden Punkt geht, kannst du die Steigung numerisch (iterativ) ausrechnen, indem du Schätzwerte annimmst und die minimale Abweichungssumme suchst.
invoices Auf diesen Beitrag antworten »

Vielen Dank für die Antwort. xi und yi repräsentieren bei mir Counterwerte die halt je nach Laufzeit auch die vollen 32Bit annehmen können.

Daher wird das mit der Summe wahrscheinlich nicht so ganz klappen.


Kannst du aber vielleicht nochmal den unteren Ansatz mit den Schätzwerten erläutern?
Die Mittelwert x_ und y_ habe ich bereits schon berechnet.
Was vielleicht noch wichtig ist, ich berechne die Regression immer wieder neu, wenn ein Datenpunkt einen alten ersetzt. Ich verwalte dabei eine Tabelle mit einer festen Größe von 6 Datenpaaren. Immer wenn ein neues Datenpaar erhoben wird, wird der älteste ersetzt.
Lampe16 Auf diesen Beitrag antworten »

Die Idee ist, für den Ansatz



die Gl.



oder alternativ die Gl.



iterativ nach der einzigen Unbekannten numerisch aufzulösen.
Das ist viel sture Rechenarbeit, aber Prozessoren können ja schnell sein.
invoices Auf diesen Beitrag antworten »

ok, ich vermute mal, dass sich dieses verfahren für eine Online regression nicht eignet, zumal mein µController möglichst energieeffizient und schnell arbeiten soll (batteriebetriebenes Sensornetz)

Ich suche etwas, bei der ich einfach eine Rechenformel, also wie bei der Methode der kleinsten Quadrate, ausführen kann.
Lampe16 Auf diesen Beitrag antworten »

Zwei Fragen:
Brauchst du die Koeffizienten der Regressions-Geraden selbst oder genügt ein Verfahren, mit dem du mit Rücksicht auf die letzen sechs Wertepaare Zwischenwerte ausrechnen kannst?

Sind die x-Werte monoton und äquidistant?
invoices Auf diesen Beitrag antworten »

hallo
ich muss anhand der 6 wertepaare die zwischenwerte schätzen können, sodass ich für jeden Zeitpunkt von x einen y-wert daraus berechnen kann, dh bis zum nächsten wertepaar muss ich anhand meiner wertepaare für jedes x ein y berechnen können.

Die Datenpaare sind sind aufjeden fall monoton steigend, da die counterwerte einfach Zeitwerte repräsentieren. Sie sind aber nicht 100% äquidistant, da die Datenpaare im Funknetz verbreitet werden. Sie kommen annähernd alle 20-40 sekunden an.

Der Algorithmus sieht eine Regression vor, bei der man anhand der Regressionskoeffizienten halt die Werte berechnen kann, also bräuchte ich schon die Koeffizienten. Aber gibt es denn auch ein anderes Verfahren zum Schätzen der Zwischenwerte?
Lampe16 Auf diesen Beitrag antworten »

Ein sehr einfaches Verfahren zur näherungsweisen Bestimmung der Regressionsgeraden



geht nach folgendem Formelplan:









Die Näherung ist für Polynome bis zum Grad 2 exakt.


Ein hier auch in Frage kommendes Näherungsverfahren im Bereich einer Wertetabelle habe ich hier beschrieben. Das kommt ganz ohne theoretischen Ansatz aus. Es ist in dem Link mehrdimensional formuliert, weshalb es sich in deinem Fall erheblich vereinfachen würde. Allerdings dürfte der obige Formelplan kaum zu toppen sein, was die Rechenbequemlichkeit betrifft.

edit: Noch'n Ansatz:
Du kannst auch bei deiner Formel für die Geradensteigung bleiben, aber statt des Summationsbereichs
i=1,2,...,n
nur die beiden äußeren Punkte
i=1,n
oder die vier äußeren Punkte
i=1,2,n-1,n
mitnehmen, je nachdem, wann der µ-Protz aussteigt.
Dann darf man das Ergebnis, ohne rot zu werden, als Regressionsgerade bezeichnen - du musst ja niemandem erzählen, dass du nicht alle Punkte berücksichtigt hast.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »