Nichtlineare Regression

Hallo,

vielleicht koennt ihr mir ja helfen…
Ich suche einen Algorithmus zur Regression eines solchen Systems von Gleichungen

F_i = T_i + T_ij * E_j + T_ijk * E_j * E_k + …

Es werden also n-dimensionale Vektoren E auf m-dimensionale Vektoren F abgebildet. Die Abbildung wird durch die T_i (m), T_ij (nxm) usw. beschrieben.
Bekannt sind mir zig F’s und E’s.

Meine Fragen:

  1. Ist das Problem bekannt? Hat es vielleicht sogar einen Namen?
  2. Gibt es dafuer fertige Loesungs - Algorithmen, evtl. sogar in Fortran/C/C++ oder aehnlich?

Besten Dank fuers lesen,
Klaus

Kanonische Korrelation? Faktorenanalyse?
Hi,

ich verstehe leider die Frage nicht 100%ig.
Google mal mit den beiden Begriffen im Betreff.
Meinst du sowas?

Gruss,

Hallo Klaus,

  1. wenn du die Vektoren E_j und E_k multiplizierst, kriesgt du doch entweder ein Skalar oder eine Matrix raus?
  2. kann man dein Problem evt. durch geschickte Transformation linearisieren?
  3. gibt es für die nichtlineare Regression das Programm XLFit, das du in Excel integrieren kannst. Die Testversion läuft 30 Tage, und man kann eigene Modellgleichungen eingeben und berechnen lassen. Nicht, dass es unbedingt das gelbe von Ei wäre, aber für dein Problem könnte es sich eignen.

Viele Grüße
Katharina

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke erstmal
Ich werde noch ein wenig googeln, vielleicht helfen mir Eure Tipps ja ein Stueck weiter. Das Problem ist ganz sicher nichtlinear.

Letztlich versuche ich eine Transformationsmatrix zu bestimmen, die einen Vektorraum in den anderen ueberfuehrt. Die auftretenden Vektorprodukte sind nicht skalar (a^T b), sondern wohl eher dyadisch (a b^T) [ist letztlich egal, die Schreibweise von mir ist ok].
Anschaulich habe ich n Variablen x_i, die auf eine mir im einzelnen unbekannte Art in m Funktionen f_j eingehen. Der Ansatz den ich gewaehlt habe postuliert, dass der Zusammenhang ueber eine Summe von Produkten hergestellt wird, wobei in jedem Produkt (zunaechst) hoechstens 3 Variablen auftreten. Das ganze ist eine Art Polynomialentwicklung, bei der die Entwicklungskoeffizienten in den T’s stecken.

f_i = T_ij x_j + T_ijk x_j x_k + T_ijkl x_j x_k x_l

T_ij, T_ijk und T_ijkl sind hierbei verschiedene Geraete.

Man kann das auch als multidimensionale Taylorreihe verstehen.

Was ich habe, sind Datensaetze von verschiedenen Paaren (f,x) mit gewissen Fehlern. Was mir fehlt sind die T’s. Anhand der hoffentlich auftretenden Fehler moechte ich erkennen, welche x_i fuer eine Groesse f_j relevant sind.

Hallo Klaus,

  1. wenn du die Vektoren E_j und E_k multiplizierst, kriesgt du
    doch entweder ein Skalar oder eine Matrix raus?

Tschuldigung, ich habe die Summenkonvention verwendet.

wenn x = (x_1, x_2, …)
und T analog als Matrix definiert ist, meint

f_i = T_ij x_j, dass ueber doppelte Indizes summiert wird:

f_1 = T_11 x_1 + T_12 x_2 + …
f_2 = T_21 x_1 + T_22 x_2 + …
usw., bis f komplett ist.

Hallo Klaus,

die allzweckwaffe bei nichtlinearen regressionsmodellen lautet LEVENBERG-MARQUARDT. Es ist ein numerischer Algorithmus, der gerne bei nichtlinearen regressionsmodellen benutzt wird.

Unter http://www.netlib.org/minpack/index.html findest du den Algorithnus als FORTRAN Code.

Kurt