Predictive mean matching (PMM) is an attractive way to do multiple imputation for missing data, especially for imputing quantitative variables that are not normally distributed. But, as I explain below, it’s also easy to do it the wrong way.

Compared with standard methods based on linear regression and the normal distribution, PMM produces imputed values that are much more like real values. If the original variable is skewed, the imputed values will also be skewed. If the original variable is bounded by 0 and 100, the imputed values will also be bounded by 0 and 100. And if the real values are discrete (like number of children), the imputed values will also be discrete. That’s because the imputed values *are* real values that are “borrowed” from individuals with real data.

PMM has been around for a long time (Rubin 1986, Little 1988), but only recently has it become widely available and practical to use. Originally, it could only be used in situations where a single variable had missing data or, more broadly, when the missing data pattern was monotonic. Now, however, the PMM method is embedded in many software packages that implement an approach to multiple imputation variously known as multiple imputation by chained equations (MICE), sequential generalized regression, or the fully conditional specification (FCS). It’s available in many statistical packages, including SAS, Stata, SPSS, and R, all of which allow you to use PMM for virtually any missing data pattern.

There are two major pitfalls to PMM, however. First, only a handful of studies have evaluated its performance, so it’s not clear how well it compares with alternative methods. Second, at least two statistical packages, SPSS and Stata, have implemented PMM with a default setting that actually invalidates the method. If you use either of those packages, you *must* override the default.

Before explaining that problem, I first need to provide a brief description of how PMM works. Suppose there is a single variable *x* that has some cases with missing data, and a set of variables *z* (with no missing data) that are used to impute *x*. Do the following:

- For cases with no missing data, estimate a linear regression of
*x*on*z*, producing a set of coefficients*b*. - Make a random draw from the “posterior predictive distribution” of
*b*, producing a new set of coefficients*b**. Typically this would be a random draw from a multivariate normal distribution with mean*b*and the estimated covariance matrix of*b*(with an additional random draw for the residual variance). This step is necessary to produce sufficient variability in the imputed values, and is common to all “proper” methods for multiple imputation. - Using
*b**, generate predicted values for*x*for*all*cases, both those with data missing on*x*and those with data present. - For each case with missing
*x*, identify a set of cases with observed*x*whose*predicted*values are close to the predicted value for the case with missing data. - From among those close cases, randomly choose one and assign its
*observed*value to substitute for the missing value. - Repeat steps 2 through 5 for each completed data set.

Unlike many methods of imputation, the purpose of the linear regression is not to actually generate imputed values. Rather, it serves to construct a metric for matching cases with missing data to similar cases with data present.

There are several variations to this method (Morris et al. 2014), but the most important issue to settle is how many cases (*k*) should be in each match set. The default in the SAS procedure MI and in the MICE package for R is *k*=5. That is, each case with missing data on* x* is matched to the 5 cases (with data present) that have the closest predicted values. One of the 5 is chosen at random and its *x* value is assigned to the case with missing data. Solas and the user-written **ice** command for Stata set the default at *k*=10.

On the other hand, for the SPSS missing values module and for the built-in **mi** command in Stata the default is *k*=1. That is, each case with missing data is matched to the *single* case whose predicted value is closest to the predicted value for the case with missing data. With only one matched case, there is no random draw at Step 5 in the scheme above.

That’s a serious error. With no random draw at Step 5, the only source of random variation in the imputation process is the random draw of regression coefficients in Step 2. That’s not nearly enough to produce proper imputations. As a result, estimated standard errors tend to be much too low, leading to inflated test statistics and confidence intervals that are much too narrow (Morris et al. 2014).

Why did SPSS and Stata get it so wrong? Well, I’m guessing that they relied on Don Rubin’s classic 1987 book *Multiple Imputation for Nonresponse in Surveys*. In his description of PMM (p. 168), he proposed matching to a single case. But later work makes it clear that this is not the way to go.

So, if not *k*=1, then how many? That’s not clear. Schenker and Taylor (1996) did simulations with *k*=3 and *k*=10. Differences in performance were small, but with *k*=3*, *there was less bias and more sampling variation. Based on their simulations, Morris et al. (2014) recommended *k*=10 for most situations. But a lot depends on sample size. With large samples, *k*=10 is probably the better choice. But with smaller samples, *k*=10 will probably include too many cases that are rather unlike the case to which they are matched. Personally, I’m reasonably happy with the *k*=5 default of SAS and MICE.

The other major drawback of PMM is that there’s no mathematical theory to justify it (which is also true of MICE methods more generally). We have to rely on Monte Carlo simulations, and no simulation can study all the possibilities. Results reported by Schenker and Taylor (1996) and Morris et al. (2014) are very encouraging, but hardly definitive. In brief, it appears that PMM does almost as well as parametric methods for a correctly specified model, and a little better than parametric methods in certain misspecified models. So the current consensus seems to be that this is an acceptable and potentially useful method. But–as they say–more research is needed.

REFERENCES

Little, Roderick J. A. (1988) “Missing-data adjustments in large surveys.” Journal of Business & Economic Statistics 6: 287-296.

Morris, Tim P., Ian R. White and Patrick Royston (2014) “Tuning multiple imputation by predictive mean matching and local residual draws.” BMC Medical Research Methodology 14: 75-87.

Rubin, Donald B. (1986) “Statistical matching using file concatenation with adjusted weights and multiple imputations.” Journal of Business & Economic Statistics 4: 87-94.

Rubin, Donald B. (1987) Multiple Imputation for Nonresponse in Surveys. Wiley.

Schenker, Nathaniel and Jeremy M.G. Taylor (1996) “Partially parametric techniques for multiple imputation.” Computational Statistics & Data Analysis 22: 425-446.