本福特定律

本福特定律

测试结果

比例

1 : 30.0766922307

2 : 17.639213071

3 : 12.504168056

4 : 9.66988996332

5 : 7.9693231077

6 : 6.60220073358

7 : 5.80193397799

8 : 5.16838946315

9 : 4.56818939647

附代码

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Mon Apr 03 23:31:14 2017
  4. @author: LoveDMR
  5. 本福特定律实验 Benford
  6. """
  7. import matplotlib.pyplot as plt
  8. def first_num( n ):
  9. while( n / 10 > 0 ):
  10. n = n / 10
  11. return n
  12. def second_num( n ):
  13. while( n / 100 > 0 ):
  14. n = n / 10
  15. return n%10
  16. if __name__ == ‘__main__‘:
  17. fib_first = [ 0 ] * 10
  18. fib_second = [ 0 ] * 10
  19. fac_first = [ 0 ] * 10
  20. fac_second = [ 0 ] * 10
  21. a , b = 1,1
  22. k = 1
  23. for i in range(1,3000):
  24. # 斐波那契数列
  25. a , b = b , a + b
  26. first_fib = first_num( a )
  27. second_fib = second_num( a )
  28. fib_first[first_fib] = fib_first[first_fib] + 1
  29. fib_second[second_fib] = fib_second[second_fib] + 1
  30. # 阶乘
  31. k *= i
  32. first_fac = first_num( k )
  33. second_fac = second_num( k )
  34. fac_first[first_fac] = fac_first[first_fac] + 1
  35. fac_second[second_fac] = fac_second[second_fac] + 1
  36. for n , i in enumerate(fib_first[1:],1):
  37. print n , ":" , i * 100.0 / sum(fib_first[1:])
  38. plt.figure( figsize =( 16, 8 ) )
  39. plt.subplot(121)
  40. plt.plot( range(1,10) , fib_first[1:] , ‘r-‘ , label=‘Fib‘)
  41. plt.plot( range(1,10) , fac_first[1:] , ‘b-‘ ,label=‘Fac‘)
  42. plt.title(‘First Num‘)
  43. plt.legend()
  44. plt.grid()
  45. plt.subplot(122)
  46. plt.plot( range(0,10) , fib_second , ‘r-‘ , label=‘Fib‘)
  47. plt.plot( range(0,10) , fac_second , ‘b-‘ , label=‘Fac‘)
  48. plt.title(‘Second Num‘)
  49. plt.legend()
  50. plt.grid()
  51. plt.show()
时间: 2024-10-15 08:48:54

本福特定律的相关文章

神秘的本福特定律

统计一下世界上237个国家的人口数量,你觉得其中以1开头的数会占多大比例,而以9开头的数又占多大比例呢?如果你的回答是都为1/9,恭喜你你是正常人,但是事实却不是如此:以1开头的数惊人的占到了27%,而以9开头的数却只占5%.下图可以很形象的展示出在各国人口数量问题上,以各个数字开头的数占了多大的比例.为什么会相差这么大呢?这正是神秘的本福特定律在起作用. 本福特定律,也称为本福德法则,说明一堆从实际生活得出的数据中,以1为首位数字的数的出现机率约为总数的三成,接近期望值1/9的3倍,推广来说,

程序验证本福特定律

一.定义 本福特定律,也称为本福德法则,说明一堆从实际生活得出的数据中,以1为首位数字的数的出现机率约为总数的三成,接近期望值1/9的3倍.推广来说,越大的数,以它为首几位的数出现的机率就越低.它可用于检查各种数据是否有造假.[1] 二.数学 本福特定律说明在b进位制中,以数n起头的数出现的概率为 本福特定律不但适用于个位数字,连多位的数也可用.在十进制首位数字的出现概率(%,小数点后一个位): d p 1 30.1% 2 17.6% 3 12.5% 4 9.7% 5 7.9% 6 6.7% 7

《天生全球企业》:美国医疗改革的一个方向:打包支付。4星

老牌高水平管理杂志.本期大部分文章水平都在4星甚者更高.总体评价4星. 个人感觉水平最高的是迈克尔·波特和罗伯特·卡普兰的那篇<如何为医疗服务付费>水平最高,我给5星.他们的观点是:打包支付(书中译作捆绑支付)更适合美国国情.后面紧接一篇他人的文章认为应该实行按人头付费,正好可以把两种对立的观点放在一起做对比. <信息视觉化的科学与艺术>.<玩不转办公室政治就别指望升职了>这两篇也不错. 以下是书中一些内容的摘抄: 1:有确凿证据表明,我们的工作评审.奖金以及升迁和实际

概率论杂记

摘要: 1.本福特定律 2.商品推荐的惊喜度 3.贝叶斯学派和频率学派 4.指数分布族 5.期望 6.方差 7.协方差 8.皮尔逊相关系数 1.本福特定律 github代码部分 2.商品推荐的惊喜度: 商品推荐场景中过于聚集的商品推荐往往会损害用户体验,在有些场景中,系统会通过一定程度的随机性给用户带来发现的惊喜度.假设A,B商品与当前用户的匹配度分别为0.8,0.2,系统将随机为A生成一个均匀分布于0到0.8的最终得分,为B生成一个0到0.2的得分,问终B的得分大于A的得分的概率? 3.贝叶斯

奇特的数学问题(转)

来源 | 世界奥林匹克数学竞赛(中国区)选拔赛组委会 1.三门问题(蒙提霍尔问题)  假如你正在参加一个节目.主持人给了你三扇门,其中一扇门里面是一款崭新的汽车,另外两扇门里面都是一只羊.你选择了其中一扇,然后,主持人打开你未选的另外两扇门里是羊的那一扇,然后-- 主持人问你:你是否要换一扇门?还是就要你刚才选的那一扇? 你会怎么做? 你第一反应一定是就要你刚才选的那一扇. 到目前为止,一切都没有问题,对吧? 因为现在只有两扇门了,你可以推断出,有一半的机会赢得那辆车.对吗? 你错了?? 这个游

机器学习升级版(VII)——第2课 概率论与贝叶斯先验

摘录自:邹博<机器学习升级版>课件 1. 概率论基础 1.初步认识 2.古典概型 3.生日悖论 生日悖论(Birthday paradox)是指,如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%.这就意味着在一个典型的标准小学班级(30人)中,存在两人生日相同的可能性更高.对于60或者更多的人,这种概率要大于99%.从引起逻辑矛盾的角度来说生日悖论并不是一种悖论,从这个数学事实与一般直觉相抵触的意义上,它才称得上是一个悖论.大多数人会认为,23人中有2人生日

python数据结构与算法第十七天【概率算法】

1. 古典概率 例如:麻将开始摸到的14张牌中无将的概率,两张相同的牌即为将,则有: 所有的情况:从136张牌中选出14张牌,为C136-14 无将的情况:将不同的牌分组,共有34组,依次取14张牌,第一次的取法为C34-1 * 4, 第二次的取法为C33-1 * 4 则共有(C34-1 * 4)* (C33-1 * 4)* ....  *(C21-1 * 4)= C34-14 * 4^14 则无将的概率为 C34-14 * 4^14 / C136-14 2. 从1!, 2!, 3!, 4!,

[刷题] 统计首位数

练习1:统计从1到100的阶乘中,1到9做首位的次数 Python import matplotlib.pyplot as plt def first_digital(x): while x >= 10: x //= 10 return x if __name__ == '__main__': n = 1 frequency = [0]*9 for i in range(1,100): n *= i m = first_digital(n)-1 frequency[m] += 1 print(f

第二次-机器学习相关数学基础

.本周视频学习内容:https://www.bilibili.com/video/BV1Tb411H7uC?p=2 1)P2 概率论与贝叶斯先验 2)P3 矩阵和线性代数 机器学习是一门多领域交叉学科,涉及较多的数学知识,本节课知识之前都有学过,这次根据重点重新梳理一遍,一定要多加重视.通过观看视频,大家对课程的数学基础部分加深印象. 建议大家边看边做笔记,记录要点及所在时间点,以便有必要的时候回看.学习笔记也是作业的一部分. 3.作业要求: 1)贴上视频学习笔记,要求真实,不要抄袭,可以手写拍