---
title: 'AdaKoop: Streaming Koopman Forecasting'
url: https://www.emergentmind.com/topics/adakoop
type: topic
---

# AdaKoop: Streaming Koopman Forecasting

AdaKoop is a streaming method for real-time modeling and forecasting of nonlinear dynamical systems from nonstationary data streams. It studies a semi-infinite multivariate stream \(X=\{x_1,\ldots,x_t,\ldots\}\), \(x_t\in\mathbb{R}^d\), generated by a time-varying nonlinear system
\[
x_{t+1}=f_t(x_t)+\varepsilon_t,
\]
and addresses the joint requirements of nonlinear expressiveness, single-pass processing, limited memory, and low latency by recasting nonlinear evolution as linear latent dynamics in a Koopman-inspired lifted representation [2606.04930]. Its defining construction is a dual-view probabilistic state-space model in which both the raw observation \(x_t\) and a finite-dimensional RKHS feature vector \(\psi(x_t)\) are treated as noisy emissions from a latent linear state, thereby coupling kernel Koopman regression, Kalman filtering and smoothing, EM refinement, online sufficient-statistics updates, and innovation-based change detection within one streaming framework [2606.04930].

## 1. Problem formulation and conceptual basis

AdaKoop is designed for nonstationary streams in which the governing mechanism \(f_t\) changes over time. The paper isolates two simultaneous difficulties: nonlinearity, because simple linear autoregressive or state-space models are insufficient for chaotic or strongly nonlinear dynamics, and nonstationarity, because a static model fitted once will degrade under drift or abrupt regime changes [2606.04930]. The intended setting is semi-infinite streaming analysis rather than repeated batch retraining.

Its theoretical basis is Koopman operator theory. For a deterministic system \(X_{t+1}=T(X_t)\), the Koopman operator acts on observables \(\eta\) by
\[
(\mathcal{K}\eta)(x)=\eta(T(x)).
\]
AdaKoop does not operate with the infinite-dimensional Koopman operator directly. Instead, it approximates Koopman evolution by lifting raw data into a finite-dimensional RKHS feature space and then fitting a low-rank linear latent dynamical system whose dominant predictive structure is updated online [2606.04930]. In the broader Koopman literature, this is structurally closest to finite-dimensional EDMD-style approximation, where the central task is to choose observables such that linear propagation in lifted coordinates is faithful to nonlinear state evolution [2410.02766].

The method’s central modeling object is the augmented observation
\[
\mathbf{y}_t=
\begin{bmatrix}
\mathbf{x}_t\\
\psi(x_t)
\end{bmatrix}
\in\mathbb{R}^{d+m},
\]
where \(\psi:\mathbb{R}^d\to\mathbb{R}^m\) is a finite-dimensional RKHS feature vector induced by a sparse kernel dictionary [2606.04930]. Rather than enforcing \(\psi(x_t)\) as a deterministic function inside the latent model, AdaKoop treats both \(x_t\) and \(\psi(x_t)\) as noisy views of a shared latent state. This probabilistic relaxation is a defining feature of the method.

## 2. Dual-view probabilistic Koopman operator regression

For one dynamic pattern, AdaKoop defines a linear Gaussian latent model
\[
\begin{aligned}
z_{t+1} &= A z_t + \boldsymbol{\xi}_t,\qquad \boldsymbol{\xi}_t\sim\mathcal{N}(0,Q),\\
\mathbf{y}_t &= H z_t + \boldsymbol{\eta}_t,\qquad \boldsymbol{\eta}_t\sim\mathcal{N}(0,R),
\end{aligned}
\]
with \(z_1\sim\mathcal{N}(\mu_0,P_0)\) [2606.04930]. Here \(A\in\mathbb{R}^{r\times r}\) is the latent transition matrix, \(H=[H_x^\top\;H_\psi^\top]^\top\in\mathbb{R}^{(d+m)\times r}\) is the observation matrix, and the observation covariance is constrained to be block diagonal,
\[
R=\operatorname{BlockDiag}(R_x,R_\psi).
\]
The parameter set \(\theta=\{A,H,Q,R_x,R_\psi,\mu_0,P_0\}\) is termed a Dual-view Kernelized System (DKS) [2606.04930].

