ParameterEstimation (FPScript)
Approximiert ein nicht-lineares Modell an einen Datensatz. Hierbei werden nicht-iterative Verfahren angewandt. Zur Auswahl stehen das "Grid-Search"-Verfahren und das "Random-Search"-Verfahren.
Syntax
ParameterEstimation(Model, Data, [ Bounds ], [ Variations ] [ , Mode = MODE_RANDOM ])
oder
ParameterEstimation(UserdefinedModel, N, Data, [ Bounds ], [ Variations ], [ Mode = MODE_RANDOM ] [ , AuxData ])
Die Syntax der ParameterEstimation-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Model |
Bestimmt das Modell, welches an die Daten angepasst werden soll. Das Argument kann aus einer Liste vordefinierter Modelle ausgewählt werden. Das Argument Model kann folgende Werte haben:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserdefinedModel |
Bestimmt das benutzerdefinierte Modell, welches an die Daten angepasst werden soll. Das Argument enthält den FPScript-Code zur Berechnung der Modellfunktion (siehe NonLinCurveFit-Funktion). Erlaubte Datenstrukturen sind Einzelwert. Unterstützte Datentypen sind Zeichenkette. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N |
Ist die Anzahl der im benutzerdefinierten Modell verwendeten Parameter. Erlaubte Datenstrukturen sind Einzelwert. Es sind alle ganzzahligen Datentypen erlaubt. Der Wert muss größer gleich 1 sein. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data |
Sind Daten, an die das Modell angepasst werden soll. Wenn das Modell mehrere abhängige Variable hat, dann muss das Argument als Liste mit je einem Datensatz pro Variable angegeben werden. Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal, Signalreihe und Liste. Es sind alle numerischen Datentypen erlaubt außer Kalenderzeit. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bounds |
Ist die Datenmatrix mit den Grenzen für die zu ermittelnden Parameter des Modells. Pro Parameter enthält die Matrix eine Spalte mit zwei Grenzen. Wenn Sie das Argument weglassen, werden als Grenzen ±1000 verwendet. Erlaubte Datenstrukturen sind Datenmatrix. Es sind alle numerischen Datentypen erlaubt. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variations |
Ist die Datenreihe mit der Anzahl Variationen für jeden Parameter. Die Vorgabe ist 10 für jeden Parameter. Erlaubte Datenstrukturen sind Datenreihe. Es sind alle reellen Datentypen erlaubt. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mode |
Gibt an, welcher Modus verwendet werden soll. Das Argument Mode kann folgende Werte haben:
Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert MODE_RANDOM gesetzt. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AuxData |
Sind beliebige Daten, die dem benutzerdefinierten Modell optional als Argument 'd' übergeben werden können. Es sind alle Datenstrukturen erlaubt. Es sind alle Datentypen erlaubt. |
Anmerkungen
Das Ergebnis hat immer die Datenstruktur Datenreihe.
Das Ergebnis ist eine Datenreihe mit den geschätzten Modellparametern. Durch das Argument Variations wird die Anzahl der zu berechnenden Kombinationen festgelegt. Bei einem Modell mit drei Parametern und den Variationen {10,10,10} werden 1000 Kombinationen berechnet. Beim "Random-Search"-Verfahren werden zufallsverteilte Parameterwerte berechnet, die innerhalb der angegebenen Grenzen liegen. Beim "Grid-Search"-Verfahren ist der Abstand benachbarter Parameterwerte konstant. Dieser Wert wird durch das Argument Bounds und das Argument Variations festgelegt. Eine Anzahl Variationen von 10 bedeutet, dass ein Parameter innerhalb des Wertebereichs 10 bestimmte Werte annehmen kann. Anschließend wird das Modell mit den so festgelegten Parameter-Kombinationen berechnet. Je größer die Bereichsgrenzen festgelegt werden, desto ungenauer wird die Schätzung. Das Ergebnis ist die Kombination, die die Residuen-Quadratsumme minimiert. Das Verfahren eignet sich in erster Linie, um die Startparameter für die nicht-lineare Kurvenanpassung zu schätzen.
Wenn als Ergebnis kein Wert zurückgeliefert wird, so sollte der zu untersuchende Wertebereich über das Argument Bounds eingeschränkt werden.
Verfügbarkeit
FlexPro Basic, Professional, Developer Suite
Beispiele
Dim p = ParameterEstimation(MODEL_EXP_EXPONENTIAL_DECAY1, Ag, {{0,1000}, {0,1000}, {0,1000}}, {10, 10, 10}, MODE_RANDOM)
NonLinModel(MODEL_EXP_EXPONENTIAL_DECAY1, Ag, p)
Schätzt die Parameter des Modells Abklingende Exponentialfunktion (Variante 1) mit Hilfe des "Random-Search"-Verfahrens und berechnet daraus die modellierten Daten. Die Parameter können zwischen 0 und 1000 liegen.