爲什麼銀行家舍入是合理的?

我們知道銀行的盈利渠道主要是利息差,從儲戶手裏收攏資金,然後放貸出去,其間的利息差額便是所獲得的利潤。對一個銀行來說,對付給儲戶的利息的計算非常頻繁。

場景介紹完畢,我們回過頭來看四捨五入,小於5的數字被捨去,大於等於5的數字進位加一,由於所有位上的數字都是自然計算出來的,按照概率計算可知,被舍入的數字均勻分佈在0到9之間,下面以10筆存款利息計算作爲模型,以銀行家的身份來思考這個算法:

(1)四舍:捨棄的數值:0.000、0.001、0.002、0.003、0.004,因爲是捨棄,對銀行家來說,就是不用付款給儲戶的,那每捨棄一個數字就會賺取相應的金額:0.000、0.001、0.002、0.003、0.004。

(2)五入:進位的數值:0.005、0.006、0.007、0.008、0.009,因爲是進位,對銀行家來說,每進一位就會多付款給儲戶,也就是虧損了,那虧損部分就是其對應的10進制補數:0.005、0.004、0.003、0.002、0.001

因爲捨棄和進位的數字是在0到9之間均勻分佈的,所以對於銀行家來說,每10筆存款的利息因採用四捨五入而獲得的盈利是:
0.000 + 0.001 + 0.002 + 0.003 + 0.004 - 0.005 - 0.004 - 0.003 - 0.002 - 0.001 = -0.005
也就是說,每10筆的利息計算中就虧損0.005元,即每筆利息計算損失0.0005元

這個算法誤差是由美國銀行家發現的,並且對此提出了一個修正算法,叫銀行家舍入的近似算法,其規則如下:
(1)捨去位的數值小於5時,直接捨去;
(2)捨去爲的數值大於等於6時,進位加一;
(3)當舍入位的數值等於5時,分兩種情況:5後面沒有其他非0數字,則進位後捨去;若5後面是0(即5是最後一個有效的數字),則根據5前一位數的奇偶性來判斷需要進位還是捨去,5前爲奇數要進位加一,爲偶數要捨棄

問題:爲什麼銀行家舍入是合理的?

四捨六入本身沒問題,5前偶舍奇進也沒問題,關鍵在爲什麼5後有非0數要進位?
遇5捨棄的情況只有一種,即5是最後一位有效的數字且前一位數是偶數
當數值精度達到5後一位,其爲0的概率爲1/10,5前爲偶數的概率是1/2,所以舍5的概率是1/10 * 1/2 = 1/20,而進5的概率是19/20
當數值精度越大,舍5個概率就越低,無限趨近於0,也就是說,當數值精度越高,該算法越像“四捨五入”
那麼,爲什麼這個算法是合理的呢?
現實情況就是數值的精度不可能無限大,存款利息率一般爲百分之零點幾,而數值精度一般4位,5後存在非0數的概率相對較小,所以趨近於1/2舍5,1/2進5

作者:maozexijr
來源:CSDN
原文:https://blog.csdn.net/maozexijr/article/details/78563531
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章