Hace un tiempo construí un programa de prueba para el redondeo sucesivo, porque es básicamente una prueba de estrés en el peor de los casos para un algoritmo de redondeo.
Para cada número del 0 al 9.999, primero se redondea al 10 más cercano, luego al 100 más cercano, luego al 1000 más cercano. (También podría pensar que esto se redondea a 10,000 puntos en [0,1) a 3 lugares, luego a 2, luego a 1.) Este conjunto de números tiene un valor medio de 4999.5.
Si los tres redondeos se realizan utilizando el método "redondear a la mitad", los resultados son los siguientes (la primera columna es el resultado de la redondeo, la segunda columna es cómo muchos números se redondearon a ese resultado - es decir, es un histograma).
0 445
1000 1000
2000 1000
3000 1000
4000 1000
5000 1000
6000 1000
7000 1000
8000 1000
9000 1000
10000 555
El resultado difiere de una "media vuelta arriba" a mil mil veces más de 10,000 y el valor redondeado promedio es 5055 (más alto que el promedio original en 55.5).
Si los tres redondeos se realizan "redondeando a la mitad", los resultados son:
0 556
1000 1000
2000 1000
3000 1000
4000 1000
5000 1000
6000 1000
7000 1000
8000 1000
9000 1000
10000 444
El resultado difiere de una "mitad redonda abajo" a las mil 550 más cercanas a 10,000 y el valor redondeado promedio es 4944 (demasiado bajo por 55.5).
Si los tres redondeos se realizan utilizando "round half odd", el resultado es:
0 445
1000 1111
2000 889
3000 1111
4000 889
5000 1111
6000 889
7000 1111
8000 889
9000 1111
10000 444
El resultado difiere de una sola "mitad redonda impar" a las mil 550 más cercanas a 10,000 y el valor promedio redondeado es 4999.5 (correcto).
Finalmente, si los tres redondeos se realizan utilizando "round half even", los resultados son:
0 546
1000 909
2000 1091
3000 909
4000 1091
5000 909
6000 1091
7000 909
8000 1091
9000 909
10000 1091
El resultado difiere de una "mitad redonda" a los mil 450 más cercanos de 10,000 y el valor redondeado promedio es 4999.5 (correcto).
Creo que es obvio que la mitad redondeada hacia arriba y hacia la mitad hacia abajo sesga los valores redondeados, de modo que el promedio de los valores redondeados ya no tiene la misma expectativa que el promedio de los valores originales, y que "redondea la mitad" y " redondee la mitad impar "elimine el sesgo tratando 5 de una manera la mitad del tiempo y la otra forma de la otra mitad. El redondeo sucesivo multiplica el sesgo.
La mitad redondeada par y la mitad par impar introducen su propio tipo de sesgo en la distribución: un sesgo hacia dígitos pares e impares, respectivamente. En ambos casos, nuevamente, este sesgo se multiplica por redondeo sucesivo, pero es peor para la mitad de la ronda impar. Creo que la explicación en este caso es simple: 5 es un número impar, por lo que round half odd tiene más resultados que terminan en 5 que round half par - y por lo tanto, más resultados que deberán ser manejados especialmente por el next redondeo.
De todos modos, de las cuatro opciones, solo dos son insesgadas, y de las dos opciones no sesgadas, la mitad redondeada incluso ofrece la mejor distribución cuando está sujeta a redondeo repetido.