本福德定律
2010年10月26日
12对“本福德定律”的回应
-
2010年10月26日12:14 PM […]今天的编程实践练习,我们的任务是看看Benford定律(小写数字更多[…] -
2010年10月26日12:32 PM 我直接跳过从csv文件中读取值,然后执行分析。 我的Python解决方案: 在给定的csv文件(我将其命名为lakes.csv)上运行时,将生成: $ ./ benford.py公司 1: 32.0% 2: 19.7% 3: 12.7% 4:9.08% 5: 6.67% 6: 6.14% 7: 5.25% 8: 4.45% 9: 3.82% -
2010年10月26日12:34 PM 很抱歉我的输出发布混乱! -
2010年10月26日下午3:22 与乔·马歇尔的类似: (定义(第一位数n基数) ;; 返回n的第一个基数 (let((基数^2(*基数))) (秒((<n基数)n) ((<n基数^2)(商n基数) (否则 (第一位(第一位n基数^2)基数)))) -
2010年10月26日下午7:49 一个ruby版本也将直接进行CSV计算… -
2010年10月27日凌晨2:29 ;; 自然->数字 (定义(头部-数量n) (let loop((n n))(如果(<n 10)n(loop(商n 10)))) ;; 自然值列表->数字 (定义(benford l) (let((res(使向量为10 0));; 存储结果 (计数0) (映射(λ(n);; 递增每个看到的数字的计数器 (let((i(head-of-num n))) (向量集!res i(+1(向量引用res i))) (设置!计数(+1计数)) l) (地图(λ(i);; 除以元素数 (let((val(/(vector-ref res i)计数)) (向量集!res i(列表i值(精确->不精确值))) (iota 09)) res)) (定义(测试数据) (本福德数据) -
2010年10月28日上午5:52 ;; 我更喜欢这个版本。 (定义(头部-数量n) (let loop((n n))(如果(<n 10)n(loop(商n 10)))) (定义(benford l) (让*(计数0) (res(左折叠式 (λ(n态) (let((i(head-of-num n))) (向量集!状态i(+1(向量引用状态i)) (设置!计数(+1计数)) 状态)) (品牌矢量10 0) l)) (映射(λ(x)(精确->不精确(/x计数)))(矢量->列表res))) (定义(测试数据) (本福德数据) -
2010年10月28日下午8:44 我的F#代码 -
2010年10月28日下午8:46 我的F#实现: -
2012年5月19日下午6:13 然而,在FORTH中,我去掉了其中一个湖的引号中冒犯的逗号,而不是完全正确地解析csv… 执行: -
2017年6月23日上午9:01 [……]约翰·库克(John D.Cook)是一位写数学的程序员(他可能会把自己描述成写编程的数学家),他最近写了一篇关于2的幂的前导数字的分布的文章,观察到它们遵循我们在前一个练习中研究过的本福德定律。 […]