Clarification on SEE Calculation Using 'procest' Function

6 views (last 30 days)
I am writing to seek clarification regarding the calculation of the Standard Error of the Estimate (SEE) when using the 'procest' function, specifically in the context of non-linear parametrization techniques (e.g., when using the Levenberg-Marquardt least squares search).
While I am familiar with the concept of SEE in linear approaches, where it is typically based on the assumptions of normally distributed residuals, I am unclear about the nature of the SEE in non-linear techniques for estimating model parameters by the 'procest' function.
I am currecntly getting my SEE using the following code:
[sys, offset, ic] = procest(data, init_sys, opt);
SEE = sqrt(diag(getcov(sys, 'value', 'free')));
Can someone kindly provide detailed information on the following, please?
1) What is the theoretical basis for the calculation of SEE in the context of non-linear system identification using the 'procest' function? Is it based on traditional SEE assumptions, or does it involve asymptotic properties (thus resembling Asymptotic Standard Error, ASE)?
2) Are there specific considerations or assumptions that the 'procest' function makes when calculating SEE for non-linear approaches that differ from those in linear ones?
3) what SEE I am estimating using the above-mentioned code?
Many thanks in advance

Accepted Answer

Guo
Guo on 15 Jan 2024
Edited: Guo on 16 Jan 2024
The Standard Error of the Estimate (SEE) calculated using the 'procest' function in the context of non-linear system identification does have some differences compared to traditional SEE in linear approaches. Here's some clarification:
  1. Theoretical Basis: The calculation of SEE in non-linear system identification using 'procest' is based on asymptotic properties, similar to the Asymptotic Standard Error (ASE). It relies on the assumption that as the sample size increases, the parameter estimates converge to their true values in a normal distribution. This is similar to the asymptotic properties of maximum likelihood estimation.
  2. Specific Considerations: The 'procest' function takes into account the complexity of non-linear models and the uncertainties associated with estimating their parameters. It considers the trade-off between model fit and model complexity, which is especially important in non-linear modeling. The SEE calculated here reflects the variability and uncertainty in the parameter estimates under the assumption of asymptotic normality.
  3. SEE Calculation: The code you provided calculates SEE using the estimated parameter covariance matrix returned by 'getcov(sys, 'value', 'free')'. This matrix represents the uncertainty in the estimated parameters, and taking the square root of the diagonal elements provides the SEE for each parameter. This SEE quantifies how much the parameter estimates might vary in repeated experiments due to the variability in the data.
In summary, the SEE calculated in non-linear system identification with 'procest' is based on asymptotic properties and reflects the uncertainty in the estimated parameters of the non-linear model. It considers the complexity of the model and the trade-off between model fit and model complexity (more on https://assignmentpay.com/ ), making it suitable for non-linear modeling scenarios
  1 Comment
Michele
Michele on 18 Jan 2024
Thank you for your response, which is very helpful. To clarify, I am employing the 'procest' function for a specific purpose: to apply a non-linear parametrization technique, specifically the Levenberg-Marquardt method for least squares search, to a linear model. It's important to note that my model itself is linear; the non-linearity arises solely from the parametrization technique. Your mention of a non-linear model initially confused me, but I believe that your explanation is relevant to my case of using a non-linear parametrization approach with a linear model. Would you agree? Thank you!

Sign in to comment.

More Answers (0)

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!