1. A system for clustering observations, the system comprising: a processor; and a processor-readable storage medium, wherein the processor-readable storage medium contains one or more programming instructions for performing a method of clustering observations, the method comprising: receiving a plurality of parameter vectors, determining a distribution, receiving a plurality of observations, and selecting an optimal partitioning of the observations based on the distribution, the parameter vectors, and a likelihood function.