Accelerating the pace of engineering and science

# wavenet

Class representing wavelet network nonlinearity estimator for nonlinear ARX and Hammerstein-Wiener models

## Syntax

s=wavenet('NumberOfUnits',N)
s=wavenet(Property1,Value1,...PropertyN,ValueN)

## Description

wavenet is an object that stores the wavelet network nonlinear estimator for estimating nonlinear ARX and Hammerstein-Wiener models.

You can use the constructor to create the nonlinearity object, as follows:

s=wavenet('NumberOfUnits',N) creates a wavelet nonlinearity estimator object with N terms in the wavelet expansion.

s=wavenet(Property1,Value1,...PropertyN,ValueN) creates a wavelet nonlinearity estimator object specified by properties in wavenet Properties.

Use evaluate(s,x) to compute the value of the function defined by the wavenet object s at x.

## wavenet Properties

You can include property-value pairs in the constructor to specify the object.

After creating the object, you can use get or dot notation to access the object property values. For example:

```% List all property values
get(w)
% Get value of NumberOfUnits property
w.NumberOfUnits```

You can also use the set function to set the value of particular properties. For example:

`h set(w, 'LinearTerm', 'on')`

The first argument to set must be the name of a MATLAB® variable.

Property NameDescription
NumberOfUnits

Integer specifies the number of nonlinearity units in the expansion.
Default='auto'.

For example:

`wavenet('NumberOfUnits',5)`
LinearTerm

Can have the following values:

• 'on' — (Default) Estimates the vector L in the expansion.

• 'off' — Fixes the vector L to zero and omits the term $\left(x-r\right)PL$.

For example:

`wavenet(H,'LinearTerm','on')`
Parameters

Structure containing the parameters in the nonlinear expansion, as follows:

• RegressorMean: 1-by-m vector containing the means of x in estimation data, r.

• NonLinearSubspace: m-by-q matrix containing Q.

• LinearSubspace: m-by-p matrix containing P.

• LinearCoef: p-by-1 vector L.

• ScalingDilation: ns-by-1 matrix containing the values bs_ns.

• WaveletDilation: nw-by-1 matrix containing the values bw_nw.

• ScalingTranslation: ns-by-q matrix containing the values cs_ns.

• WaveletTranslation: nw-by-q matrix containing the values cw_nw.

• ScalingCoef: ns-by-1 vector containing the values as_ns.

• WaveletCoef: nw-by-1 vector containing the values aw_nw.

• OutputOffset: scalar d.

Options

Structure containing the following fields that affect the initial model:

• FinestCell: Integer or string specifying the minimum number of data points in the smallest cell. A cell is the area covered by the significantly nonzero portion of a wavelet. Default: 'auto', which computes the value from the data.

• MinCells: Integer specifying the minimum number of cells in the partition. Default: 16.

• MaxCells: Integer specifying the maximum number of cells in the partition. Default: 128.

• MaxLevels: Integer specifying the maximum number of wavelet levels. Default: 10.

• DilationStep: Real scalar specifying the dilation step size. Default: 2.

• TranslationStep: Real scalar specifying the translation step size. Default: 1.

## Examples

Use wavenet to specify the nonlinear estimator in nonlinear ARX and Hammerstein-Wiener models. For example:

`m=nlarx(Data,Orders,wavenet);`

expand all

### Tips

Use wavenet to define a nonlinear function $y=F\left(x\right)$, where y is scalar and x is an m-dimensional row vector. The wavelet network function is based on the following function expansion:

where:

• f is a scaling function.

• g is the wavelet function.

• P and Q are m-by-p and m-by-q projection matrices, respectively.

The projection matrices P and Q are determined by principal component analysis of estimation data. Usually, p=m. If the components of x in the estimation data are linearly dependent, then p<m. The number of columns of Q, q, corresponds to the number of components of x used in the scaling and wavelet function.

When used in a nonlinear ARX model, q is equal to the size of the NonlinearRegressors property of the idnlarx object. When used in a Hammerstein-Wiener model, m=q=1 and Q is a scalar.

• r is a 1-by-m vector and represents the mean value of the regressor vector computed from estimation data.

• d, as, bs, aw, and bw are scalars. Parameters with the s subscript are scaling parameters, and parameters with the w subscript are wavelet parameters.

• L is a p-by-1 vector.

• cs and cw are 1-by-q vectors.

The scaling function f and the wavelet function g are both radial functions, as follows:

where Nr is the length of x (number of regressors).

### Algorithms

When the idnlarx property Focus is 'Prediction', wavenet uses a fast, noniterative technique for estimating parameters. Successive refinements after the first estimation use an iterative algorithm.

When the idnlarx property Focus='Simulation', wavenet uses an iterative technique for estimating parameters.

To always use noniterative or iterative algorithm, specify the IterWavenet algorithm property of the idnlarx class.