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?

  • $\begingroup$ 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. $\endgroup$ – Manuel Rodriguez Nov 14 '19 at 12:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.