Skip to content

vsimkus/cfmi

Repository files navigation

CFMI: Flow Matching for Missing Data Imputation

This repository contains the research code for

Vaidotas Simkus, Michael U. Gutmann. CFMI: Flow Matching for Missing Data Imputation. arXiv, 2025.

The code is shared for reproducibility purposes and is not intended for production use.

Abstract

We introduce conditional flow matching for imputation (CFMI), a new general-purpose method to impute missing data. The method combines continuous normalising flows, flow-matching, and shared conditional modelling to deal with intractabilities of traditional multiple imputation. Our comparison with nine classical and state-of-the-art imputation methods on 24 small to moderate-dimensional tabular data sets shows that CFMI matches or outperforms both traditional and modern techniques across a wide range of metrics. Applying the method to zero-shot imputation of time-series data, we find that it matches the accuracy of a related diffusion-based method while outperforming it in terms of computational efficiency. Overall, CFMI performs at least as well as traditional methods on lower-dimensional data while remaining scalable to high-dimensional settings, matching or exceeding the performance of other deep learning-based approaches, making it a go-to imputation method for a wide range of data types and dimensionalities.

Dependencies

Install python dependencies from conda and the cfmi project package with

conda env create -f environment.yml
conda activate cfmi
python setup.py develop

If the dependencies in environment.yml change, update dependencies with

conda env update --file environment.yml

About

Research code for the paper "CFMI: Flow Matching for Missing Data Imputation".

Topics

Resources

Stars

Watchers

Forks