The role of the dual view is twofold. The raw channel \(x_t\) preserves direct predictive relevance in the original space, while the RKHS channel \(\psi(x_t)\) injects nonlinear structure that is tractable under linear latent evolution. The paper’s argument is that this avoids degeneracy and allows observation noise to absorb finite-dimensional approximation error in the lifted space [2606.04930]. A plausible implication is that AdaKoop should be read not as a hard-constrained kernel state-space model, but as a probabilistic Koopman regression scheme with explicit approximation slack.

The finite-dimensional feature map is built from an incrementally maintained sparse dictionary \(D_t=\{x_\tau:\tau\in I_t\}\). For a new point \(x_{t+1}\), AdaKoop computes the RKHS approximation residual
\[
\delta_{t+1} = \|\phi(x_{t+1})-\Pi_{D_t}\phi(x_{t+1})\|^2,
\]
or in kernel form
\[
\delta_{t+1} = k(x_{t+1},x_{t+1}) - k_t(x_{t+1})^\top K_t^{-1}k_t(x_{t+1}),
\]
and adds the point to the dictionary when \(\delta_{t+1}>\nu\) [2606.04930]. The induced feature vector is
\[
\psi(x)=\big[k(x_i,x)\big]_{i\in I_T}^\top.
\]
This means that AdaKoop’s lifting is adaptive in the restricted sense of online basis maintenance, but it is not a deep learned lifting map of the kind used in static deep Koopman autoencoders [2508.13795].

Initialization proceeds through a regularized Koopman-style regression in feature space,
\[
\min_F \frac{1}{T-1}\|\Psi_1-F\Psi_0\|_F^2+\lambda_A\|F\|_F^2,
\]
followed by a truncated SVD of the whitened cross-covariance \(M=C_{10}C_{00}^{-1/2}\). The latent dimension \(r\) is chosen automatically using the Gavish–Donoho rule, and the resulting spectral warm start is refined by EM on the linear Gaussian state-space model [2606.04930].

## 3. Adaptation to nonstationarity

AdaKoop handles nonstationarity through two distinct mechanisms. Abrupt changes are handled by innovation-based hypothesis testing, and continuous drift is handled by online sufficient-statistics updates with forgetting [2606.04930].

For abrupt changes, the current model \(\mathcal{C}=\{\theta_c,S_c,D_c,\mu_c,P_c\}\) generates a one-step-ahead latent prediction
\[
\hat\mu_c^{\text{new}}=A_c^{\text{prev}}\mu_c^{\text{prev}}, \qquad
\hat P_c^{\text{new}}=A_c^{\text{prev}}P_c^{\text{prev}}(A_c^{\text{prev}})^\top+Q_c.
\]
The innovation in the observed channel is
\[
\tilde y_{t_c}=x_{t_c}-H_x\hat\mu_c^{\text{new}}, \qquad
S_c=H_x\hat P_c^{\text{new}}H_x^\top+R_x,
\]
and the normalized innovation squared is
\[
e_{t_c}^2=\tilde y_{t_c}^\top S_c^{-1}\tilde y_{t_c}.
\]
Under the nominal linear Gaussian model, \(e_{t_c}^2\approx\chi_d^2\). AdaKoop then applies the one-sided CUSUM statistic
\[
g_{t_c} = \max\left\{ 0,\; g_{t_c-1}+\bigl(e_{t_c}^2-\chi_d^2(1-\alpha)\bigr) \right\}.
\]
If \(g_{t_c}>h\), the current model is declared inconsistent and switching is triggered [2606.04930].

When switching occurs, AdaKoop evaluates all stored models on the current window, resets their latent state to a broad prior, refines initial moments by smoothing-based initialization, runs a Kalman filter over the window, and selects the model minimizing the mean NIS among those whose max NIS stays below threshold. If no stored model fits, it trains a new model on the current window using the static optimizer and inserts it into the model set \(\Theta=\{\theta_1,\ldots,\theta_R\}\) [2606.04930]. This makes the algorithm a switching family of local DKS models rather than a single globally adaptive operator.

