# Choosing neural network output for prediction (regression) of a dynamical system

I’m trying to train a neural network to approximate the output of a dynamical system $$dy/dt=f\left(y(t), u(t) \right)$$, namely, given $$y(0)$$ and $$u(t_i), i=1,2...N$$ I want the network to predict $$y(t_i), i=1,2...N$$. So far I’ve thought of several approaches, namely

1. Predict the derivative $$dy/dt (t_{i+1}) = f_1 \left(y(t_i), u(t_i) \right)$$ and then compute $$y(t_{i+1}) = dy/dt (t_{i+1}) \cdot dt + y(t_{i})$$

2. Predict the increment $$\Delta y (t_{i+1})= f_2 \left(y(t_i), u(t_i), \Delta t \right)$$ and then compute $$y(t_{i+1}) = \Delta y (t_{i+1}) + y(t_{i})$$

3. Directly predict the next value $$y(t_{i+1}) = f_3 \left(y(t_i), u(t_i), \Delta t \right)$$

Which option is recommended?

• Neural network are able to interpolate between the points in the dataset. The accuracy of the neural network doesn't depend on the question if absolute, increment or first derivative points are requested but who many samples are available and how large the gap is between known data and the need for extrapolation into unknown regions. – Manuel Rodriguez Nov 14 '19 at 12:43