An algorithm for computing maximum likelihood estimates of parameters when some of the data are missing. It is an iterative algorithm that alternates two steps until convergence is attained to sufficient accuracy. Given some values assumed for the unknown parameters, the E step evaluates the joint likelihood of the complete data set, suitably averaged over all values of the missing data. This is therefore an expectation (see expected value) of the likelihood that is conditional on the observed data. The M step maximizes this expectation over the unknown parameter values. The values providing this maximization are used for the next E step. The algorithm was introduced by Dempster, Laird, and Rubin in 1977.