www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Interpolation und Approximation" - nichtlin. Ausgl. Gauß-Newton
nichtlin. Ausgl. Gauß-Newton < Interpol.+Approx. < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Interpolation und Approximation"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

nichtlin. Ausgl. Gauß-Newton: Stimmt der Algorithmus?
Status: (Frage) beantwortet Status 
Datum: 13:29 Mo 12.04.2010
Autor: Caliosthro

Hallo allerseits.

Dass ich Mathe-Hilfe brauche, hat gerade das Captcha gezeigt.
6+2=?
10
na klar...;-)

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Also nun zu meinem nicht ganz so trivialen Problem.
Ich programmiere gerade eine VBA Anwendung die eine nichtlineare Regression nach der Gauß-Newton Methode ausführen soll.
An einem simpleren Beispiel funktioniert das ganze schon, doch die komplette Funktion will nicht so richtig hinhauen.
Die Fehlerwerte "explodieren".

Ich möchte nun gerne wissen, ob der von mir beschriebene Weg der richtige ist. Denn wenn ja, kann ich meine Suche auf Programmierfehler (welche ich bislang nicht gefunden habe) beschränken.

Die Formel
[mm]\theta = a_1*(1-e^{\bruch{-t}{a_2}})+ a_3*(1-e^{\bruch{-t}{a_4}})[/mm]

Erster Schritt
[mm]S(a_1,a_2,a_3,a_4)=\sum_{i=1}^{n} (f(x_i,a)-y_i)^2=0[/mm]

Nun ergeben sich daraus 4 nichtlineare Gleichungen vom Typ
[mm]g_k(a):=\bruch{\delta S}{\delta a_k}=\sum_{i=1}^{n}(f(x_i,a)-y_i)*\bruch{\delta f}{\delta a_k}[/mm]

Jetzt erfolgt die Liniearisierung mittels Taylor-Reihe die nach den linearen Gliedern abgebrochen wird.
[mm]\bruch{\delta g_k}{\delta a_l}=\bruch{1}{2}\bruch{\delta^2 S}{\delta a_k\delta a_l}=\sum_{i=1}^{n}\bruch{\delta f}{\delta a_k}\bruch{\delta f}{\delta a_l}+\sum_{i=1}^{n}(f(x_i,a)-y_i)*\bruch{\delta^2 f}{\delta a_k\delta a_l} (Glg. 1)[/mm]

Wegen der Zufälligkeit der Messfehler fällt der rechte Teil der Summe weg.
Somit ergeben sich die linearen Gleichungen:

[mm]g_k(a_1,a_2,a_3,a_4)=g_k(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_k}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_k}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_k}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_k}{\delta a_4} \right)_0*v_4^{(0)}[/mm]

mit [mm]^{(o)}[/mm] als Startwerte / Ergebnisse aus Startwerten.

Somit erhalte ich das Gleichungssystem:
[mm]g_1(a_1,a_2,a_3,a_4)=g_1(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_1}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_1}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_1}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_1}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
[mm]g_2(a_1,a_2,a_3,a_4)=g_2(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_2}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_2}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_2}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_2}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
[mm]g_3(a_1,a_2,a_3,a_4)=g_3(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_3}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_3}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_3}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_3}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
[mm]g_4(a_1,a_2,a_3,a_4)=g_4(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_4}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_4}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_4}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_4}{\delta a_4} \right)_0*v_4^{(0)}[/mm]

Wegen (1) mit
[mm]\left (\bruch {\delta g_1}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_1} \right) ; \left (\bruch {\delta g_1}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_1}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_1}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
[mm]\left (\bruch {\delta g_2}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_2}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_2} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_2}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_2} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_2}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_2} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
[mm]\left (\bruch {\delta g_3}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_1} \right) ; \left (\bruch {\delta g_3}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_3}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_3}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
[mm]\left (\bruch {\delta g_4}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_1} \right) ; \left (\bruch {\delta g_4}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_4}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_4}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]

und
[mm]v_1^{(0)}=a_1-a_1^{(0)}[/mm] usw.

Nun werden die Startwerte eingesetzt und es ergibt sich ein lineares Gleichungssystem. Dieses löse ich über die Inverse der Koeffizientenmatrix nach
[mm][A]*[x]=[b]_ [/mm] woraus folgt [mm][x]=[A]^{(-1)}*[b][/mm] (Die Inverse wird als existent angenommen (passte bislang immer))

