Clear Filters
Clear Filters

How to get a prediction equation from time series NARX neural network ?

4 views (last 30 days)
I have used NARX model app available in the Matlab to train and predict emissions using thousands of data points for a city.
I have 5 input parameters and one output parameter.
I want to know if it is possible to extract an empherical equation, so I can predict for another city by inputing the 5 parameters alone. If possible may I know how? Or if there is another application available in Mathworks that can be trained with data and would give an empherical equation.

Answers (1)

Kartik Saxena
Kartik Saxena on 24 Nov 2023
Hi,
I understand that you need an empherical equation from the trained NARX model.
A NARX (Nonlinear Autoregressive with Exogenous Inputs) model is a type of recurrent dynamic network that is particularly well-suited for modeling time series data where current values are influenced by past values of both the output and the input. NARX models in MATLAB are typically implemented using neural networks, which are inherently complex and do not yield simple empirical equations.
Neural networks, including NARX models, are black-box models where the relationship between inputs and outputs is captured by the network's weights and biases across potentially many layers and neurons. This makes it challenging to directly extract a simple empirical equation that represents the learned relationships.
However, if you need an empirical equation, you might consider using other types of regression models that are more interpretable and can provide equations, such as:
  1. Linear Regression: If the relationship between your inputs and output is approximately linear, you can use linear regression to obtain an empirical equation.
  2. Polynomial Regression: If the relationship is nonlinear, you might consider polynomial regression, which can model nonlinear relationships while still providing an empirical equation.
  3. Symbolic Regression: This technique uses evolutionary algorithms to find mathematical expressions that best fit the data. It can be very flexible and can discover complex relationships, but it is not a native MATLAB function. You would need to use a third-party toolbox or implement your own genetic programming approach.
Unfortunately, there is no straightforward way to convert a trained NARX model into a simple empirical equation. If interpretability and having an empirical equation are critical for your application, you may need to explore these alternative modeling approaches that are more amenable to providing explicit equations.
Refer to the following MathWorks documentations for detailed information about NARX:

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!