Curve Fitting Toolbox

Hauptmerkmale

  • Curve Fitting-App zur Kurven- und Oberflächenanpassung
  • Lineare und nichtlineare Regressionen mit anwenderdefinierten Gleichungen
  • Bibliothek mit Regressionsmodellen und optimierten Startpunkten sowie Solver-Parametern
  • Interpolationsmethoden wie B-Splines, Thin-Plate-Splines und Tensor-Produkt-Splines
  • Glättungstechniken wie Glättungs-Splines, lokalisierte Regressionen, Savitzky-Golay-Filter und gleitender Mittelwerte
  • Vorverarbeitungsroutinen wie das Entfernen von Ausreißern, Extraktion von Teildatensätzen, Skalierungen und Datengewichtungen
  • Nachverarbeitungsroutinen wie Interpolationen, Extrapolationen, Konfidenzintervalle, Integrale und Ableitungen
Surface generated using the Surface Fitting Tool.

Mit dem Surface Fitting Tool erzeugte Oberfläche. Das GUI unterstützt verschiedenste Anpassungsmethoden wie lineare Regressionen, nichtlineare Regressionen, Interpolationen und Glättungen.

Arbeiten mit der Curve Fitting Toolbox

Die Curve Fitting Toolbox enthält eine Sammlung der verbreitetsten Methoden zur Anpassung von Kurven und Oberflächen an Daten. Dazu gehören beispielsweise lineare und nichtlineare Regressionen, Splines sowie Interpolationen und Glättungen. Die Toolbox unterstützt die robuste Regression und die Anpassung von Datensätzen mit Ausreißern. Sämtliche Algorithmen sind sowohl von den Funktionen als auch über die Curve Fitting-App verfügbar.

Anpassung mehrerer Kandidatenmodelle an eine einzelne Datenreihe mit dem Surface Fitting Tool.

Anpassung mehrerer Kandidatenmodelle an eine einzelne Datenreihe mit der Curve Fitting-App. Der Vergleich der angepassten Oberflächen kann sowohl optisch als auch mit Goodness-of-Fit-Maßen wie R2, angepasstem R2, Summe der Fehlerquadrate und mittlerer quadratischer Abweichung (RMS Error, RMSE) erfolgen.

Daten interaktiv anpassen

Die Curve Fitting-App vereinfacht häufige Aufgaben, wie:

  • Den Import von Daten aus dem MATLAB® Workspace
  • Die Visualisierung von Daten für explorative Datenanalysen
  • Approximationen mit mehreren Anpassungsalgorithmen
  • Die Bewertung der Genauigkeit von Modellen
  • Nachverarbeitungsanalysen durch Interpolation, Extrapolation, Konfidenzintervalle, Integrale und Ableitungen
  • Den Export von Approximationen in den MATLAB Workspace zur weiteren Analyse
  • Die automatische Erzeugung von MATLAB-Code, etwa zum Speichern von Prozessen und Ergebnissen oder zur Automatisierung von Aufgaben
Mit dem Surface Fitting Tool erzeugte MATLAB-Funktion.

Mit der Curve Fitting-App erzeugte MATLAB-Funktion.

Arbeiten mit der Befehlszeile

An der Befehlszeile der Curve Fitting Toolbox können Sie eigene Visualisierungs- und Analysefunktionen entwickeln und dadurch:

  • Analysen mit neuen Datensätzen exakt wiederholen
  • Durch Batch-Verarbeitung identische Analysen an mehreren Datensätzen durchführen
  • Anpassungsroutinen in MATLAB-Funktionen integrieren
  • Alle Grundfunktionen der Toolbox beliebig erweitern

Die in der Curve Fitting Toolbox verwendete Syntax von Anpassungsbefehlen ist einfach und intuitiv, wie die folgenden Beispiele zeigen:

  • Lineare Regression: fittedmodel = fit([X,Y], Z, 'poly11');
  • Nichtlineare Regression: fittedmodel = fit(X, Y, 'fourier2');
  • Interpolation: fittedmodel = fit([Time,Temperature], Energy, 'cubicinterp');
  • Glättung: fittedmodel = fit([Time,Temperature], Energy, 'lowess', ‘spanâ€, 0.12);