Somit erhalte ich verbesserte Näherungswerte durch
[mm]a_1^{(1)}=a_1^{(0)}+v^{(0)}[/mm] usw.

Tja, das war es dann wohl. Ist dieses Vorgehen richtig, oder hab ich da irgendwo nen Kinken drin???

Danke für Eure Mühen
MfG
Caliosthro

        
Bezug
nichtlin. Ausgl. Gauß-Newton: Antwort
Status: (Antwort) fertig Status 
Datum: 15:45 Mi 14.04.2010
Autor: MathePower

Hallo Caliosthro,

[willkommenmr]

> Hallo allerseits.
>  
> Dass ich Mathe-Hilfe brauche, hat gerade das Captcha
> gezeigt.
>  6+2=?
>  10
>  na klar...;-)
>  
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
>
> Also nun zu meinem nicht ganz so trivialen Problem.
>  Ich programmiere gerade eine VBA Anwendung die eine
> nichtlineare Regression nach der Gauß-Newton Methode
> ausführen soll.
>  An einem simpleren Beispiel funktioniert das ganze schon,
> doch die komplette Funktion will nicht so richtig
> hinhauen.
>  Die Fehlerwerte "explodieren".
>  
> Ich möchte nun gerne wissen, ob der von mir beschriebene
> Weg der richtige ist. Denn wenn ja, kann ich meine Suche
> auf Programmierfehler (welche ich bislang nicht gefunden
> habe) beschränken.
>  
> Die Formel
>  [mm]\theta = a_1*(1-e^{\bruch{-t}{a_2}})+ a_3*(1-e^{\bruch{-t}{a_4}})[/mm]
>  
> Erster Schritt
>  [mm]S(a_1,a_2,a_3,a_4)=\sum_{i=1}^{n} (f(x_i,a)-y_i)^2=0[/mm]
>  
> Nun ergeben sich daraus 4 nichtlineare Gleichungen vom Typ
>  [mm]g_k(a):=\bruch{\delta S}{\delta a_k}=\sum_{i=1}^{n}(f(x_i,a)-y_i)*\bruch{\delta f}{\delta a_k}[/mm]
>  
> Jetzt erfolgt die Liniearisierung mittels Taylor-Reihe die
> nach den linearen Gliedern abgebrochen wird.
> [mm]\bruch{\delta g_k}{\delta a_l}=\bruch{1}{2}\bruch{\delta^2 S}{\delta a_k\delta a_l}=\sum_{i=1}^{n}\bruch{\delta f}{\delta a_k}\bruch{\delta f}{\delta a_l}+\sum_{i=1}^{n}(f(x_i,a)-y_i)*\bruch{\delta^2 f}{\delta a_k\delta a_l} (Glg. 1)[/mm]
>  
> Wegen der Zufälligkeit der Messfehler fällt der rechte
> Teil der Summe weg.


Hier darfst Du noch keine Näherung machen.


>  Somit ergeben sich die linearen Gleichungen:
>  
> [mm]g_k(a_1,a_2,a_3,a_4)=g_k(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_k}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_k}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_k}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_k}{\delta a_4} \right)_0*v_4^{(0)}[/mm]


Die lineare Näherung wird auf die Funktion [mm]g_{k}\left(a\right)[/mm] angewandt,
nicht auf deren partielle Ableitungen.


