1. A method comprising: generating a first density model that approximates value densities in a set of data, wherein the first density model comprises a first set of functional components; iteratively generating at least one additional density model comprising a second density model, wherein generating the second density model comprises: selecting a first functional component of the first set of functional components based at least in part on how much the first functional component contributes to how well the first set of functional components approximates the value densities in the set of data, generating a variation of the first functional component, and generating the second density model comprising a second set of functional components, wherein the second set of functional components includes at least one more functional component than the first set of functional components, and wherein the second set of functional components is determined using at least the first functional component and the variation of the first functional component as seed components; storing, in association with the set of data, a resulting density model selected from the at least one additional density model; wherein the method is performed by one or more computing devices.