1. A non-transitory computer readable storage medium having a computer program stored thereon, the computer program causing a computer to perform the steps of: (a) determining a set of possible elements; (b) ordering the set of possible elements according to one or more attributes, each of the ordered elements making up a group; (c) determining a first covariance only between a first of the groups and a second of the groups; (d) determining that the first group is a good enough subset of the ordered set of possible elements if the first covariance is greater than the predetermined threshold; (e) combining the first of the groups and the second of the groups to form a new first group of elements from the ordered set of possible elements if the first covariance is determined to be less than a predetermined threshold; (f) determining a second covariance between the new first group of elements and a next group of the ordered set of possible elements; (g) determining that the new first group is a good enough subset of the ordered set of possible elements if the second covariance is greater than the predetermined threshold; (h) combining the new first of the groups and the second of the groups to form a new first group of elements from the ordered set of possible elements if the second covariance is determined to be less than a predetermined threshold; and repeating steps (f)-(h) until the top group of elements is determined to be a good enough subset of the ordered set of possible elements.