Problem: you are given N random numbers (independent and uniformly distributed) in a given range. Using up to M bits of data, compress the numbers in a way that minimizes mean-squared error (MSE). I am interested in the case where M is much lower than N.

Any ideas how to approach this problem? Any existing research on this topic?

My current approach: search over seeds of a random number generator and store the seeds using up to M bits. If M is tiny (let's say 4 bytes), you can search over a single seed, generate N random numbers using that seed, and store the seed which minimizes MSE. If M is larger, you can divide the N numbers into different groups and use one seed per group (dividing the search space would make it easier to find lower MSE).