Continuous drift is handled through online EM-style recursion with forgetting factor \(\gamma\in(0,1]\). The sufficient statistics
\[
S_1=\frac{1}{T}\sum_{t=1}^{T}\mathbb{E}[z_tz_t^\top],\qquad
S_2=\frac{1}{T-1}\sum_{t=1}^{T-1}\mathbb{E}[z_{t+1}z_t^\top],\qquad
S_3=\frac{1}{T}\sum_{t=1}^{T}y_t\mathbb{E}[z_t^\top]
\]
are updated online as
\[
S_1^{\text{new}} \leftarrow (1-\gamma)S_1^{\text{prev}} +\gamma\,\mathbb{E}[z_{t_c}z_{t_c}^\top],
\]
\[
S_2^{\text{new}} \leftarrow (1-\gamma)S_2^{\text{prev}} +\gamma\,\mathbb{E}[z_{t_c}z_{t_c-1}^\top],
\]
\[
S_3^{\text{new}} \leftarrow (1-\gamma)S_3^{\text{prev}} +\gamma\, y_{t_c}\mathbb{E}[z_{t_c}^\top],
\]
and induce closed-form parameter updates
\[
A^{\text{new}} \leftarrow S_2^{\text{new}}(S_1^{\text{prev}}+\lambda_A I)^{-1}, \qquad
H^{\text{new}} \leftarrow S_3^{\text{new}}(S_1^{\text{new}})^{-1}.
\]
The reported best range for \(\gamma\) is \([10^{-3},10^{-2}]\) [2606.04930].

## 4. Inference, optimization, and computational profile

Static fitting combines Kalman filtering, RTS smoothing, and EM. The forward recursions are
\[
\mu_{t|t-1}=A\mu_{t-1|t-1}, \qquad
P_{t|t-1}=AP_{t-1|t-1}A^\top+Q,
\]
\[
K_t=P_{t|t-1}H^\top(HP_{t|t-1}H^\top+R)^{-1},
\]
\[
\mu_{t|t}=\mu_{t|t-1}+K_t(y_t-H\mu_{t|t-1}),
\qquad
P_{t|t}=(I-K_tH)P_{t|t-1},
\]
followed by RTS smoothing and closed-form M-step updates for \(A\), \(H\), \(Q\), \(R_x\), and \(R_\psi\) [2606.04930]. In this respect AdaKoop is closer to probabilistic linear state-space identification than to deep autoencoder Koopman schemes.