Die Ergebnisse von Anpassungen werden als Objekt mit der Bezeichnung „fittedmodel“ gespeichert. Nachverarbeitungsanalysen wie Visualisierungen, Auswertungen, Integrationen und Differenzierungen werden ganz einfach durch Anwendung einer Methode auf dieses Objekt durchgeführt:

  • Glättung: plot(fittedmodel)
  • Differenzierung: differentiate(fittedmodel, X, Y)
  • Auswertung: fittedmodel(80, 40)

In der Curve Fitting Toolbox können Sie interaktive Anpassungen in die Befehlszeile verschieben. Mit der App können Sie automatisch MATLAB-Code generieren. Außerdem lassen sich mithilfe der App Fit-Objekte erzeugen, die zur weiteren Analyse in den MATLAB-Arbeitsplatz exportierbar sind.

Erweiterung der Toolbox-Funktionen um anwenderdefinierte Visualisierungen.

Erweiterung der Toolbox-Funktionen um anwenderdefinierte Visualisierungen. Die Farben dieser Heatmap entsprechen den Differenzen zwischen angepasster Oberfläche und Bezugsmodell.

Regressionen

Die Curve Fitting Toolbox unterstützt sowohl lineare als auch nichtlineare Regressionen.

Lineare Regressionen

In der Toolbox sind über 100 Regressionsmodelle vordefiniert, darunter:

  • Geraden und Ebenen
  • Polynome höherer Ordnung (bis neunten Grades für Kurven und fünften Grades für Oberflächen)
  • Fourier- und Potenzreihen
  • Peak-Funktionen (Gauß)
  • Weibull-Funktionen
  • Exponentialfunktionen
  • Rationale Funktionen
  • Sinussummen

Die Solver-Parameter und Anfangsbedingungen dieser Standardmodelle sind bereits auf eine Verbesserung der Anpassungsqualität voroptimiert. Mit der Custom Equation-Option können außerdem eigene Regressionsmodelle erzeugt werden.

In der Curve Fitting-App lassen sich Approximationen auf einfache Weise mithilfe komplexer parametrischer Modelle aus einem Drop-Down-Menü durchführen. Dieselben Modelle stehen auch an der Befehlszeile zur Verfügung, wo sie durch intuitive Namen gekennzeichnet sind.

Nonlinear regression using a second-order Fourier series.

Nichtlineare Regression mithilfe einer Fourierreihe zweiter Ordnung. Zur Durchführung der gleichen Regression können Sie sowohl das Argument „fourier2“ an den Fit-Befehl übergeben (oben links) als auch im Fit Editor GUI (oben rechts) eine Fourierreihe zweiter Ordnung auswählen.

Surface generated using the Custom Equation option of the Curve Fitting app.

Mit der Custom Equation-Option der Curve Fitting-App erzeugte Oberfläche. Als Eingabe kann eine selbstdefinierte Gleichung oder eine MATLAB-Funktion gewählt werden.

Für Regressionsanalysen mit der Curve Fitting Toolbox stehen Ihnen verschiedene Optionen zur Verfügung. Sie können damit:

  • Zwischen zwei Typen der robusten Regression wählen (biquadratisch oder kleinster absoluter Residualwert)
  • Anfangsbedingungen für Solver auswählen
  • Einschränkungen für Regressionskoeffizienten definieren
  • Zwischen dem Trust-Region- und Levenberg-Marquardt-Algorithmus wählen
Adjusting fit options using the Curve Fitting app.

Einstellung verschiedener Fitting-Optionen in der Curve Fitting-App. Zur Wahl steht die Art der robusten Regression, der zur Optimierung eingesetzte Solver sowie das Verhalten des Optimierungs-Solvers in Bezug auf Anfangs- und Nebenbedingungen.

Splines und Interpolationen

Die Curve Fitting Toolbox unterstützt unterschiedliche Interpolationsmethoden wie B-Splines, Thin-Plate-Splines und Tensor-Produkt-Splines. Sie enthält außerdem Funktionen für erweiterte Spline-Operationen wie Bruch- und Knoten-Manipulationen, die optimale Platzierung von Knoten und die Möglichkeit zur Gewichtung von Datenpunkten.

A cubic B-spline and the four polynomials from which it is made.

Kubischer B-Spline und die vier Polynome, aus denen er aufgebaut wurde. Splines sind stückweise glatte Polynome, mit denen Funktionen über große Intervalle hinweg dargestellt werden können.