>  
> mit [mm]^{(o)}[/mm] als Startwerte / Ergebnisse aus Startwerten.
>  
> Somit erhalte ich das Gleichungssystem:
>  
> [mm]g_1(a_1,a_2,a_3,a_4)=g_1(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_1}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_1}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_1}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_1}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
>  
> [mm]g_2(a_1,a_2,a_3,a_4)=g_2(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_2}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_2}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_2}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_2}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
>  
> [mm]g_3(a_1,a_2,a_3,a_4)=g_3(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_3}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_3}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_3}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_3}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
>  
> [mm]g_4(a_1,a_2,a_3,a_4)=g_4(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_4}{\delta a_1} \right)_0*v_1^{(0)}+\left (\bruch {\delta g_4}{\delta a_2} \right)_0*v_2^{(0)}+\left (\bruch {\delta g_4}{\delta a_3} \right)_0*v_3^{(0)}+\left (\bruch {\delta g_4}{\delta a_4} \right)_0*v_4^{(0)}[/mm]
>  
> Wegen (1) mit
> [mm]\left (\bruch {\delta g_1}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_1} \right) ; \left (\bruch {\delta g_1}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_1}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_1}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
>  
> [mm]\left (\bruch {\delta g_2}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_1} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_2}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_2} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_2}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_2} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_2}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_2} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
>  
> [mm]\left (\bruch {\delta g_3}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_1} \right) ; \left (\bruch {\delta g_3}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_3}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_3}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_3} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
>  
> [mm]\left (\bruch {\delta g_4}{\delta a_1} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_1} \right) ; \left (\bruch {\delta g_4}{\delta a_2} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_2} \right) ; \left (\bruch {\delta g_4}{\delta a_3} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_3} \right) ; \left (\bruch {\delta g_4}{\delta a_4} \right)=\left (\bruch {\delta f}{\delta a_4} \right)\left (\bruch {\delta f}{\delta a_4} \right)[/mm]
>  
> und
> [mm]v_1^{(0)}=a_1-a_1^{(0)}[/mm] usw.
>  
> Nun werden die Startwerte eingesetzt und es ergibt sich ein
> lineares Gleichungssystem. Dieses löse ich über die
> Inverse der Koeffizientenmatrix nach
>  [mm][A]*[x]=[b]_[/mm] woraus folgt [mm][x]=[A]^{(-1)}*[b][/mm] (Die Inverse wird [/b][/mm][/b][/mm]
> [mm][b][mm][b]als existent angenommen (passte bislang immer))[/b][/mm][/b][/mm]
> [mm][b][mm][b] [/b][/mm][/b][/mm]
> [mm][b][mm][b]Somit erhalte ich verbesserte Näherungswerte durch[/b][/mm][/b][/mm]
> [mm][b][mm][b] [mm]a_1^{(1)}=a_1^{(0)}+v^{(0)}[/mm] usw.[/b][/mm][/b][/mm]
> [mm][b][mm][b] [/b][/mm][/b][/mm]
> [mm][b][mm][b]Tja, das war es dann wohl. Ist dieses Vorgehen richtig, [/b][/mm][/b][/mm]
> [mm][b][mm][b]oder hab ich da irgendwo nen Kinken drin???[/b][/mm][/b][/mm]
> [mm][b][mm][b] [/b][/mm][/b][/mm]
> [mm][b][mm][b]Danke für Eure Mühen [/b][/mm][/b][/mm]
> [mm][b][mm][b]MfG[/b][/mm][/b][/mm]
> [mm][b][mm][b] Caliosthro [/b][/mm][/b][/mm]


Gruss
MathePower

Bezug
                
Bezug
nichtlin. Ausgl. Gauß-Newton: nochmal zum Verständnis
Status: (Frage) beantwortet Status 
Datum: 08:49 Do 15.04.2010
Autor: Caliosthro

Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "\left" und "\right" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Hallo und Danke für den Willkommensgruß

Jetzt hätte ich fast die Ergänzungen überlesen und alles als Zitat abgetan ;-)

Was ich nun nochmals klären will:

$ g_k(a):=\bruch{\delta S}{\delta a_k}=\sum_{i=1}^{n}(f(x_i,a)-y_i)\cdot{}\bruch{\delta f}{\delta a_k} $
Soweit haut es hin, denke ich. 4 Gleichungen bei 4 Parametern.

Eine Lösung nach dem Newton-Verfahren entwickelt die Taylor-Reihen der  einzelnen Gleichungen im entsprechenden Punkt der Messung.
Dabei kommt dann das heraus:
$ g_k(a_1,a_2,a_3,a_4)=g_k(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_k}{\delta a_1} \right)_0\cdot{}v_1^{(0)}+\left (\bruch {\delta g_k}{\delta a_2} \right)_0\cdot{}v_2^{(0)}+\left (\bruch {\delta g_k}{\delta a_3} \right)_0\cdot{}v_3^{(0)}+\left (\bruch {\delta g_k}{\delta a_4} \right)_0\cdot{}v_4^{(0)} $

und für die partiellen Ableitungen gilt
$ \bruch{\delta g_k}{\delta a_l}=\bruch{1}{2}\bruch{\delta^2 S}{\delta a_k\delta a_l}=\sum_{i=1}^{n}\bruch{\delta f}{\delta a_k}\bruch{\delta f}{\delta a_l}+\sum_{i=1}^{n}(f(x_i,a)-y_i)\cdot{}\bruch{\delta^2 f}{\delta a_k\delta a_l} $

