Cách đây một thời gian, tôi đã xây dựng một chương trình thử nghiệm để làm tròn liên tiếp, bởi vì về cơ bản, đây là một thử nghiệm ứng suất trong trường hợp xấu nhất cho thuật toán làm tròn.
Đối với mỗi số từ 0 đến 9,999, số đầu tiên của nó sẽ đến 10 số gần nhất, sau đó đến 100 gần nhất, sau đó đến 1000 gần nhất (Bạn cũng có thể nghĩ rằng 10.000 điểm trong [0,1) được làm tròn đến 3 vị trí, sau đó đến 2, sau đó đến 1.) Tập hợp số này có giá trị trung bình là 4999,5.
Nếu tất cả ba vòng được thực hiện bằng phương pháp "làm tròn một nửa", thì kết quả sẽ như sau (cột đầu tiên là kết quả làm tròn, cột thứ hai là có bao nhiêu số được làm tròn đến kết quả đó - tức là biểu đồ).
0 445
1000 1000
2000 1000
3000 1000
4000 1000
5000 1000
6000 1000
7000 1000
8000 1000
9000 1000
10000 555
Kết quả khác với một "nửa vòng lên" đơn lẻ đến hàng nghìn 550 lần gần nhất trong số 10.000 và giá trị làm tròn trung bình là 5055 (cao hơn mức trung bình ban đầu là 55,5).
Nếu tất cả ba vòng được thực hiện bằng cách "làm tròn một nửa", thì kết quả là:
0 556
1000 1000
2000 1000
3000 1000
4000 1000
5000 1000
6000 1000
7000 1000
8000 1000
9000 1000
10000 444
Kết quả khác với một "nửa vòng xuống" duy nhất đến hàng nghìn 550 lần gần nhất trong số 10.000 và giá trị làm tròn trung bình là 4944 (quá thấp 55,5).
Nếu tất cả ba vòng được thực hiện bằng cách sử dụng "vòng nửa lẻ", kết quả là:
0 445
1000 1111
2000 889
3000 1111
4000 889
5000 1111
6000 889
7000 1111
8000 889
9000 1111
10000 444
Kết quả khác với một "số lẻ nửa vòng" đơn lẻ đến hàng nghìn 550 lần gần nhất trong số 10.000 và giá trị làm tròn trung bình là 4999,5 (đúng).
Cuối cùng, nếu cả ba vòng đều được thực hiện bằng cách sử dụng "nửa vòng chẵn", kết quả là:
0 546
1000 909
2000 1091
3000 909
4000 1091
5000 909
6000 1091
7000 909
8000 1091
9000 909
10000 1091
Kết quả khác với một "nửa chẵn" đơn lẻ đến hàng nghìn 450 lần gần nhất trong số 10.000 và giá trị làm tròn trung bình là 4999,5 (đúng).
Tôi nghĩ rõ ràng là làm tròn một nửa và nửa xuống làm lệch các giá trị được làm tròn, do đó trung bình của các giá trị được làm tròn không còn có cùng kỳ vọng như trung bình của các giá trị ban đầu và "nửa tròn chẵn" và "nửa tròn lẻ "Xóa bỏ sự thiên vị bằng cách xử lý 5 cách một nửa thời gian và cách khác nửa còn lại. Làm tròn liên tiếp nhân lên sự thiên vị.
Vòng nửa chẵn và nửa tròn lẻ giới thiệu loại sai lệch của riêng chúng đối với phân phối: lần lượt là độ lệch đối với các chữ số chẵn và lẻ. Trong cả hai trường hợp, một lần nữa, sự thiên vị này được nhân lên bằng cách làm tròn liên tiếp, nhưng điều tồi tệ hơn đối với vòng nửa lẻ. Tôi nghĩ rằng lời giải thích trong trường hợp này rất đơn giản: 5 là một số lẻ, do đó, một nửa số lẻ có nhiều kết quả kết thúc bằng 5 hơn một nửa số chẵn - và do đó, nhiều kết quả sẽ phải được xử lý đặc biệt bằng cách làm tròn tiếp theo .
Vì vậy, dù sao đi nữa, trong bốn lựa chọn, chỉ có hai lựa chọn không thiên vị, và trong hai lựa chọn không thiên vị, một nửa vòng thậm chí còn cho phân phối ứng xử tốt nhất khi làm tròn số lặp lại.