Time-series forecasting through recurrent topology
nature.com
nature.com
AIUI, they use the 3x3 neighbourhoods to capture local directional and curvature (i.e. gradient) information in the distance matrix. They then apply two heuristics (reduction to an 8-bit binary number and binning into sextiles) to reduce the floating point gradient information to coarse integers to aid pattern recognition.
The more recent paper adds another heuristic (empirically chosen similarity threshold) to aid finding starting points of recurring patterns.
[0] https://doi.org/10.1038/s41531-021-00240-4 , Equation (5) onwards.
The attractor shown in figure 1e has such periodic components, and identifying these does help, but only with very near term forecasting. When the accumulated forecast error crosses a threshold, it suddenly causes a large phase error, best seen from about point 75 onwards in the x and y components. From that point onwards the forecast is useless.
First, code is unavailable - github repository [1] does not contain any code.
[1] https://github.com/tgchomia/ts
The algorithm, itself, has some black holes. For example, 256 integer codes are turned into 6 groups at some point. How? Why six groups?
Algorithm, also, does not create a model per se, it needs a history of previous observations to compute predictions from.
What is interesting there is that contexts are compared on the curvatures in them, not on actual values. This generalizes to many applications, including language modeling, I think.
One thing I don't understand is the addition of the constant 3 to the row index (in the paper just after formula 6). Intuitively this should be only 2, because the last row vector of the local topology lags the last state captured in the distance matrix by one row, and then we want to move ahead one more row to start forecasting.
What am I missing?
The FReT algorithm (if I understand correctly) works on equally spaced points in time and projects on the same grid into the future. So it would seem that interpolation is not possible with this method.