GAIN: Missing Data Imputation using Generative Adversarial Nets
Jinsung Yoon, James Jordon, Mihaela van der Schaar
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/jsyoon0823/GAINOfficialtf★ 0
- github.com/vanderschaarlab/autoprognosispytorch★ 177
- github.com/dhanajitb/GAIN-Pytorchpytorch★ 77
- github.com/purbayankar/Advanced_GAINpytorch★ 0
- github.com/evolext/GAINpytorch★ 0
- github.com/javiersgjavi/GAIN-Pytorch-Lightningpytorch★ 0
- github.com/CKPOON0619/GAINtf★ 0
- github.com/dzerkes/GAIN---Deep-Learning-Projecttf★ 0
Abstract
We propose a novel method for imputing missing data by adapting the well-known Generative Adversarial Nets (GAN) framework. Accordingly, we call our method Generative Adversarial Imputation Nets (GAIN). The generator (G) observes some components of a real data vector, imputes the missing components conditioned on what is actually observed, and outputs a completed vector. The discriminator (D) then takes a completed vector and attempts to determine which components were actually observed and which were imputed. To ensure that D forces G to learn the desired distribution, we provide D with some additional information in the form of a hint vector. The hint reveals to D partial information about the missingness of the original sample, which is used by D to focus its attention on the imputation quality of particular components. This hint ensures that G does in fact learn to generate according to the true data distribution. We tested our method on various datasets and found that GAIN significantly outperforms state-of-the-art imputation methods.