Nichtlineare Ausgleichsrechnung

Lernziele

  • Sie verstehen den Unterschied zwischen linearen und nichtlinearen Ausgleichsproblemen.

  • Sie kennen numerische Verfahren zur Lösung eines nichtlinearen Ausgleichsproblems.

  • Sie können das

    • Gauss-Newton Verfahren und

    • Levenberg-Marquardt Verfahren

    anwenden.

Theorie

Die Theorie zum Praktikum ist im Skript Kapitel 2.4 gegeben.

Das Praktikum ist wie folgt aufgebaut:

  • Implementieren Gauss-Newton Verfahren

    • Testen am Modell Beispiel

      Gleichung (2.43) im Skript mit den Daten aus der Tabelle 2.4 (vgl. Jupyter Notebook)

    • Anwenden auf Industrielle Anwendung aus der Gas Analytik (vgl. Praktikum 5)

  • Erweitern des Gauss-Newton Verfahrens für eine gedämpfte Iteration

    • Vergleichen Konvergenz Verhalten ungedämpft vs gedämpft

  • Implementieren Levenberg-Marquardt Verfahren

    • Testen am Modell Beispiel

    • Anwenden auf Industrielle Anwendung aus der Gas Analytik

Aufträge

  1. Implementieren Sie das Gauss-Newton Verfahren (Algorithmus 2.11)

  2. Testen Sie Ihr Programm mit dem Modellproblem

    (1)\[\begin{split} u(t; u_0,\tau,\omega,\varphi) = u_0 \cdot e^{-\tau\, t} \cdot sin(\omega\, t+\varphi) \end{split}\]

    Gleichung (2.41) aus dem Skript.

    • Benutzen Sie die Daten aus dem Jupyter Notebook.

    • Generieren Sie selber ein Testdatenset und testen Sie Ihren Code.

  3. Anwenden auf industrielle Anwendung aus der Gas Analytik

    Wir greifen die Anwendung aus dem Praktikum 5 (lineare Ausgleichsrechnung) auf, wobei nun ebenso die Breite \(s_0\), wie auch die Position \(x_0\) gesucht ist.

    • Studieren Sie als Repetition die Einführung Industrielle Anwendung aus der Gas Analytik

    • Skalieren Sie die \(x\)-Achse

      Für die nichtlineare Ausgleichsrechnung müssen wir die \(x\)-Achse zwingend skalieren. Benutzen Sie dazu die Skalierung \(\tau\) auf das Einheitsintervall \([0,1]\)

      \[\begin{split}\begin{split} \tau : [x_{\min},x_{\max}] & \to [0,1]\\ x & \mapsto \tau(x) = \frac{x-x_{\min}}{x_{\max}-x_{\min}} \end{split}\end{split}\]
    • Berechnen Sie mit Hilfe der linearen Ausgleichsrechnung gute Startwerte \(a_0\)

      Die Daten P7 weichen leicht von denen im Praktikum 5 ab. Schätzen Sie die Lage \(x_0\) und Breite \(s_0\) ab und berechnen Sie mit Hilfe der linearen Ausgleichsrechnung Startwerte für das Parameterset. Achten Sie auf die Skalierung.

    • Berechnen Sie das nichtlineare Ausgleichsproblemen

      Benutzen Sie dazu das implementierte Gauss-Newton Verfahren und die Startwerte vom Schritt oben. Kontrollieren Sie die Lösung, in dem Sie das Modell mit den Startwerten und dem optimierten Parametersatz darstellen.

    • Variation der Startwerte

      Berechnen Sie das nichtlineare Ausgleichsproblem mit den beiden folgenden Startwerte:

      • \(\tilde{a}_0 = 1.1 \cdot a_0\)

      • \(\hat{a}_0 = 0.8 \cdot a_0\)

      wobei mit \(a_0\) die Startwerte aus der linearen Ausgleichsrechnung bezeichnet seien. Sie werden feststellen, dass das Gauss-Newton Verfahren im ersten Fall gut konvergiert, im zweiten jedoch nicht. Das Problem kann etwas entschärft werden, in dem eine Dämpfung benutzt wird.

    • (optional) Erweitern des Gauss-Newton Verfahrens mit einer Dämpfung

      Erweitern Sie Ihr Gauss-Newton Verfahren gemäss Algorithmus 2.12 im Skript. Sie können Ihre Funktion um diese Funktionalität erweitern und optional zur Verfügung stellen. Eine mögliche Definition könnte wie folgt aussehen:

      def GaussNewton(data, x0, y, dy, maxIter=100, tol=1e-12, damped=False, maxDampingIter=10):
      
      • Testen Sie Ihre Erweiterung mit durch Variation der Startwerte

        Sie werden feststellen, dass die Dämpfung eine kleine Verbesserung bringt, jedoch nicht wirklich befriedigend ist.

  4. Implementieren Sie das Levenberg-Marquardt Verfahren analog zum Gauss-Newton Verfahren.

    • Benutzen Sie als Test das Modellproblem aus dem Skript

    • Wenden Sie das Verfahren auf die industrielle Anwendung.

      Sie werden sehen, dass dieses Verfahren eine Verbesserung bezüglich Konvergenz bietet. Der Grund liegt in der Regularisierung und der Trust-Region Strategie für das Gewicht dieser. Das Verfahren findet daher in der Praxis sehr weitverbreitet Anwendung.

      Nicht desto trotz sind gute Startwerte so gut wie immer entscheidend!

      Wie siehe sehen werden, ist auch hier die Konvergenz stark von den Startwerten abhängig.

Industrielle Anwendung aus der Gas Analytik

Abgabe

Bitte geben Sie Ihre Lösungen bis spätestens vor dem nächsten Praktikum 8 ab.