Identifiable generative models for missing not at random data imputation
AssigneeMicrosoft Technology Licensing, LLC
InventorsCheng ZHANG, Chao MA
Life of this patent
Estimating the term…
Abstract
A computer-implemented method comprising: tuning first, second and third set of parameters of respective neural networks by minimising a loss function, the loss function comprising a sum of: a measure of difference between a distribution of a first plurality of latent vectors and a distribution of a second plurality of latent vectors; and an error determined based on a set of computed vectors, a set of computed mask vectors and ground truth data for the set of data.
Claims16
A computer-implemented method comprising:
- receiving data comprising a plurality of data points, each data point comprising a respective value of each of a plurality of features for each data point in the received data, except that for at least one of the plurality of data points a respective value of at least one but not all of the features is missing such that the received data comprises at least one missing value;
- encoding, using a first neural network having at least one parameter, the values of the received data into a distribution of a first plurality of latent vectors, the distribution of the first plurality of latent vectors having a mean and a variance;
- decoding, using a second neural network having at least one parameter, a random sample of the distribution of the first plurality of latent vectors into a computed vector for each data point;
- inputting the computed vector for each data point into a third neural network having at least one parameter to determine a computed plurality of mask vectors, the plurality of mask vectors comprising a computed mask vector for each data point, wherein each computed mask vector comprises a computed binary value for each feature to indicate whether a value for each feature is missing or not;
- encoding, using a fourth neural network having at least one parameter, background data for each data point in the received data into a distribution of a second plurality of latent vectors, wherein the background data comprises fully observed data comprising a value for each feature and for each data point in the background data;
- tuning the at least one parameter of the first neural network, the at least one parameter of the second neural network and the at least one parameter of the third neural network by minimising a loss function, the loss function comprising a sum of:
- a measure of difference between the distribution of the first plurality of latent vectors and the distribution of the second plurality of latent vectors;
- and
- an error determined based on the computed vector for each data point, the computed at least one mask vector and ground truth data for the received data.
A computer program embodied on computer-readable storage, the program comprising code configured so as when run on one or more processors to perform the operations of:
- receiving data comprising a plurality of data points, each data point comprising a respective value of each of a plurality of features for each data point in the received data, except that for at least one of the plurality of data points a respective value of at least one but not all of the features is missing such that the received data comprises at least one missing value;
- encoding, using a first neural network having at least one parameter, the values of the received data into a distribution of a first plurality of latent vectors, the distribution of the first plurality of latent vectors having a mean and a variance;
- decoding, using a second neural network having at least one parameter, a random sample of the distribution of the first plurality of latent vectors into a computed vector for each data point;
- inputting the computed vector for each data point into a third neural network having at least one parameter to determine a computed plurality of mask vectors, the plurality of mask vectors comprising a computed mask vector for each data point, wherein each computed mask vector comprises a computed binary value for each feature to indicate whether a value for each feature is missing or not;
- encoding, using a fourth neural network having at least one parameter, background data for each data point in the received data into a distribution of a second plurality of latent vectors, wherein the background data comprises fully observed data comprising a value for each feature and for each data point in the background data;
- tuning the at least one parameter of the first neural network, the at least one parameter of the second neural network and the at least one parameter of the third neural network by minimising a loss function, the loss function comprising a sum of:
- a measure of difference between the distribution of the first plurality of latent vectors and the distribution of the second plurality of latent vectors;
- and
- an error determined based on the computed vector for each data point, the computed at least one mask vector and ground truth data for the received data.
A computer system comprising:
- storage comprising at least one memory unit and a processing apparatus comprising at least one processing unit;
- wherein the storage stores code arranged to run on the processing apparatus, the code being configured so as when thus run to perform the operations of:
- receiving data comprising a plurality of data points, each data point comprising a respective value of each of a plurality of features for each data point in the received data, except that for at least one of the plurality of data points a respective value of at least one but not all of the features is missing such that the received data comprises at least one missing value;
- encoding, using a first neural network having at least one parameter, the values of the received data into a distribution of a first plurality of latent vectors, the distribution of the first plurality of latent vectors having a mean and a variance;
- decoding, using a second neural network having at least one parameter, a random sample of the distribution of the first plurality of latent vectors into a computed vector for each data point;
- inputting the computed vector for each data point into a third neural network having at least one parameter to determine a computed plurality of mask vectors, the plurality of mask vectors comprising a computed mask vector for each data point, wherein each computed mask vector comprises a computed binary value for each feature to indicate whether a value for each feature is missing or not;
- encoding, using a fourth neural network having at least one parameter, background data for each data point in the received data into a distribution of a second plurality of latent vectors, wherein the background data comprises fully observed data comprising a value for each feature and for each data point in the background data;
- tuning the at least one parameter of the first neural network, the at least one parameter of the second neural network and the at least one parameter of the third neural network by minimising a loss function, the loss function comprising a sum of:
- a measure of difference between the distribution of the first plurality of latent vectors and the distribution of the second plurality of latent vectors;
- and
- an error determined based on the computed vector for each data point, the computed at least one mask vector and ground truth data for the received data.
Dependencies are inferred from the claim text.