Earth mover's distance
In computer science, the earth mover's distance (EMD) is a distance-like measure of dissimilarity between two frequency distributions, densities, or measures over a region D.
For probability distributions and normalized histograms, it reduces to the Wasserstein metric .
Informally, if the distributions are interpreted as two different ways of piling up earth (dirt) over the region D, the EMD captures the minimum cost of building the smaller pile using dirt taken from the larger, where cost is defined as the amount of dirt moved multiplied by the ground distance over which it is moved.

Theory
Assume that we have a set of points in  (dimension ). Instead of assigning one distribution to the set of points, we can cluster them and represent the point set in terms of the clusters. Thus, each cluster is a single point in  and the weight of the cluster is decided by the fraction of the distribution present in that cluster. This representation of a distribution by a set of clusters is called the signature. Two signatures can have different sizes, for example, a bimodal distribution has shorter signature (2 clusters) than complex ones. One cluster representation (mean or mode in ) can be thought of as a single feature in a signature. The distance between each of the features is called as ground distance.

The Earth Mover's Distance can be formulated and solved as a transportation problem. Suppose that several suppliers, each with a given amount of goods, are required to supply several consumers, each with a given limited capacity. For each supplier-consumer pair, the cost of transporting a single unit of goods is given. The transportation problem is then to find a least-expensive flow of goods from the suppliers to the consumers that satisfies the consumers' demand. Similarly, here the problem is transforming one signature() to another() with minimum work done.

Assume that signature  has  clusters with , where  is the cluster representative and  is the weight of the cluster. Similarly another signature  has  clusters. Let  be the ground distance between clusters  and .

We want to find a flow , with  the flow between  and , that minimizes the overall cost.

subject to the constraints:

The optimal flow  is found by solving this linear optimization problem. The earth mover's distance is defined as the work normalized by the total flow:

On probability distributions 
Suppose  and  represent probability distributions, i.e. they both have total weight 1. In this case, the flow  can be interpreted as a joint probability distribution, the total flow is also 1, and the EMD equals the 1-Wasserstein distance:

where  is the set of all joint distributions whose marginals are  and .

By Kantorovich-Rubinstein duality, this can also be expressed as:

where the supremum is taken over all 1-Lipschitz continuous functions, i.e. .

General case 
Let  be the total weight of , and  be the total weight of . We have:

where  is the set of all measures whose projections are  and .

Variants and extensions
Some applications may require the comparison of distributions with different total masses.  The approach used in the original definition is to allow for partial matching, where dirt from the more massive distribution is rearranged to make the less massive, and any leftover "dirt" is discarded at no cost.  The original EMD is hence not a true distance between distributions, as it does not satisfy the triangle inequality.

An alternative approach is to allow for mass to be created or destroyed, on a global and/or local level, as an alternative to transportation, but with a cost penalty.  In that case one must specify a real parameter , the ratio between the cost of creating or destroying one unit of "dirt", and the cost of transporting it by a unit distance.  This is equivalent to minimizing the sum of the earth moving cost plus  times the L1 distance between the rearranged pile and the second distribution. The resulting measure  is a true distance function.

The EMD can be extended naturally to the case where more than two distributions are compared.  In this case, the "distance" between the many distributions is defined as the optimal value of a linear program. This generalized EMD may be computed exactly using a greedy algorithm, and the resulting functional has been shown to be Minkowski additive and convex monotone.

Computing the EMD
The EMD can be computed by solving an instance of transportation problem, using any algorithm for minimum-cost flow problem, e.g. the network simplex algorithm.

The Hungarian algorithm can be used to get the solution if the domain D is the set {0, 1}. If the domain is integral, it can be translated for the same algorithm by representing integral bins as multiple binary bins.

As a special case, if D is a one-dimensional array of "bins" of size n, the EMD can be efficiently computed by scanning the array and keeping track of how much dirt needs to be transported between consecutive bins. Here the bins are zero-indexed:

EMD-based similarity analysis
EMD-based similarity analysis (EMDSA) is an important and effective tool in many multimedia information retrieval and pattern recognition applications. However, the computational cost of EMD is super-cubic to the number of the "bins" given an arbitrary "D". Efficient and scalable EMD computation techniques for large scale data have been investigated using MapReduce, as well as bulk synchronous parallel and resilient distributed dataset.

Applications
An early application of the EMD in computer science was to compare two grayscale images that may differ due to dithering, blurring, or local deformations.  In this case, the region is the image's domain, and the total amount of light (or ink) is the "dirt" to be rearranged.

The EMD is widely used in content-based image retrieval to compute distances between the color histograms of two digital images.  In this case, the region is the RGB color cube, and each image pixel is a parcel of "dirt".  The same technique can be used for any other quantitative pixel attribute, such as luminance, gradient, apparent motion in a video frame, etc..

More generally, the EMD is used in pattern recognition to compare generic summaries or surrogates of data records called signatures.  A typical signature consists of list of pairs ((x1,m1), ... (xn,mn)), where each xi is a certain "feature" (e.g., color in an image, letter in a text, etc.), and mi is "mass" (how many times that feature occurs in the record).  Alternatively, xi may be the centroid of a data cluster, and mi the number of entities in that cluster. To compare two such signatures with the EMD, one must define a distance between features, which is interpreted as the cost of turning a unit mass of one feature into a unit mass of the other.  The EMD between two signatures is then the minimum cost of turning one of them into the other.

EMD analysis has been used for quantitating multivariate changes in biomarkers measured by flow cytometry, with potential applications to other technologies that report distributions of measurements.

History
The concept was first introduced by Gaspard Monge in 1781, in the context of transportation theory. The use of the EMD as a distance measure for monochromatic images was described in 1989 by S. Peleg, M. Werman and H. Rom. The name "earth movers' distance" was proposed by J. Stolfi in 1994, and was used in print in 1998 by Y. Rubner, C. Tomasi and L. G. Guibas.

See also 

 Monge–Ampère equation

References

External links
C code for the Earth Mover's Distance (archived here)
Python implementation with references
Python2 wrapper for the C implementation of the Earth Mover's Distance
C++ and Matlab and Java wrappers code for the Earth Mover's Distance, especially efficient for thresholded ground distances
Java implementation of a generic generator for evaluating large-scale Earth Mover's Distance based similarity analysis

Statistical distance