Open elise1993 opened 8 months ago
I believe this requires a complete refactor of the whole code, and thus won't be added at this time.
While DMD is naturally well-suited for multivariable data sets, I do not know how Hankel matrices, and thus the HAVOK model itself, generalizes to multivariable data sets. Perhaps we can construct a separate HAVOK model for each variable and couple them using the forcing functions.
I cannot find any information on how to generalize HAVOK to multivariate datasets. A few ideas on how to do this:
H = \begin{bmatrix}
x(t_1) & y(t_1) & x(t_2) & y(t_2) & \cdots & x(t_p) & y(t_p) \\
x(t_2) & y(t_2) & x(t_3) & y(t_3) & \cdots & x(t_{p+1}) & y(t_{p+1}) \\
\vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\
x(t_q) & y(t_q) & x(t_{q+1}) & y(t_{q+1}) & \cdots & x(t_{p+q}) & y(t_{p+q})
\end{bmatrix}
$$ \dot{\textbf{v}} = \textbf{A}_x \textbf{v} + \textbf{B}_x v_r(x,y)$$
$$ \dot{\textbf{w}} = \textbf{A}_y \textbf{w} + \textbf{B}_y w_r(x,y)$$
We can train the ML models for $v_r$ and $w_r$ as functions of both $x$ and $y$.
The current implementation only allows for single-variable time series. Research and implement how multivariable data may be included.