# Methodologies for predicting missing data

I have the following problem: I'm searching for methods to predict randomly missing data in a given dataset.

For example: I have a dataset which contains information about a person. This can be gender, weight, age, height etc. Let's assume there are information missing of age and height for a specific person. How can this information be predicted based on the information I have in my dataset?

I have read about PCA-methods, but I would like to get an overview of pros and cons of methodologies and also an overview of recent research (good working algorithms for the given dataset/where to start reading for developing an algorithm and solving the given problem).

• This is called data-imputation – smci Oct 23 '16 at 22:34
• I would bet there are existing imputing algorithms to do this in the biology field. – grldsndrs Oct 24 '16 at 0:52
• There are different types of missing data. MCAR/MAR are easiest to impute, but if your data has some sort of pattern, you'll have to model that pattern into your imputation – Jon Oct 24 '16 at 20:45

As told by @smci, this technique is called Data Imputation. There are several techniques which can be used to deal with the missing data. Some of these are:

• Mean/ Mode/ Median Imputation: Imputation is a method to fill in the missing values with estimated ones. The objective is to employ known relationships that can be identified in the valid values of the data set to assist in estimating the missing values. Mean / Mode / Median imputation is one of the most frequently used methods. It consists of replacing the missing data for a given attribute by the mean or median (quantitative attribute) or mode (qualitative attribute) of all known values of that variable. This can further be classified as generalized and similar case imputation.

• Prediction Model: Prediction model is one of the sophisticated method for handling missing data. Here, we create a predictive model to estimate values that will substitute the missing data. In this case, we divide our data set into two sets: One set with no missing values for the variable and another one with missing values. First data set become training data set of the model while second data set with missing values is test data set and variable with missing values is treated as target variable. Next, we create a model to predict target variable based on other attributes of the training data set and populate missing values of test data set.

• KNN(k-nearest neighbor) Imputation: In this method of imputation, the missing values of an attribute are imputed using the given number of attributes that are most similar to the attribute whose values are missing. The similarity of two attributes is determined using a distance function.

Ideally, there is no such approach or tool which can assure you that.. But as you asked there are surely pros-cons of every approach/tool. They're several approaches that you can follow. However, the best approach always depends on your goal and these factors--

• Types of Missing Values.
• Type of Data you have.
• Bias in the analyses should be minimized.
• Available Information must be maximized (for the researcher).
• It must give reasonable estimates of Variability and Error.

So keep these factors and your goals in mind before approaching to any. For more details, I'll suggest you to go through these blog posts--

Hope it helps!