Nun zur Unklarheit:
Die Fehler werden ja als normalverteilt angenommen. Somit wird doch allgemein davon ausgegangen, dass sie sich in Summe herausheben, oder doch nicht? So hab ich es zumindest im "Weller" herausgelesen.
Wieso darf ich an dieser Stelle noch keine Näherung machen???

Damit bleibt doch in Gesamtform am Beispiel für den ersten Parameter:
$ g_1(a_1,a_2,a_3,a_4)=g_1(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_1} \right)_0\cdot{}v_1^{(0)}+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_2} \right)_0\cdot{}v_2^{(0)}+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_3} \right)_0\cdot{}v_3^{(0)}+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_4} \right)_0\cdot{}v_4^{(0)} $

Setze ich jetzt hier die Startwerte in alle vier Gleichungen ein, so erhalte ich ein lineares Gleichungssystem. Aus diesem bestimme ich den Vektor v und daraus meine verbesserten Startwerte.

An meinem Beispiel ergibt sich also für die erste Gleichung:
g_1(a_1,a_2,a_3,a_4)=\sum_{i=1}^{n}((a_1\cdot{}(1-e^{\bruch{-t}{a_2}})+ a_3\cdot{}(1-e^{\bruch{-t}{a_4}}))-y_i)\cdot{}(1-e^{\bruch{-t}{a_2}})+
+{}(1-e^{\bruch{-t}{a_2}})*{}(1-e^{\bruch{-t}{a_2}})*v_1^{(0)}+
+(1-e^{\bruch{-t}{a_2}})*(-a_1*e^{\bruch{-t}{a_2}}*\bruch{t}{a_2^2})*v_2^{(0)}+
+(1-e^{\bruch{-t}{a_2}})*(1-e^{\bruch{-t}{a_3}})*v_3^{(0)}+
+(1-e^{\bruch{-t}{a_2}})*(-a_3*e^{\bruch{-t}{a_4}}*\bruch{t}{a_4^2})*v_4^{(0)}


Wie gesagt funktioniert es für ein anderes Beispiel wunderbar.

MfG
Caliosthro

Bezug
                        
Bezug
nichtlin. Ausgl. Gauß-Newton: Antwort
Status: (Antwort) fertig Status 
Datum: 19:18 Fr 16.04.2010
Autor: MathePower

Hallo Caliosthro,

> Hallo und Danke für den Willkommensgruß
>  
> Jetzt hätte ich fast die Ergänzungen überlesen und alles
> als Zitat abgetan ;-)
>  
> Was ich nun nochmals klären will:
>  
> [mm]g_k(a):=\bruch{\delta S}{\delta a_k}=\sum_{i=1}^{n}(f(x_i,a)-y_i)\cdot{}\bruch{\delta f}{\delta a_k}[/mm]
>  
> Soweit haut es hin, denke ich. 4 Gleichungen bei 4
> Parametern.
>  
> Eine Lösung nach dem Newton-Verfahren entwickelt die
> Taylor-Reihen der  einzelnen Gleichungen im entsprechenden
> Punkt der Messung.
>  Dabei kommt dann das heraus:
>  
> [mm]g_k(a_1,a_2,a_3,a_4)=g_k(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch {\delta g_k}{\delta a_1} \right)_0\cdot{}v_1^{(0)}+\left (\bruch {\delta g_k}{\delta a_2} \right)_0\cdot{}v_2^{(0)}+\left (\bruch {\delta g_k}{\delta a_3} \right)_0\cdot{}v_3^{(0)}+\left (\bruch {\delta g_k}{\delta a_4} \right)_0\cdot{}v_4^{(0)}[/mm]
>  
> und für die partiellen Ableitungen gilt
>  [mm]\bruch{\delta g_k}{\delta a_l}=\bruch{1}{2}\bruch{\delta^2 S}{\delta a_k\delta a_l}=\sum_{i=1}^{n}\bruch{\delta f}{\delta a_k}\bruch{\delta f}{\delta a_l}+\sum_{i=1}^{n}(f(x_i,a)-y_i)\cdot{}\bruch{\delta^2 f}{\delta a_k\delta a_l}[/mm]
>  
> Nun zur Unklarheit:
>  Die Fehler werden ja als normalverteilt angenommen. Somit


Ich denke, daß Du hier die Funktion

[mm]\summe_{i=1}^{n}h_{i}*\left(f\left(x_{i},a\right).-y_{i}\right)^{2}[/mm]

betrachten musst, da die Fehler hier unterschiedlich gewichtet werden.

