Archive for 五月 2009
Why Benford’s law works?
从solidot.org看到素数数列也有本福特定律 ,觉得这个定律蛮有意思的,于是造一篇POST
为什么本福特定律是有效的?
直觉
如果给你一堆生活中的数据,比如一个堆人的工资,那么这些数字是以1开头的概率大一些呢,还是2呢,还是?呢,直觉上,我们认为每个数字开头的概率是相等的。我们很容易联想到掷色子的例子,掷出的数字是1~6的概率是相等的。
矛盾
如果这样是对的话,那我们来看一个例子,我手里有一堆火星币:1块,2块,3块,4块,5块,6块,7块,8块,9块,现在我需要去月球。那么我按照1:2的比例换成月球币,比例是1:2,那么我换成了:2块,4块,6块,8块,10块,12块,14块,16块,18块;一个矛盾出现了,我手上的钱对于每个数字开头的频率并不一样,1开头的频数更高一些。
为什么
掷色子掷出5和口袋里有5块钱,这2个5是否有所不同呢?
其实是有的,我们可以把掷色子掷出5看作一个瞬间发生的事情,它没有一个积累的过程,更准确的说,它不可以被看作一个积累的过程。而口袋里有5块钱则不然,我可以把它看作是我由1毛钱逐渐积攒起来的,尽管这个积攒可能瞬间就完成了,但是它可以被看作是一个积累的过程。我们的工资,一个公司的资金等等很多生活中的可以用数字表示的数据,都是后一种:它们有一个积累的过程
回到直觉
这有什么不同呢?我们如果现在的工资是800,我们需要升到1000的话增加了200块,这是比较容易达到的,而需要升到2000的话,我们需要再增加1000,难度增大了,直觉上,1开头是比较容易达到的,越向后越难,直觉上1开头的概率应该比较大一些,事实的确如此:
1 30.1%
2 17.6%
3 12.5%
4 9.7%
5 7.9%
6 6.7%
7 5.8%
8 5.1%
9 4.6%
为什么2
我们可以通过足够大的样本来得到上面的分布情况,但是我们是否可以找到一个可以用数学的分布形式,即我们能否得出关于生活中由累计获得的数字的第一位的概率密度函数or概率累积函数?
尝试
我们找一个数字的第一位,首先用科学计数法表示这个数,即123=1*10^2+2*10^1+3*10^0,有用的只有第一项1*10^2,第一位就是1,第一项可以表示为x*10^n,x属于[1,10),x我们已经知道不是均匀分布的,那么我们可否对x进行一下处理,即y=f(x),y是均匀分布的呢?在解答这个问题之前,我们首先要知道的一点是,如果这种处理存在,那么对于任何的a*x,它也必定成立(为了避免上面的矛盾),即y=f(a*x)也是相同的均匀分布
怎么去想
假设y是均匀分布的,y+C也是密度函数相等的均匀分布,所以如果a*x能由乘法变成一个加法就好办了,即y=f(a*x)=f(x)+g(a)。乘法变加法,取对数,即y=f(x)=log(b)x,x属于[1,10)时,y的范围是[0,log(b)10),y是均匀分布的,所以其密度函数的值是log(b)10-0=log(b)10
确定b的值
知道密度函数之后,我们在[0,log(b)10)上对log(b)10积分的值是1,可知b=10(虽然b=1/10也是一个解,但是它会导致负概率的出现)
怎么用?
如果我们想知道第一个数字2的概率,即是p(x=2)=p(2<=x<3)=p(lg2<=y<lg3)=从lg2到lg3上对1积分=lg3-lg2=lg(3/2)=0.176
更广泛的,数字n开头的概率=lg (n+1)/n
更更广泛的,对于b进制而言,数字n开头的概率=log(b) (n+1)/n
为什么3
我不得不承认,虽然沿着一条正确的思路,造了一个和现实拟合的非常好的公式,但是我的确对这个公式为什么有效没有了解,所以今后的某刻,当我能更深刻的理解它的时候,我可能会更新一下或者造一个新的POST
本文主要参考:
http://plus.maths.org/issue9/features/benford/
http://en.wikipedia.org/wiki/Benford’s_law
Ideas about sequences of sets’ limit superior and limit inferior
对于集合列的上极限和下极限的理解
咔咔,今天早起去上合同法,无事掉某老师的讲课翻看微观金融学
看到关于集合列的极限部分有些囧, GOOGLE一下发现还真有N多人困扰在这里
查看了英文的WIKI之后才有点顿悟的感觉, 不得不佩服英文在这方面的表达能力
一些直觉上的思考
1, 1, 2, 3, 5, 8, 13 …
这是一个数列
{0}, {1}, {0}, {1}, {0}, {1}, {0}, {1}, {0}, {1} …
这是一个集合列
一个数列的极限代表着这个数列中元素(就是数啦)的变化趋势
比如数列0.9, 0.99, 0.999, 0.9999 …的极限是1
那么, 一个集合列的极限类比过来,应该代表着这个集合列中的元素(就是集合啦)的变化趋势
数的变化可以用变大or变小来体现,就是加减运算
而集合的运算是并或者交,集合的变化就可以用增减元素来体现,在做两个or以上集合的并或交运算时,我们需要先找到其公共部分(共有元素)
在集合列的极限应该也和这个公共部分(共有元素)有关
数列的极限是数, 集合列的极限应该也是一个集合
集合列上下极限的定义
集合列的上极限包含这样元素,这些元素无限次的出现,或者说有无数个n,使a属于Xn(Xn是集合列),a构成的集合就是集合列的上极限(上限集)
比如上面的集合列{0}, {1}, {0}, {1}, {0}, {1}, {0}, {1}, {0}, {1} … 显然0和1出现的次数是无穷的,那么{0,1}就是这个集合列的上极限
集合列的下极限包含这样元素,这些元素无限次的出现,但是,我们总是可以找到n个集合不包含此元素(n是一个自然数, 注意0是自然数哦)
依然对于上面的数列,是不存在这样的元素的
考虑这样的一个集合列
{0}, {0, 1}, {0, 1, 2}, {0, 1, 2, 3}, {0, 1, 2, 3, 4} …
我们发现1这个元素出现了无限次,且只有第一个X1={0}不包含它,即我们找到1个集合不包含此元素,那么1是下极限中的一个元素
再考虑这样一个集合列
{0}, {0, 1}, {0}, {0, 1}, {0}, {0, 1} …
我们发现0这个元素出现了无限次,且没有集合不包含它,即我们找到0个集合不包含此元素,那么0也是下极限中的一个元素,这说明如果一个元素再集合列中每一个集合都出现了,那它也是下极限中的一个元素
我们可以发现,我们对于定义上极限中元素的条件“出现无限次”加了一个限制“可以找到n个集合不包含它”, 对于满足这一限制的元素才属于下极限,显然的,这样一切属于下极限的元素也必定属于上极限的
寻找上下极限的公式
我们如何找到出现无限次的元素呢? 无限次出现代表着它有可能出现在X1,在X2,在X3 …
考虑集合列X1, X2, X3, X4 ….
如果一个元素属于X1 X2 X3 …这些集合并集,同时又属于X2 X3 X4 … 这些集合并集,同时又属于X3 X4 X5 … 这些集合并集,那么它在X1, X2, X3 …每一个集合中都可能存在,这个元素就出现了无限次
于是我们先求X1 X2 X3 … 的并集,X2 X3 X4 … 的并集,然后把它们求交,就得到了上极限的公式

沿着类似的思路,我们寻找那些出现了无限次却又有n个集合不包含它们的元素,它可能不存在于X1,可能不存在于X2,可能不存在于X3 …
如果一个元素属于X2 X3 X4 …这些集合的公共部分(交集),那么它在X2, X3, X4 …每一个集合中都可能存在,这个元素就出现了无限次,且不一定出现在X1中,如果不出现,那么我们找到集合X1不包含它,出现了也没关系,因为我们已经知道如果一个元素再集合列中每一个集合都出现了,那它也是下极限中的一个元素。
于是我们先求X1 X2 X3 … 的交集,X2 X3 X4 … 的交集,然后把它们求并,就得到了下极限的公式

优雅的对称,咔咔
如果一个集合列的上极限等于下极限,我们说这个集合列的极限存在(于函数的极限存在判定有有趣的对称)
5 1
大中央把小广东的7寸JJ给咔嚓了一半
于是我们只有3.5天夹了
5@1
去看南京南京
于是失望了
5@2
去看风筝节
于是累倒了
5@3
安安稳稳地宅了一天
于是开心了
gappproxy是个好东西 XD