Skip to content

afrakilic/BTN_Volterra_Sys_ID

Repository files navigation

A Fully Probabilistic Tensor Network for Regularized Volterra System Identification

Source Code License

This repository contains the source code used to produce the results obtained in A Fully Probabilistic Tensor Network for Regularized Volterra System Identification submitted to International Federation of Automatic Control (IFAC) 2026. This project sets fixed random seeds to promote reproducibility. All experiments were conducted on the following computer:

  • Device: MacBook Pro
  • Chip: Apple M2 Pro
  • Memory: 16 GB LPDDR5
  • Operating System: macOS 15.5

However, please note that some computations may still yield slightly different results across operating systems (e.g., macOS vs Windows), hardware architectures, or Python library versions.

This work introduces Bayesian Tensor Network Volterra kernel machines (BTN-V), extending the Bayesian Tensor Network (BTN) framework to Volterra system identification. BTN-V represents Volterra kernels via canonical polyadic decomposition, reducing model complexity from $\mathcal{O}(I^D)$ to $\mathcal{O}(DIR)$. By treating all tensor components and hyperparameters as random variables, BTN-V provides predictive uncertainty estimation at no extra cost. Sparsity-inducing hierarchical priors enable automatic rank determination and learning of fading-memory behavior directly from data, improving interpretability and avoiding overfitting. Empirical results demonstrate competitive accuracy, enhanced uncertainty quantification, and reduced computational cost.

If you find the paper or this repository helpful in your publications, please consider citing it.

@misc{kilic2025fullyprobabilistictensornetwork,
      title={A Fully Probabilistic Tensor Network for Regularized Volterra System Identification}, 
      author={Afra Kilic and Kim Batselier},
      year={2025},
      eprint={2511.20457},
      archivePrefix={arXiv},
      primaryClass={stat.ML},
      url={https://arxiv.org/abs/2511.20457}, 
}

Installation

Make sure you have Python 3.11.13 installed.

Install dependencies:

git https://github.com/afrakilic/BTN_Volterra_Sys_ID.git
cd BTN_Volterra_Sys_ID

and then install the required packages by, e.g., running

pip install -r requirements.txt

The repository is provided under the GNU General Public License. See the LICENSE file included with this repository.


Author

Afra KILIC, PhD Candidate [H.A.Kilic@tudelft.nl | hafra.kilic@gmail.com]

Delft Center for Systems and Control in Delft University of Technology

This research is part of the project Sustainable learning for Artificial Intelligence from noisy large-scale data (with project number VI.Vidi.213.017) which is financed by the Dutch Research Council (NWO).

Copyright (c) 2025 Afra Kilic.

Copyright notice: Technische Universiteit Delft hereby disclaims all copyright interest.

About

A probabilistic method for nonlinear system identification using the Tensor Network SISO Volterra series.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages