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
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
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!)
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
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
Es darf übrigens, wenn nötig, auch jedes andere Programm sein, ich muss nur wissen, wie es funktioniert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.