[mm]h_{i}[/mm]  sind die Gewichte entsprechend der Verteiliung.


> wird doch allgemein davon ausgegangen, dass sie sich in
> Summe herausheben, oder doch nicht? So hab ich es zumindest
> im "Weller" herausgelesen.
> Wieso darf ich an dieser Stelle noch keine Näherung
> machen???


Weil das dann nicht die erste Ableitung ist.


>  
> Damit bleibt doch in Gesamtform am Beispiel für den ersten
> Parameter:
>  
> [mm]g_1(a_1,a_2,a_3,a_4)=g_1(a_1^{(0)},a_2^{(0)},a_3^{(0)},a_4^{(0)})+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_1} \right)_0\cdot{}v_1^{(0)}+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_2} \right)_0\cdot{}v_2^{(0)}+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_3} \right)_0\cdot{}v_3^{(0)}+\left (\bruch{\delta f}{\delta a_1}\bruch{\delta f}{\delta a_4} \right)_0\cdot{}v_4^{(0)}[/mm]
>  
> Setze ich jetzt hier die Startwerte in alle vier
> Gleichungen ein, so erhalte ich ein lineares
> Gleichungssystem. Aus diesem bestimme ich den Vektor v und
> daraus meine verbesserten Startwerte.
>  
> An meinem Beispiel ergibt sich also für die erste
> Gleichung:
>  
> [mm]g_1(a_1,a_2,a_3,a_4)=\sum_{i=1}^{n}((a_1\cdot{}(1-e^{\bruch{-t}{a_2}})+ a_3\cdot{}(1-e^{\bruch{-t}{a_4}}))-y_i)\cdot{}(1-e^{\bruch{-t}{a_2}})+[/mm]
>  
> [mm]+{}(1-e^{\bruch{-t}{a_2}})*{}(1-e^{\bruch{-t}{a_2}})*v_1^{(0)}+[/mm]
>  
> [mm]+(1-e^{\bruch{-t}{a_2}})*(-a_1*e^{\bruch{-t}{a_2}}*\bruch{t}{a_2^2})*v_2^{(0)}+[/mm]
>  
> [mm]+(1-e^{\bruch{-t}{a_2}})*(1-e^{\bruch{-t}{a_3}})*v_3^{(0)}+[/mm]
>  
> [mm]+(1-e^{\bruch{-t}{a_2}})*(-a_3*e^{\bruch{-t}{a_4}}*\bruch{t}{a_4^2})*v_4^{(0)}[/mm]
>  
>
> Wie gesagt funktioniert es für ein anderes Beispiel
> wunderbar.
>  
> MfG
>  Caliosthro


Gruss
MathePower

Bezug
                                
Bezug
nichtlin. Ausgl. Gauß-Newton: Verteilung
Status: (Frage) überfällig Status 
Datum: 11:23 Mo 19.04.2010
Autor: Caliosthro

Hallo nochmals

Ich hab da immer noch ein Verständnisproblem.
Im Übrigen ... Entschuldigt, falls ich einige mathematische Fachausdrücke vielleicht falsch deute oder anwende. Ich spreche wohl eher ein "Straßen-Mathe". ;-)

> Nun zur Unklarheit:
>  Die Fehler werden ja als normalverteilt angenommen. Somit


Ich denke, daß Du hier die Funktion



betrachten musst, da die Fehler hier unterschiedlich gewichtet werden.

  sind die Gewichte entsprechend der Verteiliung.


> wird doch allgemein davon ausgegangen, dass sie sich in
> Summe herausheben, oder doch nicht? So hab ich es zumindest
> im "Weller" herausgelesen.
> Wieso darf ich an dieser Stelle noch keine Näherung
> machen???



Also so tief steck ich da jetzt nicht drin, aber heißt "Normalverteilung" nicht, dass sich die Fehler in Summe herausheben?!
Sie treten doch dann mit gleicher Wahrscheinilichkeit auf.
Warum sollte ich eine Wichtung vornehmen?

Bezug
                                        
Bezug
nichtlin. Ausgl. Gauß-Newton: Antwort
Status: (Antwort) fertig Status 
Datum: 15:35 Mo 19.04.2010
Autor: MathePower

Hallo Caliosthro,

> Hallo nochmals
>  
> Ich hab da immer noch ein Verständnisproblem.
>  Im Übrigen ... Entschuldigt, falls ich einige
> mathematische Fachausdrücke vielleicht falsch deute oder
> anwende. Ich spreche wohl eher ein "Straßen-Mathe". ;-)
>  
> > Nun zur Unklarheit:
> >  Die Fehler werden ja als normalverteilt angenommen. Somit

