Table of Contents
Fetching ...

bigMICE: Multiple Imputation of Big Data

Hugo Morvan, Jonas Agholme, Bjorn Eliasson, Katarina Olofsson, Ludger Grote, Fredrik Iredahl, Oleg Sysoev

TL;DR

This work tackles the challenge of missing data in very large datasets by extending the MICE framework to a distributed Spark-based environment. It introduces bigMICE, which integrates MICE with Spark MLlib and the R interface sparklyr to enable memory-efficient, scalable imputation that can run on ordinary hardware. Key contributions include novel memory-management strategies, two initialization methods, and Rubin's rules-based pooling implemented in a streaming, disk-assisted fashion, validated on a large Swedish medical registry. The results demonstrate favorable memory and runtime performance compared to a common MICE implementation, with high-quality imputations achievable even at high missingness levels, highlighting the practical impact for big-data health registries and other domains. The paper also provides practical installation and usage guidelines and discusses future directions for broader model support, diagnostics, and cluster-scale evaluation.

Abstract

Missing data is a prevalent issue in many applications, including large medical registries such as the Swedish Healthcare Quality Registries, potentially leading to biased or inefficient analyses if not handled properly. Multiple Imputation by Chained Equations (MICE) is a popular and versatile method for handling multivariate missing data but traditional implementations face significant challenges when applied to big data sets due to computational time and memory limitations. To address this, the bigMICE package was developed, adapting the MICE framework to big data using Apache Spark MLLib and Spark ML. Our implementation allows for controlling the maximum memory usage during the execution, enabling processing of very large data sets on a hardware with a limited memory, such as ordinary laptops. The developed package was tested on a large Swedish medical registry to measure memory usage, runtime and dependence of the imputation quality on sample size and on missingness proportion in the data. In conclusion, our method is generally more memory efficient and faster on large data sets compared to a commonly used MICE implementation. We also demonstrate that working with very large datasets can result in high quality imputations even when a variable has a large proportion of missing data. This paper also provides guidelines and recommendations on how to install and use our open source package.

bigMICE: Multiple Imputation of Big Data

TL;DR

This work tackles the challenge of missing data in very large datasets by extending the MICE framework to a distributed Spark-based environment. It introduces bigMICE, which integrates MICE with Spark MLlib and the R interface sparklyr to enable memory-efficient, scalable imputation that can run on ordinary hardware. Key contributions include novel memory-management strategies, two initialization methods, and Rubin's rules-based pooling implemented in a streaming, disk-assisted fashion, validated on a large Swedish medical registry. The results demonstrate favorable memory and runtime performance compared to a common MICE implementation, with high-quality imputations achievable even at high missingness levels, highlighting the practical impact for big-data health registries and other domains. The paper also provides practical installation and usage guidelines and discusses future directions for broader model support, diagnostics, and cluster-scale evaluation.

Abstract

Missing data is a prevalent issue in many applications, including large medical registries such as the Swedish Healthcare Quality Registries, potentially leading to biased or inefficient analyses if not handled properly. Multiple Imputation by Chained Equations (MICE) is a popular and versatile method for handling multivariate missing data but traditional implementations face significant challenges when applied to big data sets due to computational time and memory limitations. To address this, the bigMICE package was developed, adapting the MICE framework to big data using Apache Spark MLLib and Spark ML. Our implementation allows for controlling the maximum memory usage during the execution, enabling processing of very large data sets on a hardware with a limited memory, such as ordinary laptops. The developed package was tested on a large Swedish medical registry to measure memory usage, runtime and dependence of the imputation quality on sample size and on missingness proportion in the data. In conclusion, our method is generally more memory efficient and faster on large data sets compared to a commonly used MICE implementation. We also demonstrate that working with very large datasets can result in high quality imputations even when a variable has a large proportion of missing data. This paper also provides guidelines and recommendations on how to install and use our open source package.
Paper Structure (24 sections, 1 equation, 1 figure)