# Choice of replacing missing values based on the data distribution

I am building a classification model based on a relatively small dataset. I have some missing values on the different attributes that I have. I cannot afford deleting any of the record that has missing values so I want to replace them.

I made some general calculation to get some understand of the disruption of the data and to help me choose the value which would replace the missing values,

Assume that I have attribute A with the following:
mean = 121.68676278
std = 30.51562426
median = 117
mode =
min = 44
max = 199
[in all the calculations, I ignored the missing values]

If I were to choose between mean, median, or mode which one would be most suitable?

and there is something else which was very confusing for me, the std is very large and when I asked about it I was told that this could be normal based on the range of my data but I did not understand what that means?

## 1 Answer

1. I would not definitely recommend substituting missing values by mean or by median or mode. If you want to go through some techniques and get a glance at them, I would recommend going through this link and for imputation techniques this wiki page gives you a brief .

2. Do you think that there is a way to predict missing values from the other cells. If yes, apply a regression model on those variables and estimate the missing value. But remember this lacks variability as values fall on the regression line itself. There are methods like regression imputation which can add this variability component to the estimated value.

3. If you are unable to go anywhere from the previous step, then see how the values are distributed for the missing variable, substitute them according to that distribution by using a random function.

4. And if your unable to perform any of the above mentioned ones and want to go by mean, median. I cant really give my opinion as in this case they are nearer to each other. See what gives you the best predictable and decide between them.

5. Coming to your final question, Std. deviation just shows how far your values are falling away from mean. If your data has large range with good enough number of points distributed at extremes, you would be expected to have high std. deviation.