GitHub - C-Naoki/AdaKoop: [KDD2026] AdaKoop: Efficient Modeling of Nonlinear Dynamics from Nonstationary Data Streams with Koopman Operator Regression (to appear). · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
C-Naoki
AdaKoop
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>8 Commits<br>8 Commits
bin
bin
data/dysts
data/dysts
docs
docs
src
src
.gitignore
.gitignore
.python-version
.python-version
Makefile
Makefile
README.md
README.md
pyproject.toml
pyproject.toml
requirements.txt
requirements.txt
uv.lock
uv.lock
View all files
Repository files navigation
AdaKoop: Efficient Modeling of Nonlinear Dynamics from Nonstationary Data Streams with Koopman Operator Regression
This repository contains the implementation of the KDD 2026 paper, "AdaKoop: Efficient Modeling of Nonlinear Dynamics from Nonstationary Data Streams with Koopman Operator Regression," by Naoki Chihara, Ren Fujiwara, Yasuko Matsubara, Yasushi Sakurai.
Figure 1. Overview of AdaKoop.
Usage
Clone this repository.
git clone https://github.com/C-Naoki/AdaKoop.git
Construct a virtual environment and install the required packages.
make install
Note that it requires to pyenv and uv.
If you prefer not to use them, you can also use requirements.txt created based on pyproject.toml.
Specifically, the above command performs the following steps:
if necessary, install Python 3.12.11 using pyenv, and then switch to this version.
create a virtual environment based on Python 3.12.11
install packages in pyproject.toml.
attach the path file (i.e., *.pth) in the site-packages/ for extending module search path.
Please check the Makefile for more details.
Prepare the datasets.
make prepare
This command generates the datasets and saves them in the data/dysts/ directory.
Run quick demos of AdaKoop
bash bin/demo.sh
If you want the command to continue running after logging out, you prepare nohup/ directory and use -n option as shown below (using nohup).
bash bin/demo.sh -n
The execution log is saved in nohup/ directory.
Minimal Example
import numpy as np
from src.models.adakoop import AdaKoop
# Build the model and set parameters.<br>model = AdaKoop(verbose=False)<br>model.init_params(d=d, lcurr=lcurr)
# Initialization.<br># - X_train, X_test : np.ndarray, shape (n, d)<br># - X_test is time series immediately after X_train.<br>model.initialize(X_train)<br>model.set_initial_model(X_train[-lcurr:])
# Online forecasting.<br>pred = np.full_like(X_test, np.nan)<br>for tc in range(len(X_test) - lstep):<br>x_new = X_test[tc]<br>model.model_selection(x_new)<br>model.update(x_new)<br>forecast, _, _ = model.forecast(lstep=lstep)<br>pred[tc + lstep] = forecast[-1]
Parameters
The main parameters of AdaKoop are summarized in the table below.
Argument<br>Default<br>Description
lcurr<br>Required<br>Current window length.
lstep<br>Required<br>Forecasting horizon.
nu<br>1e-3<br>Threshold for basis orthogonalization.
gamma<br>3e-3<br>Online forgetting factor.
kernel_type<br>rbf<br>Kernel used for window comparison and dictionary features.
lambda_A<br>1e-6<br>Ridge regularization strength for the transition matrix A.
em_iters<br>Maximum number of EM refinement iterations.
em_tol<br>1e-6<br>Convergence tolerance for EM refinement.
m_max<br>100<br>Maximum dictionary size.
chi2_p<br>0.99<br>Chi-square quantile used to compute the innovation-distance threshold.
Datasets
We used the dysts benchmark datasets for evaluating of our proposed method. This benchmark offers various types of chaotic dynamical systems spanning diverse fields, including astrophysics, climatology, and biochemistry.
Citation
If you use this code for your research, please consider citing our paper.
About
[KDD2026] AdaKoop: Efficient Modeling of Nonlinear Dynamics from Nonstationary Data Streams with Koopman Operator Regression (to appear).
Resources
Readme
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
stars
Watchers
watching
Forks
forks
Report repository
Releases
No releases published
Packages
Uh...