Polynom-Splines können mit der Toolbox sowohl in der ppform als auch in der B-Form dargestellt werden. Die ppform beschreibt Splines durch ihre Bruchstellen und lokalen Polynom-Koeffizienten und ist vor allem für Splines geeignet, die umfangreich ausgewertet werden sollen. Die B-Form beschreibt einen Spline als Linearkombination aus B-Splines und nutzt dazu die Knotenfolge und die B-Spline-Koeffizienten.

Die Curve Fitting Toolbox unterstützt noch eine Reihe weiterer Interpolationen wie:

  • Lineare Interpolationen
  • Nearest Neighbor-Interpolationen
  • Kubische Interpolationen
  • Biharmonische Oberflächeninterpolationen
  • Kubische Hermite-Interpolationen (PCHIP)

Die Toolbox-Befehle für Spline-Approximationen nehmen Vektor-Gitternetzdaten entgegen und können dadurch Kurven und Oberflächen mit beliebiger Zahl von Dimensionen darstellen.

Linear interpolation using the Curve Fitting app.

Lineare Interpolation mit der Curve Fitting-App.

Glättungen

Glättungsalgorithmen werden auf vielen Gebieten eingesetzt, um Rauschen aus Datensätzen zu entfernen, ohne die eigentlich interessanten Muster zu verfälschen. Die Curve Fitting Toolbox unterstützt sowohl Glättungs-Splines als auch die lokalisierte Regression. Zur Erzeugung von Vorhersage-Modellen muss darum keine explizite funktionale Beziehung zwischen den Variablen definiert werden.

Localized regression model.

Modell für eine lokalisierte Regression. Mit Glättungsmethoden lassen sich Vorhersage-Modelle erzeugen, ohne dass eine funktionale Beziehung zwischen den Variablen definiert wird.

Nicht-parametrische Anpassung 4:07
Entwickeln Sie ein prädiktives Modell, wenn Sie keine Funktion angeben können, die die Beziehung zwischen Variablen beschreibt.

Die Curve Fitting Toolbox unterstützt die lokalisierte Regression mit Polynomen erster Ordnung (lowess) und zweiter Ordnung (loess). Daneben bietet sie Optionen für die robuste lokalisierte Regression, die auch für Datensätze mit Ausreißern geeignet ist, sowie für Glättungsfunktionen auf der Basis gleitender Mittelwerte wie Savitzky-Golay-Filter.

Exploratory data analysis using a Savitzky-Golay filter.

Explorative Datenanalyse mit einem Savitzky-Golay-Filter. Durch die Glättung der Daten lassen sich periodische Anteile identifizieren.

Voransicht und Vorverarbeitung von Daten

Die Curve Fitting Toolbox unterstützt einen umfassenden Workflow, der mit einer explorativen Datenanalyse beginnt und sich über die Entwicklung und den Vergleich prädiktiver Modelle bis hin zur abschließenden Nachverarbeitungsanalyse erstreckt.

Datensätze lassen sich damit zwei- oder dreidimensional darstellen. Die Toolbox enthält außerdem spezielle Funktionen zum Entfernen von Ausreißern, zur Unterteilung in Teildatensätze, für Gewichtungen sowie zum Ausschluss von Datenpunkten.

Die Curve Fitting Toolbox kann Datensätze automatisch zentrieren und skalieren und dadurch Daten normalisieren und die Qualität der resultierenden Anpassung verbessern. Die Center- und Scale-Optionen sind vor allem dann nützlich, wenn die Variablen sehr unterschiedlich groß sind oder sich die Abstandsbereiche zwischen Datenpunkten über mehrere Größenordnungen erstrecken.

Durch Normalisierung von Daten mit den Center- und Scale-Optionen lässt sich die Qualität von Anpassungen verbessern.

Durch Normalisierung von Daten mit den Center- und Scale-Optionen lässt sich die Qualität von Anpassungen verbessern.

Entfernen von Ausreißern.

Entfernen von Ausreißern mit der Curve Fitting-App (oben). Mit dem Curve Fitting Tool können Sie Ausschlussregeln erzeugen (Mitte links) und so Datenpunkte nach definierten Kriterien entfernen oder Datenpunkte grafisch durch einfaches Anklicken ausschließen (unten).

Gewichtung von Datenpunkten mit dem Surface Fitting Tool.

Gewichtung von Datenpunkten mit der Curve Fitting-App.

Entwicklung, Verwaltung und Vergleich von Modellen

