Main Content

arxRegul

Determine regularization constants for ARX model estimation

Description

example

[lambda,R] = arxRegul(data,orders)returns the regularization constants used for ARX model estimation. Use the regularization constants inarxOptionsto configure the regularization options for ARX model estimation.

example

[lambda,R] = arxRegul(data,orders,options)specifies regularization options such as regularization kernel and I/O offsets.

example

[lambda,R] = arxRegul(data,orders,Name,Value)specifies model structure attributes, such as noise integrator and input delay, using one or moreName,Valuepair arguments.

example

[lambda,R] = arxRegul(data,orders,options,Name,Value)specifies both regularization options and model structure attributes.

Examples

collapse all

loadiddata1z1; orders = [10 10 1]; [Lambda,R] = arxRegul(z1,orders);

The ARX model is estimated using the default regularization kernelTC.

Use theLambdaandRvalues for ARX model estimation.

opt = arxOptions; opt.Regularization.Lambda = Lambda; opt.Regularization.R = R; model = arx(z1,orders,opt);

Specify'DC'as the regularization kernel and obtain a regularized ARX model of order [|10 10 1|].

loadiddata1z1; orders = [10 10 1]; option = arxRegulOptions('RegularizationKernel','DC'); [Lambda,R] = arxRegul(z1,orders,option);

Use theLambdaandRvalues for ARX model estimation.

arxOpt = arxOptions; arxOpt.Regularization.Lambda = Lambda; arxOpt.Regularization.R = R; model = arx(z1,orders,arxOpt);

Specify to include a noise source integrator in the noise component of the model.

loadiddata1z1; orders = [10 10 1]; [Lambda,R] = arxRegul(z1,orders,'IntegrateNoise',true);

Specify the regularization kernel and include a noise source integrator in the noise component of the model.

loadiddata1z1; orders = [10 10 1]; opt = arxRegulOptions('RegularizationKernel','DC'); [Lambda,R] = arxRegul(z1,orders,opt,'IntegrateNoise',true);

Input Arguments

collapse all

Estimation data, specified as aniddataobject.

ARX model orders[na nb nc], specified as a matrix of nonnegative integers. See thearxreference page for more information on model orders.

Regularization options, specified as an options set you create usingarxRegulOptions.

Name-Value Arguments

Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN, whereNameis the argument name andValueis the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and encloseNamein quotes.

Example:[Lambda, R] = arxRegul(z1,orders,option,'InputDelay',10);

Input delay, specified as a positive, nonzero numeric value representing the number of samples.

Example:(λ,R) = arxRegul (z1、订单、InputDelay, 10);

Data Types:double

Noise source integrator, specified as a logical. Specifies whether the noise sourcee(t)should contain an integrator. The default isfalse, indicating the noise integrator is off. To turn it on, change the value totrue.

Example:[Lambda, R] = arxRegul(z1,orders,'IntegrateNoise',true);

Data Types:logical

Output Arguments

collapse all

Constant that determines the bias versus variance trade-off, returned as a positive scalar.

Weighting matrix, returned as a vector of nonnegative numbers or a positive definite matrix.

Algorithms

Without regularization, the ARX model parameters vector θ is estimated by solving the normal equation

( J T J ) θ = J T y

whereJis the regressor matrix andyis the measured output. Therefore,

θ = ( J T J ) 1 J T y

Using regularization adds the regularization term

θ = ( J T J + λ R ) 1 J T y

where λ and R are the regularization constants. For more information on the regularization constants, seearxOptions.

References

[1] T. Chen, H. Ohlsson, and L. Ljung. “On the Estimation of Transfer Functions, Regularizations and Gaussian Processes - Revisited”,Automatica, Volume 48, August 2012.

版本历史

Introduced in R2013b