Online forecasting is direct because the latent dynamics are linear:
\[
\hat z_{t_c+s}=A^s\mu_c^{\text{new}}, \qquad
\hat x_{t_c+s}=H_x\hat z_{t_c+s}.
\]
The computational advantage claimed by the paper is that the per-step cost is constant with respect to stream length \(t_c\). Static optimization costs
\[
O(Tm^2+m^3+\#\mathrm{iter}\cdot T r^2(d+m)),
\]
whereas the streaming cost per step is at least
\[
O(m^2+r^2(d+m)),
\]
and at most
\[
O(Tm^2+m^3+RT r^2(d+m)+\#\mathrm{iter}\cdot T r^2(d+m))
\]
only when switching is triggered and a new model must be trained [2606.04930]. This complexity profile is central to the paper’s claim that AdaKoop is suitable for semi-infinite real-time streams.

The implementation defaults reported in the paper are window length \(T=100\), threshold \(\nu=0.001\) for dictionary expansion, confidence level \(\alpha=0.01\), switching limit \(h=3\chi_d^2(1-\alpha)\), EM iterations \(\#\mathrm{iter}=3\), forgetting factor \(\gamma\in\{0.01,0.003,0.001\}\), and regularization \(\lambda_A\in\{10^{-8},10^{-7},10^{-6},10^{-5}\}\). The default kernel is Gaussian/RBF, with width set to the median pairwise distance in the data [2606.04930].

Within the Koopman-estimation literature, AdaKoop’s probabilistic streaming updates differ from batch DMD and EDMD constructions [2410.02766]. They also differ from total-DMD-style debiasing, which targets the asymmetry of noisy snapshot regression by symmetric total least squares [1502.03854], and from EnKF-based recursive DMD, which filters eigenvalues and modes directly from noisy sequential data [2410.02815]. AdaKoop instead filters latent states inside a dual-view lifted state-space model.

## 5. Empirical evaluation and reported performance

The empirical study uses the dysts benchmark comprising 71 chaotic dynamical systems from domains including astrophysics, climatology, and biochemistry. Each dataset has length \(1000\), time step \(0.01\), noise ratio \(5\%\), normalization to \([-1,1]\), and train/validation/test split \(20\%/10\%/70\%\). Real-time multivariate forecasting is evaluated at horizons \(s\in\{20,25,30\}\) over 5 random seeds [2606.04930].

The reported baselines are ModePlait, WPMixer, PAttn, OneNet, Koopa, and sKAF. Averaged over all 71 datasets, AdaKoop yields MSE
\[
0.0763\pm0.0539,\quad 0.0999\pm0.0659,\quad 0.120\pm0.0747
\]
for horizons \(20,25,30\), respectively. The corresponding second-best values reported are \(0.279\pm0.0918\), \(0.300\pm0.104\), and \(0.322\pm0.145\) [2606.04930]. For MAE, AdaKoop yields
\[
0.183\pm0.0769,\quad 0.214\pm0.0857,\quad 0.240\pm0.0888,
\]
while the second-best reported values are \(0.407\pm0.0857\), \(0.413\pm0.214\), and \(0.413\pm0.194\) [2606.04930]. The paper also states that critical difference diagrams indicate statistical significance.

Ablation over kernels is one of the paper’s clearest demonstrations that the nonlinear lifting matters. With the RBF kernel, AdaKoop attains the best MSE/MAE values just listed. The polynomial kernel is worse, with MSE \(0.115, 0.144, 0.164\) and MAE \(0.221, 0.254, 0.278\). Sigmoid and linear kernels are much worse, with MSE around \(0.218,0.239,0.253\) and MAE around \(0.365,0.384,0.398\) for sigmoid, and MSE around \(0.218,0.239,0.253\) and MAE around \(0.366,0.386,0.400\) for linear [2606.04930]. The paper interprets this by noting that RBF is positive-definite and infinite-dimensional, polynomial is finite-dimensional and less expressive, linear cannot capture strong nonlinear dynamics, and sigmoid is not positive definite in the reported setting.

The runtime study is presented as evidence that AdaKoop is not only more accurate but also more computationally efficient than the compared time-varying nonlinear streaming methods. OneNet is reported to be particularly slow because it maintains complementary models, and ModePlait is moderately fast but slower than AdaKoop because it also performs streaming causal discovery [2606.04930].

## 6. Position within Koopman research, naming, and limitations

AdaKoop occupies a specific position within recent Koopman research. It is not a static deep Koopman controller of the type used in latent linear MPC for quadrotors, where one fixed encoder and one fixed pair \((A,B)\) are learned offline and then used unchanged online [2508.13795]. It is also not a dual-branch predictor-corrector architecture for nonstationary time series with Fourier decomposition and EKF-inspired course correction, as in KODA [2409.19518]. Instead, AdaKoop combines kernel lifting, probabilistic latent linear dynamics, online EM, and innovation-based change detection for streaming nonlinear forecasting [2606.04930].

A recurring naming confusion concerns ADKO. ADKO denotes “Agentic Decentralized Knowledge Optimization,” a decentralized Bayesian optimization framework for collaborative black-box optimization across autonomous agents; it is not introduced as AdaKoop, and it addresses a different problem class entirely [2605.07863]. AdaKoop, by contrast, is explicitly a streaming Koopman operator regression method for nonlinear nonstationary data streams [2606.04930].

The main limitations stated for AdaKoop are equally specific. Tensor streams must be vectorized; exogenous inputs and interventions are not modeled; and the framework relies on linear Gaussian assumptions, so heavy-tailed noise or severe outliers may hurt performance [2606.04930]. The paper identifies robust filtering and controlled or intervention-aware extensions as future directions. A further plausible implication is that AdaKoop’s success depends materially on the quality of the sparse kernel dictionary and on the validity of the dual-view latent linearization; this is consistent with the wider Koopman literature, in which observable choice remains the decisive approximation bottleneck [2410.02766].

Taken together, these features define AdaKoop as an adaptive finite-dimensional Koopman approximation for streaming data: adaptive because it detects abrupt switching, updates sufficient statistics online, expands and prunes a sparse kernel dictionary, and maintains a bank of local models; finite-dimensional because it uses a low-rank RKHS lift rather than an explicit infinite-dimensional operator; and Koopman in the strict sense that its nonlinear predictive power is mediated through linear evolution of lifted observables [2606.04930].

Source: https://www.emergentmind.com/topics/adakoop