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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hans D. (roots)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


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

von Hans D. (roots)


Bewertung
0 lesenswert
nicht lesenswert
Hat sich erledigt! Das Programm frisst auch Potenzen. Vielen Dank euch!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.