ParameterEstimation (FPScript)

21.09.2021

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:

Constant

Meaning

MODEL_RATIONAL_RATIONAL1

Rational function (variant 1)

MODEL_RATIONAL_RATIONAL2

Rational function (variant 2)

MODEL_RATIONAL_RATIONAL3

Rational function (variant 3)

MODEL_RATIONAL_RATIONAL4

Rational function (variant 4)

MODEL_RATIONAL_RATIONAL5

Rational function (variant 5)

MODEL_RATIONAL_RECI1

Reciprocal function (variant 1)

MODEL_RATIONAL_RECI2

Reciprocal function (variant 2)

MODEL_RATIONAL_RECI3

Reciprocal function (variant 3)

MODEL_RATIONAL_RECI4

Reciprocal function (variant 4)

MODEL_RATIONAL_BET1

BET model (variant 1)

MODEL_RATIONAL_BET2

BET model (variant 2)

MODEL_RATIONAL_HOLLIDAY

Holliday model (variant 1)

MODEL_RATIONAL_HOLLIDAYEXT

Holliday model (variant 2)

MODEL_RATIONAL_NELDER

Nelder function

MODEL_POWER_BELEHRADEK

Belehradek model

MODEL_POWER_BLEASDALENELDER

Bleasdale Nelder model

MODEL_POWER_FREUNDLICH1

Freundlich model (variant 1)

MODEL_POWER_FREUNDLICH2

Freundlich model (variant 2)

MODEL_POWER_FREUNDLICHEXT

Freundlich model (variant 3)

MODEL_POWER_GUNARY

Gunary model

MODEL_POWER_HARRIS

Harris model

MODEL_POWER_LANGMUIREXT1

Langmuir model (variant 1)

MODEL_POWER_LANGMUIREXT2

Langmuir model (variant 2)

MODEL_POWER_PARETO

Pareto model

MODEL_POWER_POWER1

Exponential function (variant 1)

MODEL_POWER_POWER2

Exponential function (variant 2)

MODEL_POWER_POWER3

Exponential function (variant 3)

MODEL_POWER_POWER4

Exponential function (variant 4)

MODEL_EXP_TIMEPOWER

Time-power model

MODEL_EXP_BOXLUCAS1

Box and Lucas (variant 1)

MODEL_EXP_BOXLUCAS2

Box and Lucas (variant 2)

MODEL_EXP_BOXLUCAS3

Box and Lucas (variant 3)

MODEL_EXP_CHAPMAN

Chapman model

MODEL_EXP_EXPONENTIAL_ONEPARA1

Exponential function with 1 parameter (variant 1)

MODEL_EXP_EXPONENTIAL_ONEPARA2

Exponential function with 1 parameter (variant 2)

MODEL_EXP_EXPONENTIAL_ONEPARA3

Exponential function with 1 parameter (variant 3)

MODEL_EXP_EXPONENTIAL_ONEPARA4

Exponential function with 1 parameter (variant 4)

MODEL_EXP_EXPONENTIAL_ONEPARA5

Exponential function with 1 parameter (variant 5)

MODEL_EXP_EXPONENTIAL_ONEPARA6

Exponential function with 1 parameter (variant 6)

MODEL_EXP_EXPONENTIAL_ONEPARA7

Exponential function with 1 parameter (variant 7)

MODEL_EXP_EXPONENTIAL_TWOPARA1

Exponential function with 2 parameters (variant 1)

MODEL_EXP_EXPONENTIAL_TWOPARA2

Exponential function with 2 parameters (variant 2)

MODEL_EXP_EXPONENTIAL_TWOPARA3

Exponential function with 2 parameters (variant 3)

MODEL_EXP_EXPONENTIAL_THREEPARA1

Exponential function with 3 parameters (variant 1)

MODEL_EXP_EXPONENTIAL_THREEPARA2

Exponential function with 3 parameters (variant 2)

MODEL_EXP_EXPONENTIAL_THREEPARA3

Exponential function with 3 parameters (variant 3)

MODEL_EXP_EXPONENTIAL_ASSOCIATE

Exponential associate

MODEL_EXP_EXPONENTIAL_DECAY1

Exponential decay function (variant 1)

MODEL_EXP_EXPONENTIAL_DECAY2

Exponential decay function (variant 2)

MODEL_EXP_EXPONENTIAL_DECAY3

Exponential decay function (variant 3)

MODEL_EXP_EXPONENTIAL_DECAY4

Exponential decay function (variant 4)

MODEL_EXP_EXPONENTIAL_DECAY5

Exponential decay function (variant 5)

MODEL_EXP_EXPONENTIAL_DECAY6

Exponential decay function (variant 6)

MODEL_EXP_EXPONENTIAL_GROW1

Exponential growth function (variant 1)

MODEL_EXP_EXPONENTIAL_GROW2

Exponential growth function (variant 2)

MODEL_EXP_EXPONENTIAL_GROW3

Exponential growth function (variant 3)

MODEL_EXP_EXPONENTIAL_GROW4

Exponential growth function (variant 4)

MODEL_EXP_EXPONENTIAL_GROW5

Exponential growth function (variant 5)

MODEL_EXP_EXPONENTIAL_GROW6

Exponential growth function (variant 6)

MODEL_EXP_EXPONENTIAL_LINEAR

Exponential linear combination

MODEL_EXP_EXPONENTIAL

Exponential function

MODEL_EXP_MONOMOLECULAR1

