When I asked woc2006 how was Unstable Rate calculated, he said it was Standard Deviation. By looking at the numbers it usually gives, I think he meant standard deviation of the hit errors measured in tenths of a millisecond (so 100 Unstable Rate means 10ms of standard deviation).
Now, assuming that the hit errors follow a Normal Distribution, and the average errors are zero, for a certain standard deviation there is a probability for each hit to have an error with a magnitude less than A (where A is the time leniency for getting a 300, it depends on OD, it is 18ms for OD10).
Now, estimating the amounts of 300s and 100s in circles given a certain accuracy and number of circles:
Number of 100s: C = Circles*(3/2)*(1-Acc)
Number of 300s: T = Circles - C
(Note that this estimation only considers 300s and 100s; plays with 50s and Misses would be calculated as having a non-integer amount of 300s and 100s, which should be fine as an approximation in plays where most hits are 300s and 100s).
Now, calculate the "probability of getting a 300" that each hit has to have to have a median amount of 300s equal to the amount of 300s in the play. The amount of 300s in this case would follow a binomial distribution, and using the inverse regularized beta function to get the probability: (Mathematica Syntax)
Probability:
Now that we have the probability of getting a 300 each hit, using the inverse error function would allow to calculate the expected standard deviation of the hits in the normal distribution:
Where A is measured in tenths of milliseconds if the standard deviation calculated corresponds to Unstable Rate.
Also, for plays that have sliders and spinners, assuming that all sliders and spinners are 300s, calculate the "Circle Accuracy" of the play:
Circle Accuracy gives a better estimation than shown accuracy for the previous formulas (still not as good as the estimations obtained in a map with only circles though)