# Modeling and Prediction with NARX and Time-Delay Networks

Solve time series problems using dynamic neural networks, including networks with feedback

## Apps

Neural Net Time Series | Solve nonlinear time series problem using dynamic neural networks |

## Functions

`timedelaynet` | Time delay neural network |

`narxnet` | Nonlinear autoregressive neural network with external input |

`narnet` | Nonlinear autoregressive neural network |

`layrecnet` | Layer recurrent neural network |

`distdelaynet` | Distributed delay network |

`train` | Train shallow neural network |

`gensim` | Generate Simulink block for shallow neural network simulation |

`adddelay` | Add delay to neural network response |

`removedelay` | Remove delay to neural network’s response |

`closeloop` | Convert neural network open-loop feedback to closed loop |

`openloop` | Convert neural network closed-loop feedback to open loop |

`ploterrhist` | Plot error histogram |

`plotinerrcorr` | Plot input to error time-series cross-correlation |

`plotregression` | Plot linear regression |

`plotresponse` | Plot dynamic network time series response |

`ploterrcorr` | Plot autocorrelation of error time series |

`genFunction` | Generate MATLAB function for simulating shallow neural network |

## Examples and How To

### Basic Design

**Shallow Neural Network Time-Series Prediction and Modeling**

Make a time series prediction using the Neural Net Time Series app and command-line functions.**Design Time Series Time-Delay Neural Networks**

Learn to design focused time-delay neural network (FTDNN) for time-series prediction.**Multistep Neural Network Prediction**

Learn multistep neural network prediction.**Design Time Series NARX Feedback Neural Networks**

Create and train a nonlinear autoregressive network with exogenous inputs (NARX).**Design Layer-Recurrent Neural Networks**

Create and train a dynamic network that is a Layer-Recurrent Network (LRN).**Deploy Shallow Neural Network Functions**

Simulate and deploy trained shallow neural networks using MATLAB^{®}tools.**Deploy Training of Shallow Neural Networks**

Learn how to deploy training of shallow neural networks.**Maglev Modeling**

This example illustrates how a NARX (Nonlinear AutoRegressive with eXternal input) neural network can model a magnet levitation dynamical system.

### Training Scalability and Efficiency

**Shallow Neural Networks with Parallel and GPU Computing**

Use parallel and distributed computing to speed up neural network training and simulation and handle large data.**Automatically Save Checkpoints During Neural Network Training**

Save intermediate results to protect the value of long training runs.**Optimize Neural Network Training Speed and Memory**

Make neural network training more efficient.

### Optimal Solutions

**Choose Neural Network Input-Output Processing Functions**

Preprocess inputs and targets for more efficient training.**Configure Shallow Neural Network Inputs and Outputs**

Learn how to manually configure the network before training using the`configure`

function.**Divide Data for Optimal Neural Network Training**

Use functions to divide the data into training, validation, and test sets.**Choose a Multilayer Neural Network Training Function**

Comparison of training algorithms on different problem types.**Improve Shallow Neural Network Generalization and Avoid Overfitting**

Learn methods to improve generalization and prevent overfitting.**Train Neural Networks with Error Weights**

Learn how to use error weighting when training neural networks.**Normalize Errors of Multiple Outputs**

Learn how to fit output elements with different ranges of values.

## Concepts

**How Dynamic Neural Networks Work**Learn how feedforward and recurrent networks work.

**Multiple Sequences with Dynamic Neural Networks**Manage time-series data that is available in several short sequences.

**Neural Network Time-Series Utilities**Learn how to use utility functions to manipulate neural network data.

**Sample Data Sets for Shallow Neural Networks**List of sample data sets to use when experimenting with shallow neural networks.

**Neural Network Object Properties**Learn properties that define the basic features of a network.

**Neural Network Subobject Properties**Learn properties that define network details such as inputs, layers, outputs, targets, biases, and weights.