1. A computer system for clustering a data set in a sequence of data sets, comprising: a processor device performing computer-executable instructions comprising: receiving a data set as part of a sequence of data sets in a series of clusterings, said data set having a plurality of data elements and each of the data sets in the sequence being acquired at different timesteps; determining a first cost of clustering the data set; wherein the first cost comprises a cost of clustering the data set independently of the series of clusterings of the data sets in the sequence, each of the data sets being acquired at different timesteps; determining a second cost of clustering the data set; wherein the second cost comprises a cost of clustering the data set as part of the series of clusterings of the data sets in the sequence; combining the first cost with the second cost at each timestep; determining an overall cost of clustering the data set as a sum of the first cost and the second cost, using a selected clustering method; minimizing the overall cost; and clustering the data set using the selected clustering method according to the minimized overall cost, such that the clustering at any time has high accuracy while also ensuring that said clustering does not change dramatically from one timestep to a next timestep.