Regression der Form y = e^(a+b/x+c*(ln(x))+d*x+e*x^2)

OP #5145945
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.
Gast #5145946
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
Gast #5145956
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!)
Moderator #5146029
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
OP #5146307
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren