Forum: PC Hard- und Software Regression der Form y = e^(a+b/x+c*(ln(x))+d*x+e*x^2)


von Hans D. (roots)


Lesenswert?

Hallo,

ich möchte gerne mit Excel die Koeffizienten für die Exponentialfunktion
y = e^(a + b/x + c*(ln(x)) + d*x + e*x^2)
herausfinden aus einer Datenreihe von x-Werten und ihren zugehörigen 
y-Werten. Wie kann ich das bewerkstelligen?
Im Beitrag "Polynom-Regression von Messwerten" wurde die 
Regression in Excel schonmal recht ausführlich behandelt, aber nicht für 
so eine komplexe Funktion.

: Verschoben durch Moderator
von Anja (Gast)


Lesenswert?

Hans D. schrieb:
> y = e^(a + b/x + c*(ln(x)) + d*x + e*x^2)

wenn man das "zu Fuß" rechnet würde man wie folgt vorgehen.
beide Seiten logarithmieren:
- Substitution y1 = ln(y)

Weitere linearisierungen:
- Substitution x1 = x
- Substitution x2 = 1/x
- Substitution x3 = ln(x)

man hat dann eine Gleichung (jetzt halt eine 4-dimensionale) für die man 
die Matrix-Koeffizienten der Regression berechnen kann.

y1 = a + bx2 + cx3 + dx1 + ex1^2

wo ist das Problem?

Gruß Anja

von Possetitjel (Gast)


Lesenswert?

Anja schrieb:

> Hans D. schrieb:
>> y = e^(a + b/x + c*(ln(x)) + d*x + e*x^2)
>
> wenn man das "zu Fuß" rechnet würde man wie folgt vorgehen.
> beide Seiten logarithmieren:
> - Substitution y1 = ln(y)

Ja.


> Weitere linearisierungen:

Braucht man nicht.

Man darf sich nicht von den in x nichtlinearen Termen
täuschen lassen: Die Paare (x;y) sind ja gegeben und
bekannt, also sind auch 1/x, ln(x), x^2 usw. bekannt.

Die Unbekannten sind a, b, c, d, e!

Die Gauss-Approximation (im quadratischen Mittel)
funktioniert für alles, was sich als Linearkombinationen
darstellen lässt. (Auch y=a*sin(x)+b*cos(x) lässt sich
ohne Iterationen approximieren!)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Es ist allerdings ein Unterschied, ob man den Fehler von y oder den
Fehler von log(y) minimiert. Bei letzterem wird der Fehler für kleine y
stärker gewichtet als für große. Evtl. ist dieses Verhalten sogar
erwünscht. Wenn nicht, gibt es in Excel noch eine weitere Methode, die
sich für nahezu beliebige Funktionen einsetzen lässt:

  http://www.excelmasterseries.com/ClickBank/Thank_You_New_Manual_Order/ePUB_Files/Advanced_Regression/Text/Nonlinear_Regression.html

von Hans D. (roots)


Lesenswert?

Hallo,

vielen Dank für die Tipps, allerdings frage ich mich, wie ich das in 
Excel mit der RGP-Funktion umsetzen kann.

REVISION: Es hat funktioniert!! ABER: Excel gibt mir zu kleine 
Koeffizienten zurück. Z.B. für A = 7 * 10^-16. Ich kann in meinem 
Programm aber nur Koeffizienten bis maximal 5 Nachkommastellen angeben. 
Kann man irgendwie einstellen, dass Excel größere Koeffizienten 
zurückgibt? Lieber verzichte ich auf etwas Genauigkeit, als keine 
Koeffizienten zu haben, weil nur bis 0,00000 angenommen wird.

: Bearbeitet durch User
von Hans D. (roots)


Lesenswert?

Es darf übrigens, wenn nötig, auch jedes andere Programm sein, ich muss 
nur wissen, wie es funktioniert.

von Hans D. (roots)


Lesenswert?

Hat sich erledigt! Das Programm frisst auch Potenzen. Vielen Dank euch!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.