Originally Posted by NotWise
The uncertainty in a single value rounded to 1/100th is +/- 0.005. When you perform an operation using two such rounded numbers (as you do when you calculate the change in the number of stars voted) then the uncertainties are convolved and the possible range in the result is doubled to +/- 0.01. The error distribution also changes from a rectangular probability function to a triangular probability function.
If we were talking about a situation where the only
information you had was the change in the rounded score, then yes, the uncertainty in that change would be +/- 0.01, for the reasons you state. If you see the rounded scores change from 4.63 to 4.60, and that's all the information you have, then the exact change in the score might be anything between (4.634999... - 4.595 = 0.0400...) to (4.625 to 4.6049999... = 0.0200...) i.e. 0.03 +/- 0.01. Just like you say.
And, yeah, IF story scores were uniformly-distributed random variables, then the distribution of a single rounding error would indeed have a rectangular distribution, and the distribution of the sum of two rounding errors would indeed have a triangular distribution.
But that's not
the only information we have. We know the number of votes before and after, and that puts constraints on which pre-rounded values are even possible
. And story scores aren't uniformly distributed; they're restricted to a discrete set of values, because they have to be integer multiples of (1/votes).
For example, suppose my story has 80 votes. The exact score has to be an integer multiple of 1/80, somewhere between 80/80 (= 1) and 400/80 (= 5).
369/80 = 4.6125, which would round to 4.61. Too small.
370/80 = 4.6250, which rounds to 4.63. Just right.
371/80 = 4.6375, which rounds to 4.64. Too large.
So if my rounded score is 4.63, from 80 votes, I can tell exactly
how many stars it had: 370. Any other possibility will end up being too high or too low to round to 4.63. I even know exactly what the rounding error was: 0.005.
Suppose I then get one more vote, and my score changes to 4.60. This time, I know my score's going to be an integer multiple of 1/81.
372/81 = 4.59259... which rounds to 4.59. Too small.
374/81 = 4.61728... which rounds to 4.62. Too large.
373/81 = 4.60493... which rounds to 4.60. Just right.
So I know my story now has a total of 373 stars, and since I know it had 370 before that last vote, I know that the last vote was exactly 3 stars.
Up to 100 votes, you can always
do this to get the exact number of stars at any time you have the rounded score and the number of votes. Between 100 and 200, sometimes, depending on the number.
I can give you a graph of the probability of getting a correct result.
I've run numerical experiments that show it to be true. The results of back-calculating the scores are only exact to 50 votes,
Sorry, but there's an error somewhere in your experiments - whether the issue I mentioned above, or something else.
If I'm incorrect, it should be easy to prove it. You just need to give one example of a case with 100 votes or less, where it's impossible to calculate the exact number of stars from the rounded score. (And, obviously, where that score is in fact possible
with the given number of votes - e.g. if a story has exactly ten votes, it's impossible to have an average of 4.18.)
But I guarantee that no such case exists.
There's also a problem that when you get a vote that doesn't change the score then the only result you can back-calculate correctly is the rounded-off version of the score, which may or may not be the right result.
Sorry, I don't understand this. If my story has 4.85 off 99 votes, and then gets another vote but stays at 4.85, I can tell you with certainty that the last vote was a 5. There is no other combination of numbers that can produce this result.