Is the method of mean substitution for replacing missing data out of date? Are there more sophisticated models that should be used? If so, what are they?
Barring the fact that it's not necessary to shoot mosquitoes with a cannon (i.e. if you have one missing value in a million data points, just drop it), using the mean could be suboptimal to say the least: the result can be biased, and you should at least correct the result for the uncertainty.
There are some other options, but the one easiest to explain is multiple imputation. The concept is simple: based upon a model for your data itself (e.g. obtained from the complete cases, though other options are available, like MICE), draw values from the associated distribution to 'complete' your dataset. Then in this completed dataset you don't have anymore missing data, and you can run your analysis of interest.
If you did this only once (in fact, replacing the missing values with the mean is a very contorted form of this), it would be called single imputation, and there is no reason why it would perform better than mean replacement.
However: the trick is to do this repeatedly (hence Multiple Imputation), and each time do your analysis on each completed (=imputed) dataset. The result is typically a set of parameter estimates or similar for each completed dataset. Under relatively loose conditions, it is OK to average your parameter estimates over all these imputed datasets.
The advantage is that there also exists a simple formula to adjust the standard error for the uncertainty caused by the missing data.
If you want to know more, you probably want to read Little and Rubin's 'Statistical Analysis with Missing Data'. This also holds other methods (EM,...) and more explanation on how/why/when they work.
You did not tell us very much about the nature of your missing data. Did you check for MCAR (Missing Completely at Random)? Given that you cannot assume MCAR, mean substitution can lead to biased estimators.
As a non-mathematical starting point, I can recommend the following two references:
- Graham, Hohn W. (2009): Missing Data Analysis: Making It Work in the Real World.
- Allison, Paul (2002): Missing data. (see section "Imputation", p. 11)
If your missing values are randomly distributed, or your sample size is small, you might be better off just using the mean. I would first split the data into two parts: 1 with the missing values and the other without and then test for the difference in means of some key variables between the two samples. If there is no difference, you have some support for substituting the mean, or just deleting the observations entirely.
Missing data is one big issue everywhere. I wish you'd answer the following question first. 1) what %age of the data is missing ? -- if its more than 10% of the data you'd not risk imputing it with mean. Because imputing such missing with mean is equivalent to telling the LR box that look ..this variable has mean most of the places( so draw some conclusion) and you dont want LR box to draw conclusions upon your suggestions.do you ?? Now, the least you can do if you dont want much is you can try to relate this variables available values with different predictors value or use a business sense where ever possible..example..if I have a missing for marriage_ind , one of the ways could be seeing the median age of the people married, (lets say it comes out to be 29), I can assume that generally people(in India) get married by 30 and 29 suggests so. PROC MI also does thing internally for you but in a far more sofisticated way..so my 2 cents..see atleast 4-5 variables which are linked to your missings and try to form a correlation..This can be better than mean.