Monomolecular growth model (variant 1)

MODEL_EXP_MONOMOLECULAR2

Monomolecular growth model (variant 2)

MODEL_EXP_SHAW

Shaw model

MODEL_EXP_STIRLING

Stirling model

MODEL_EXP_YIELDFERTILIZER1

Asymptotic regression model (variant 1)

MODEL_EXP_YIELDFERTILIZER2

Asymptotic regression model (variant 2)

MODEL_GROWTH_BOLTZMANN

Boltzmann model

MODEL_GROWTH_HILL

Hill model

MODEL_GROWTH_LOGISTICDOSERESPONSE

Logistic Dose response model

MODEL_GROWTH_GOMPERTZ

Gompertz model

MODEL_GROWTH_SIGMOIDALLOGISTIC1

Logistic model (variant 1)

MODEL_GROWTH_SIGMOIDALLOGISTIC2

Logistic model (variant 2)

MODEL_GROWTH_SIGMOIDALLOGISTIC3

Logistic model (variant 3)

MODEL_GROWTH_SIGMOIDALRICHARDS2

Richards model

MODEL_GROWTH_SIGMOIDALWEIBULL1

Weibull model (variant 1)

MODEL_GROWTH_SIGMOIDALWEIBULL2

Weibull model (variant 2)

MODEL_HYPERBOLA_HYPERBOLA1

Hyperbola function (variant 1)

MODEL_HYPERBOLA_HYPERBOLA2

Hyperbola function (variant 2)

MODEL_HYPERBOLA_HYPERBOLA3

Hyperbola function (variant 3)

MODEL_HYPERBOLA_HYPERBOLA4

Hyperbola function (variant 4)

MODEL_HYPERBOLA_HYPERBOLA5

Hyperbola function (variant 5)

MODEL_LOGARITHM_BRADLEY

Bradley function

MODEL_LOGARITHM_LOG1

Logarithm function (variant 1)

MODEL_LOGARITHM_LOG2

Logarithm function (variant 2)

MODEL_LOGARITHM_LOG3

Logarithm function (variant 3)

MODEL_LOGARITHM_LOG4

Logarithm function (variant 4)

MODEL_PEAK_ASYMMETRICDOUBLESIG

Asymmetric double sigmoidal model

MODEL_PEAK_BETA

Beta function

MODEL_PEAK_EXTREME

Extreme function

MODEL_PEAK_GAUSS

Gauss model (variant 1)

MODEL_PEAK_GAUSSAMPLITUDE

Gauss model (variant 2)

MODEL_PEAK_GRAMCHARLIER

Gram Charlier model

MODEL_PEAK_INVERSEPOLYNOMIAL

Inverse polynomial function

MODEL_PEAK_LOGISTICPEAK

Logistic peak function

MODEL_PEAK_LOGNORMAL

Lognormal function

MODEL_PEAK_LORENTZIANPEAK

Lorentz peak function

MODEL_PEAK_PSEUDOVOIGT1

Pseudo-Voigt function (variant 1)

MODEL_PEAK_PSEUDOVOIGT2

Pseudo-Voigt function (variant 2)

MODEL_PEAK_WEIBULL

Weibull model

MODEL_PHARMA_BIPHASIC

Biphasic model

MODEL_PHARMA_DOSERESPONSE

Dose response model

MODEL_PHARMA_BINDING1

Binding curve (variant 1)

MODEL_PHARMA_BINDING2

Binding curve (variant 2)

MODEL_PHARMA_COMPETITION1

Competition curve (variant 1)

MODEL_PHARMA_COMPETITION2

Competition curve (variant 2)

MODEL_WAVE_SINE

Sine function

MODEL_WAVE_SINEDAMP

Damped sine function

MODEL_WAVE_SINESQUARE

Square sine function

MODEL_NIST_BENNET5

NIST model Bennet5

MODEL_NIST_CHWIRUT

NIST model Chwirut

MODEL_NIST_DANWOOD

NIST model Danwood

MODEL_NIST_ECKERLE4

NIST model Eckerle4

MODEL_NIST_ENSO

NIST model Enso

MODEL_NIST_GAUSS

NIST model Gauss

MODEL_NIST_HAHN1

NIST model Hahn1

MODEL_NIST_KIRBY2

NIST model Kirby2

MODEL_NIST_LANCZOS

NIST model Lanczos

MODEL_NIST_MGH09

NIST model MGH09

MODEL_NIST_MGH10

NIST model MGH10

MODEL_NIST_MGH17

NIST model MGH17

MODEL_NIST_MISRA1A

NIST model Misra1A

MODEL_NIST_MISRA1B

NIST model Misra1B

MODEL_NIST_MISRA1C

NIST model Misra1C

MODEL_NIST_MISRA1D

NIST model Misra1D

MODEL_NIST_RAT42

NIST model RAT42

MODEL_NIST_RAT43

NIST model RAT43

MODEL_NIST_ROSZMAN1

NIST model Roszman1

MODEL_NIST_BOXBOD

NIST model Boxbod

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:

Constant

Meaning

MODE_RANDOM

Selects the Random Search method. The variations to be examined in the range of values are randomly distributed.

MODE_GRID

Selects the Grid Search method. The variations to be examined in the range of values are equidistant.

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.

See Also

NonLinCurveFit Function

NonLinModel Function

Non-Linear Curve Fitting Analysis Object

Share article or send as email:

You might be interested in these articles