Suppose that a portion of the sample data is missing, where
missing values are represented as
NaNs. If the
missing values are missing-at-random and ignorable, where Little and
Rubin  have precise definitions
for these terms, it is possible to use a version of the Expectation
Maximization, or EM, algorithm of Dempster, Laird, and Rubin  to estimate the parameters of the
multivariate normal regression model. The algorithm used in Financial Toolbox™ software
is the ECM (Expectation Conditional Maximization) algorithm of Meng
and Rubin  with enhancements
by Sexton and Swensen .
Each sample zk for k = 1, ..., m, is either complete with no missing values, empty with no observed values, or incomplete with both observed and missing values. Empty samples are ignored since they contribute no information.
To understand the missing-at-random and ignorable conditions, consider an example of stock
price data before an IPO. For a counterexample, censored data, in which all values
greater than some cutoff are replaced with
NaNs, does not satisfy
In sample k, let xk represent the missing values in zk and yk represent the observed values. Define a permutation matrix Pk so that
for k = 1, ..., m.
The ECM algorithm has two steps – an E, or expectation step, and a CM, or conditional maximization, step. As with maximum likelihood estimation, the parameter estimates evolve according to an iterative process, where estimates for the parameters after t iterations are denoted as b(t) and C(t).
The E step forms conditional expectations for the elements of missing data with
for each sample that has missing data.
The CM step proceeds in the same manner as the maximum likelihood procedure without missing data. The main difference is that missing data moments are imputed from the conditional expectations obtained in the E step.
The E and CM steps are repeated until the log-likelihood function ceases to increase. One of the important properties of the ECM algorithm is that it is always guaranteed to find a maximum of the log-likelihood function and, under suitable conditions, this maximum can be a global maximum.
The negative of the expected Hessian of the log-likelihood function and the Fisher information matrix are identical if no data is missing. However, if data is missing, the Hessian, which is computed over available samples, accounts for the loss of information due to missing data. So, the Fisher information matrix provides standard errors that are a Cramér-Rao lower bound whereas the Hessian matrix provides standard errors that may be greater if there is missing data.
The ECM functions do not “fill in” missing values as they estimate model parameters. In some cases, you may want to fill in the missing values. Although you can fill in the missing values in your data with conditional expectations, you would get optimistic and unrealistic estimates because conditional estimates are not random realizations.
Several approaches are possible, including resampling methods and multiple imputation (see Little and Rubin  and Shafer  for details). A somewhat informal sampling method for data augmentation is to form random samples for missing values based on the conditional distribution for the missing values. Given parameter estimates for and , each observation has moments
for k = 1, ..., m, where you have dropped the parameter dependence on the left sides for notational convenience.
For observations with missing values partitioned into missing values Xk and observed values Yk = yk, you can form conditional estimates for any subcollection of random variables within a given observation. Thus, given estimates E[ Zk ] and cov(Zk) based on the parameter estimates, you can create conditional estimates
using standard multivariate normal distribution theory. Given these conditional estimates, you can simulate random samples for the missing values from the conditional distribution
The samples from this distribution reflect the pattern of missing and nonmissing values for observations k = 1, ..., m. You must sample from conditional distributions for each observation to preserve the correlation structure with the nonmissing values at each observation.
If you follow this procedure, the resultant filled-in values are random and generate mean and covariance estimates that are asymptotically equivalent to the ECM-derived mean and covariance estimates. Note, however, that the filled-in values are random and reflect likely samples from the distribution estimated over all the data and may not reflect “true” values for a particular observation.