Detect nonlinearity in estimation data
isnlarx(
detects
nonlinearity in Data
,Orders
)Data
by testing whether a nonlinear
ARX model with the indicated Orders
produces
a better estimate of Data
than a linear ARX model.
The nonlinear model uses a default treepartition
nonlinearity
estimator.
The result of the test is printed to the Command Window and indicates whether a nonlinearity is detected. Use the printed detection ratio to assess the reliability of the nonlinearity detection test:
Larger values (>2
) indicate
that a significant nonlinearity was detected.
Smaller values (<0.5
) indicate
that any error unexplained by the linear model is mostly noise. That
is, no significant nonlinearity was detected.
Values close to 1
indicate that
the nonlinearity detection test is not reliable and that a weak nonlinearity
may be present.
isnlarx(___,
specifies
additional nonlinear ARX model options using one or more Name,Value
)Name,Value
pair
arguments.
returns
the result of the nonlinearity test and suppresses the command window
output.NLHyp
= isnlarx(___)
[
additionally returns the test
quantities behind the evaluation.NLHyp
,NLValue
,NLRegs
,NoiseSigma
,DetectRatio
]
= isnlarx(___)
isnlarx
estimates a nonlinear ARX model
using the given data and a treepartition
nonlinearity
estimator.
The estimation data can be described as Y(t) = L(t) + Fn(t) + E(t), where:
L(t) is the portion of the data explained by the linear function of the nonlinear ARX model.
Fn(t)
is the portion of the data explained by the nonlinear function of
the nonlinear ARX model. The output argument NLValue
is
an estimate of the standard deviation of Fn(t).
If the nonlinear function explains a significant portion of the data
beyond the data explained by the linear function, a nonlinearity is
detected.
E(t) is the
remaining error that is unexplained by the nonlinear ARX model and
is typically white noise. The output argument NoiseSigma
is
an estimate of the standard deviation of E(t).