Mit der Curve Fitting Toolbox können Sie zunächst mehrere in Frage kommende Modelle an den gleichen Datensatz anpassen. Die Anpassungsgüte dieser Modelle lässt sich danach mithilfe einer Kombination aus beschreibender Statistik, visueller Prüfung und verschiedenen Validierungsmethoden bewerten.

Beschreibende Statistik

Die Curve Fitting Toolbox bietet vielfältige Methoden aus der beschreibenden Statistik an wie:

  • R-Quadrat und angepasstes R-Quadrat
  • Summe der Fehlerquadrate und Mittlere Quadratische Abweichung
  • Freiheitsgrade

In der Table of Fits finden Sie alle Kandidatenmodelle als sortierbare Tabelle. Auch eine große Anzahl von Kandidatenmodellen kann dadurch rasch verglichen und ihre jeweiligen Vorteile einander gegenübergestellt werden.

Das Surface Fitting Tool führt Kandidatenmodelle als sortierbare Tabelle auf.

Die Curve Fitting-App mit einer sortierbaren Tabelle mit Kandidatenmodellen.

Visuelle Prüfung von Daten

Kandidatenmodelle können mit der Toolbox auch visuell begutachtet werden. Dies gestattet die Identifikation möglicher Unzulänglichkeiten der Approximation, die in rein statistischer Hinsicht völlig unauffällig sind. Für solche Sichtprüfungen können Sie:

  • Oberflächendiagramme und Residualwerte nebeneinander stellen und Muster in den Residualwerten suchen
  • Mehrere Modelle gleichzeitig darstellen und so vergleichen, wie gut sie in entscheidenden Bereichen zum Datensatz passen
  • Unterschiede zwischen zwei Modellen berechnen und als neue Oberflächenfunktion darstellen
Mit dem Surface Fitting Tool erzeugte Oberfläche.

Mit der Curve Fitting-App erzeugte Oberfläche. Die Farbe der Heatmap entspricht der Abweichung zwischen angepasster Oberfläche und Bezugsmodell.

Validierungsmethoden

Die Curve Fitting Toolbox unterstützt Validierungstechniken, die einer Überanpassung vorbeugen. Sie können dazu ein prädiktives Modell mithilfe eines Trainingsdatensatzes erzeugen, dieses Modell auf den zu validierenden Datensatz anwenden und dann die Güte der Anpassung bewerten.

Nachverarbeitungsanalysen

Nachdem Sie diejenige Kurve oder Oberfläche ermittelt haben, die Ihre Datenreihe am besten beschreibt, können Sie eine Nachverarbeitungsanalyse durchführen. Mit der Curve Fitting Toolbox können Sie dazu:

  • Grafiken und Diagramme erzeugen
  • Das Modell zum Schätzen von Werten einsetzen (Evaluation)
  • Konfidenzintervalle berechnen
  • Vorhersagegrenzen erzeugen
  • Die Fläche unterhalb von Kurven ermitteln (Integration)
  • Ableitungen berechnen
Nachverarbeitungsanalyse mit dem Curve Fitting Tool.

Nachverarbeitungsanalyse mit der Curve Fitting-App. Es wird automatisch ein Streudiagramm der Rohdaten erzeugt, in das die angepasste Kurve eingebettet ist. Die erste und zweite Ableitung der angepassten Kurve werden ebenfalls angezeigt.

Die folgenden Beispiele demonstrieren, wie die Nachverarbeitung an der Befehlszeile erfolgt. Dabei werden intuitive Befehle auf die im Rahmen einer Anpassung erzeugten Objekte angewandt:

  • Evaluation: EnergyConsumption = fittedmodel(X, Y)
  • Glättung: EnergySurface = plot(fittedmodel)
  • Integration: Volume_Under_Surface = quad2d(fittedmodel, Min_X, Max_X, Min_Y, Max_Y)
  • Differenzierung: Gradient = differentiate(fittedmodel, X,Y)
  • Berechnung von Konfidenzintervallen: Confidence_Intervals = confint(fittedmodel)
Berechnung und Darstellung eines Gradienten durch Nachverarbeitung an der Befehlszeile.

Berechnung und Darstellung eines Gradienten durch Nachverarbeitung an der Befehlszeile.

Probieren Sie Curve Fitting Toolbox

Testsoftware anfordern

Computergestützte Statistik mit MATLAB

Webinar anzeigen