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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.