ParameterEstimation (FPScript)
Approximates a non-linear model to a data set. Here, non-iterative methods are used. The Grid Search and the Random Search methods are the options available.
Syntax
ParameterEstimation(Model, Data, [ Bounds ], [ Variations ] [ , Mode = MODE_RANDOM ])
or
ParameterEstimation(UserdefinedModel, N, Data, [ Bounds ], [ Variations ], [ Mode = MODE_RANDOM ] [ , AuxData ])
The syntax of the ParameterEstimation function consists of the following parts:
Part |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Model |
Determines the model to be fitted to the data. The argument can be selected from a list of predefined models . The argument Model can have the following values:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UserdefinedModel |
Determines the custom model to be fitted to the data. The argument contains the FPScript code for calculating the model function (see the NonLinCurveFit function). Permitted data structures are scalar value. Supported data types are string. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
N |
The number of parameters used in the custom model. Permitted data structures are scalar value. All integral data types are permitted. The value must be greater or equal to 1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data |
These are the data to which the model is to be fitted. If the model has several dependent variables, then the argument must be specified as a list with one data set per variable. Permitted data structures are data series, data matrix, signal, signal series und list. All numeric data types are permitted, except calendar time. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bounds |
The data matrix with the bounds for the model parameters to be determined. The matrix contains per parameter one column with two bounds. If you omit the argument, then ±1000 is used as bounds. Permitted data structures are data matrix. All numeric data types are permitted. If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variations |
The data series with the number of variations for each parameter. The default is 10 for each parameter. Permitted data structures are data series. All real data types are permitted. If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mode |
Specifies which mode is to be used. The argument Mode can have the following values:
If this argument is omitted, it will be set to the default value MODE_RANDOM. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AuxData |
Any data that can be passed as an option to the custom model as argument 'd'. All data structures are allowed. All data types are permitted. |
Remarks
The result always has the data structure data series.
The result is a data series with the estimated model parameters. The number of combinations to be calculated is determined by the Variations argument. For a model with three parameters and the variations {10,10,10}, 1000 combinations are calculated. For the Random Search method, randomly distributed parameter values are calculated that lie within the specified bounds. For the Grid Search method, the distance between neighboring parameter values is constant. This value is determined by the Bounds and Variations arguments. A number of variations of 10 means that a parameter can take 10 specific values within the range of values. The model is then calculated with the parameter combinations determined in this way. The greater the established range limits, the less accurate the estimate will be. The result is the combination that minimizes the residual sum of squares. The method is primarily used for estimating the starting parameters for the non-linear curve fitting.
If no value is returned as the result, the range of values to be examined should be limited by the Bounds argument.
Available in
FlexPro Basic, Professional, Developer Suite
Examples
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)
Estimates the parameters of the Exponential decay (variant 1) model using the random search method and calculates the modeled data from this. The parameters can be between 0 and 1000.