>
>
> Ich denke, daß Du hier die Funktion
>
>
>
> betrachten musst, da die Fehler hier unterschiedlich
> gewichtet werden.
>
> sind die Gewichte entsprechend der Verteiliung.
>
>
> > wird doch allgemein davon ausgegangen, dass sie sich in
> > Summe herausheben, oder doch nicht? So hab ich es zumindest
> > im "Weller" herausgelesen.
> > Wieso darf ich an dieser Stelle noch keine Näherung
> > machen???
>
>
> Also so tief steck ich da jetzt nicht drin, aber heißt


Ich steck da auch nicht tief drin.


> "Normalverteilung" nicht, dass sich die Fehler in Summe
> herausheben?!


Das weiss ich nicht.


>  Sie treten doch dann mit gleicher Wahrscheinilichkeit
> auf.


Das entspricht ja nicht der Tatsache,
dass die Fehler normalverteilt sind.


>  Warum sollte ich eine Wichtung vornehmen?


Nun, da die Werte offenbar mit ungleicher
Genauigkeit gemessen worden sind.

Bestimmt gibt es in Deinen Unterlagen ähnliche Aufgaben,
bei denen die Fehler "normalverteilt" sind.


Gruss
MathePower

Bezug
                                        
Bezug
nichtlin. Ausgl. Gauß-Newton: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:20 Mi 28.04.2010
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
nichtlin. Ausgl. Gauß-Newton: Funktion überarbeiten
Status: (Antwort) fertig Status 
Datum: 19:48 Do 15.04.2010
Autor: mathemaduenn

Hallo Caliosthro,
> Die Formel
>  [mm]\theta = a_1*(1-e^{\bruch{-t}{a_2}})+ a_3*(1-e^{\bruch{-t}{a_4}})[/mm]

An deiner Funktion fällt auf, das die Kleinstquadrate Gleichung mindestens 2 Lösungen haben muss, da man die Paare [mm] a_1,a_2 [/mm] und [mm] a_3, a_4 [/mm] einfach austauschen kann. Ohne es 100% durchdacht zu haben, denke ich dass dies dann beim Gauß Newton Ersatzproblem zur Folge hat das es unendlich viele Lösungen gibt. Vielleicht lässt sich die Funktion passend umparametrisieren.
viele Grüße
mathemaduenn

Bezug
                
Bezug
nichtlin. Ausgl. Gauß-Newton: Nicht meine Formel
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 08:04 Fr 16.04.2010
Autor: Caliosthro

Hallo zurück

Eine Umparametrisierung?
Wie genau meinst du das?
Die Formel ist so wie sie ist zu verwenden. Ich kann sie nicht umbauen. Die Parameter [mm] a_1 [/mm] und [mm] a_2 [/mm] hängen zusammen sowie [mm] a_3 [/mm] und [mm] a_4. [/mm]
Ansonsten hast du sicher Recht, dass die Teile austauschbar sind.
Es ist halt eine Superposition zweier eigenständiger Sprungantworten.

Aber eventuell hat sich das Problem gestern erledigt.
Ich habe einen Programmierfehler gefunden und der Algorithmus findet bei einem etwas größeren Beispiel (etwa 10 Messwertpaare) schon verbesserte Näherungswerte bei denen die Fehlerquadratsumme unter "10" liegt. Also vielleicht finde ich ja noch einen Fehler.

Ich werde auf jeden Fall noch mal Feedback geben wie es ausgegangen ist.

Natürlich bin ich weiterhin an Vorschlägen interessiert um das Problem ander/besser anzugehen.

Danke bis hierhin schonmal

MfG
Caliosthro

Bezug
        
Bezug
nichtlin. Ausgl. Gauß-Newton: Scheint zu stimmen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 07:23 Fr 23.04.2010
Autor: Caliosthro

Hallo nochmals

Also ich habe jetzt sämtliche Fehlerteufelchen im Programmcode erwischt, denke ich.
Der Ablauf ist wie beschrieben programmiert...und die Werte sind okay.

Ich erhalte bei ca. 300 Wertepaaren eine Differenzsumme von 5-15 zwischen Mess- und Rechenwerten.
Ich denke, das kann man als ausgeglichen ansehen. ;-)

MfG
Caliosthro

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Interpolation und Approximation"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]