对概率分布簇成因的另一认识途径(1--开场白

horizontal rule

张学文,学习探索笔记,2009-6-10

说明:6月本笔记【1-8】也发表在科学网博客http://www.sciencenet.cn/m/user_content.aspx?id=237480

和集智俱乐部网站http://www.swarmagents.cn/bs/membership/viewelite.asp?id=10897&user=zhangxw

1.         统计学广泛应用于各个领域。统计学的基础是概率论。而10多个概率分布函数(如正态分布、幂率分布、负指数分布、均匀分布等)是概率论和统计学的重要内容。关于这些分布函数(我们称为分布函数簇)的数学特征、以及在它们分别在各个领域的具体应用已经有很多研究。

2.         很多学科研究对概率分布函数的应用,多体现在“这些数据符合某某分布函数”的水平等方面。而对于为什么它恰好符合这个分布而不是另外的分布的问题,探索的比较少(为大量数据穿上一套合适的数学外衣,这文章确实已经比较漂亮了)。显然,寻找概率分布簇中这些不同的分布的统一的原因和具体区别,是具有基础意义的问题。

3.         《组成论》(张学文著,2003,中国科学技术大学出版社)一书研究了各个领域的分布问题。它还给出了的一种思路,就是把这些常用的一些概率分布函数的形成机理都从最大熵原理(最复杂原理)去认识。它理出来的思路是最大熵原理在不同场合配合不同的约束条件必然出现不同的概率分布函数。这为认识不同的概率分布提供了统一的理论思路,又根据不同问题中的不同约束获得不同的概率分布函数。从而形成一个系统化的认识。

4.         今年笔者发现了另外一个统一认识不同的概率分布形成机理的思路。目前我已经沿着这个思路获得了均匀分布、幂率分布、正态分布的初步线索。我觉得这个思路值得进一步发展与落实,而我个人力量不足。所以我把有关的初步成果分段公布。欢迎有关学者指点以致参与。

5.         我获得这个初步认识所运用的数学步骤十分简单。它比熵思路包括的运算也少。但是构成这个一般模型,我是经历了一番周折的。后面不谈思想经历,而以容易理解的语言介绍初步收获。本段作为一个系列介绍的开场白吧。后续见(2)。

 

对概率分布簇成因的另一认识途径(2--格子间里的昆虫数量的转移问题

horizontal rule

为了突出物理图像,不陷入数学符号迷宫。我们用格子间里的昆虫数量的演化问题来说明我们的一般模型

1.         设想有一排格子(格子的数量2-20个已经可以展开我们的问题了),每个格子有一个号码。如1号,2号,。规定号码相临的格子有门可以相通。不相临的格子不通(这暗含了在一维、有序、离散空间里讨论问题)。如各格子的排列如下图

1

2

3

4

5

6

7

8

9

10

11

12

 有时最后一个格子可以与第1个格子相连(有门),形成一个环。现在把N个昆虫(如N=100万)集中放到某格子里作为初始状态。初始状态时各个格子间的门都锁着。

2.         本模型规定每一个时间步长,各个门同时打开,允许昆虫按一定的规则出入。但是在这个时间步长内,昆虫只能从本格子飞到相临的格子里,或者不飞出去。如6号格子里的昆虫只能在一个时间步长飞到5号,7号格子,或者依然留在6号格子里。

3.         一个时间步长之后还可以有第2个时间步长,以致充分多的步长(时间演化)。昆虫的这种位置变化称为转移或者扩散。我们关心多步转移的结果。

4.         我们的一般问题是:给定一种转移(扩散)规则。经过一定数量的时间步长,不同格子里的昆虫数量各有多少。显然,不同格子里的昆虫数量就形成一个分布函数(自变量值是格子的号码,函数值是那里的昆虫数量)

5.         不同的初始状态、转移规定、经历的时间步长都会对转移后的分布形成影响。而探讨这些因素的关系,就是本模型的总问题。即我们关心若干时间步长以后获得的是什么样的分布函数(不同格子里的昆虫数量各有多少)。

6.         能够在本模型的“转移规则”下获得不同格子里的昆虫数,可以体现概率论中的各种分布函数吗?希望这个简单的例子可以让大家理解我们的基本模型。至于不同规则获得的各个结果,后面讨论。

7.         不同格子里的昆虫数量,仅是便于理解的例子,它可以变成不同经济条件的人各有多少,不同状况的天气各有多少面积,不同点击率的网站、文章各有多少等等类似问题。说不定您那个专业领域原本就已经揭露了很多分布函数却缺少合适的理论说明,而这个模型恰好符合您的需要!

8.         好了,一段不宜过长。本段到此为止。后续见(3)。

 

对概率分布簇成因的另一认识途径(3--关于转移规则的一般说明

horizontal rule

1.         一付扑克牌有多种玩法,这玩法就是“规则”了。我们现在有M个格子和N只昆虫。规定了昆虫在格子间的转移规则,就演化出对应的各个格子间的昆虫数量随时间的变化与分布。

2.         为了把目标局限于联系着概率分布的问题,规定昆虫在各个格子之间的转移过程不出现死亡(数量减少)和出生新昆虫的局面(数量增加),即在过程的演化中昆虫总数量不变化。并且规则本身是不随时间变化的。

3.         转移规则是针对格子号码而规定的,不是针对每个昆虫个体的。所以我们不过问那个昆虫到了那里,而仅过问不同号码的格子里有多少昆虫(这对应所谓在“相空间”里讨论问题)。

4.         由于早已经限定每步转移只能从一个格子移到相临的格子或者不动。所以规则要給出每个格子里的昆虫向左侧、右侧格子的移动和保留原地的规则。即每个格子最多有3个(向左、右以及不动)具体规则。如果讨论的模型只有4个格子,那么一般地说要有4*3=12个规则。

5.         现在我们对规则不做过多的具体说明,这就使以后大家有十分广的制定规则的自由,以获得各种具体分布函数。我们也不具体谈这个过程(转移、扩散)可以进行多少个时间步长,而认为这个问题由作者自己去取舍选定。

6.         本段介绍没有公式和符号,好读,但是难免理解不深。下一段就进入具体例子了。

 

对概率分布簇成因的另一认识途径(4--从转移规则获得幂分布

horizontal rule

1.         现在我们不再泛泛的谈模型和一般规定,转而进入一个明确具体的昆虫在格子间的转移(扩散)规则的个例。大家会吃惊的看到这个十分简单的转移规则居然经过充分多步的转移而获得概率论里的幂分布(power law),即这里为各个领域广泛应用的所谓“幂率”提供一种新的理论认识途径(《组成论》里用几何平均值不变化+熵最大对它做了理论说明)。

2.         一个数值实验是这样的:它有5个格子(你可以改,结果也类似),这些格子组成一个体育场看台的圈状(而不是前面说的长条),即第5个格子与第1个格子之间也有“门”相通。

3.         我们规定的规则十分简单:每个格子里的昆虫在一个时间步长内只能保留在原地,或者向一个方向的相临格子转移;转移的昆虫数占当前含有量的百分比安等差级数增加(见表是个例子)。

 一个实验例子:一步的昆虫转移量占原有昆虫数量的比值逐步增加

格子名称

维持在本格子的昆虫数量

(等差减少)

下一个格子的名称

转移到下一个格子的昆虫数量

(等差增加,横向合计为100%

1

现有昆虫数的95%

2

现有昆虫数的5%

2

现有昆虫数的90%

3

现有昆虫数的10%

3

现有昆虫数的85%

4

现有昆虫数的15%

4

现有昆虫数的80%

5

现有昆虫数的20%

5

现有昆虫数的75%

1

现有昆虫数的25%

上表給的保存量加上转移量的合计是100%,保证了昆虫总量没有减少或者增加。

4.         有了规则就可以一个时间步长、一个时间步长的计算下去。例如开始把1万昆虫都集中在第1个格子,那么经过一个步长后,1号格子的昆虫数就仅有95002号格子有500,而其他格子的昆虫数是0。于是每进展一个时间步长,就得到一个昆虫在格子间的分布。按此规则可以再往下计算,昆虫就扩散到各个格子里。这些计算你可以编程序以后让计算机做。我是利用excel本身的运算能力拖鼠标就得到结果的。我们关心经过若干时间步长以后的分布是什么。

5.         为了有实际计算体会,建议读者也自己动手做一下看。我计算到120步就看到不同格子里的昆虫数符合幂率公式,即幂率是本问题的极限分布。

6.         好了,现在先说到此。

 

对概率分布簇成因的另一认识途径(5--excel演算出幂率

horizontal rule

张学文(2009-6-15

1.         在(4)里我们用列表的方法給出了昆虫在一个时间步长中的转移量(在各个格子里)与现有量的关系(公式、计算方法)。并且用文字说明第一步转移的结局。

2.         由于每步转移量的运算规则都相同,所以计算第234步,以致任意多的有限步长的计算完全是重复相同的计算步骤。而每个步长的运算结局都是昆虫数量在不同格子里的分布函数。于是我们得到很多个不同时间步长的分布函数。

3.         我的计算是在excel的表格上列出第一步的5个格子的计算式子,excel计算出一步转移结果(5个数值),然后,我“选取”这5个格子再往下拖鼠标到k步,就得到k步转移的所有结果了。

4.         下表給出初始时刻的昆虫集中在第1个格子里(我们用1表示全部昆虫数量),以及经过1234120步转移(拖鼠标)的计算结果(不同格子里昆虫数量占的百分比)。我们发现经过120步的转移,各个格子里的昆虫数量(百分比)的前5位有效数字已经稳定不变化了。我们就认为它已经是最终的转移结果(这其实是马尔科夫转移矩阵的极限)了。而这个结果用excel 的幂函数拟合它,R平方的值竟然=1.0000,所以这个结果应当完全符合幂率(见图)。

 

昆虫数量(百分比)

 

格子1

格子2

格子3

格子4

格子5

初始态0

1

0

0

0

0

步长1

0.95

0.05

0

0

0

步长2

0.9025

0.0925

0.005

0

0

步长3

0.857375

0.128375

0.0135

0.00075

0

步长4

0.814506

0.158406

0.024313

0.002625

0.00015

步长120

0.437958

0.218979

0.145985

0.109488

0.08759

 

 

5.         表的第23..120步都是拖鼠标而得到的,关键的第1步长要依规则列出计算公式。如第1步的格子3(其他类推)的计算结果是0,而我们为它列的计算公式是“=格子2的昆虫数量*0.10+格子3的原有昆虫数量*0.85”。公式里“格子2的昆虫数量”自然是用excel的格子名称代替(我计算时,它具体是“=E15*0.85+D15*0.1”)。这些对于熟悉excel的简单运算的人,很简单。对于不熟悉的人,看看excel的公式运算知识,动动手也就明白原来如此简单。而我们这里就不多说了。

6.         好了,本段到此结束。

 

对概率分布簇成因的另一认识途径(6--对演算出的幂率的补充说明

horizontal rule

张学文(2009-6-16

1.         在转移率与变量(格子号码)是等差级数(线性)的规则下,获得的转移极限结果竟然是幂函数。这确实是出了笔者最初的想象。目前我对它的认识仅是初步的。现在补充说明几点。

2.         以上结果与我们最初规定是几个格子(离散自变量的个数)没有关系。即这个离散模型里格子的数量可多可少,得到的都是幂分布公式。

3.         这个结果与最初我们把昆虫放到哪个格子里作为初始状态是没有关系的。即不同的初始状态位置,最后演化得到的极限分布“幂率公式”都相同。即转化规则决定了演化结果。

4.         转移率的等差级数的“公差”是大或者小,对幂函数公式的系数有影响,而对自变量的“幂”值,没有影响。而且本模型下“幂”的值都是“-1”。这显示它们仅是幂率中的一个特殊情况(昆虫数量的值与格子编号是双曲线关系)。

5.         上面这个特点提示:其他的规则也可以获得幂分布。我曾经用等比级数关系安排转移率,结果居然也符合幂率(它显然不是负指数分布)。我不解。这确实值得进一步分析。

6.         细分析,我们这个简单的规则,实际上也对应于离散的马尔科夫链的一种特殊(简单)的转移矩阵对马尔科夫链的一步一步的转化的极限结果。我获得的新知识是:如此简单的转移矩阵(很多元是0)居然获得如此重要的分布。

7.         我们可以依照所谓申农信息熵公式,计算每一步的结局(分布)所对应的熵值。计算发现,这个熵是从0开始逐步加大到一个极限值。所以这个演化过程,对应着扩散,而最后终止于熵最大。即这个演化过程对应于熵增加。即它自然体现着一种非热力学的熵,也服从自发走向熵最大的原则。【后来,(2009-6-21), 集智俱乐部的计算士先生提示我如果开始的初始状态是均匀分布,固然也可以得到幂率,但是熵却是减少的。这个提示是对的

8.         关于幂率的事,先谈这些,欢迎有兴趣者继续探索。后面要讨论演化出正态和均匀分布的事。

 

对概率分布簇成因的另一认识途径(7--从转移规则获得正态和均匀分布

horizontal rule

张学文(2009-6-17

1.         现在再用一个更简单的转移规则来获得另外两个重要的概率分布:正态分布和均匀分布。也许这个例子帮助大家进一步理解我们的模型-规则-分布的关系。

2.         我们依然用大量昆虫最初集中在一个格子里,然后給出它们向前,向后转移到邻近格子的规则,再分析转移若干时间步长以后,不同格子里分别分布着多少昆虫。这个分布就是我们求得的结果(离散的函数)。

3.         为了使结果体现得清楚,我们规定本例中的格子一共有21个。它们的编号是122021.这也就是自变量的可能有的离散取值空间。即昆虫只能在这21个格子里飞来飞去,不能死亡,不能繁殖。

4.         对于23..直到2019个格子里的昆虫,在一个时间步长里,它们有90%依然留在本格子内,另外5%的昆虫向编号比它大1号,或者小一号的格子分别移去(都是移到一维情况下的临近格子,并且三种转移量的合计为100%)。

5.         对于1号格子(最左端的格子),经过一个步长也仅有90%的昆虫留在原1号格子里,另外10%移到2号。对于21号格子(最右端),也是90%留原位置,另外10%移到20号格子里。

6.         以上两条就是我们給出的昆虫在单位步长从各个格子移向其他格子的全部规则。与获得幂率的规则(等差)比这个规则更简单!

7.         我们规定初始状态是把所有的昆虫都放到11号(线性排列的各个格子的中间位置)格子里。然后按照前面的规则一步一步的演化昆虫在各个格子里的扩散情况。这个演化运算你可以手工去完成、可以编程序,也可以用excel的表把规则以公式的形式写入,而让excel自己计算第1个步长。这大约需要20分钟。而第23,以致k步的运算完全用拖鼠标的简单办法就完全获得各个步长的不同标号的格子里分别有多少昆虫,而体现为一个个的分布函数。

8.         附图是假设最初的昆虫数量为100万时,在第0步(初始)、第100步和第1000步的转移后各个格子里的昆虫数量(以万为单位)。

 

 

9.         从图上可以看到经过100次时间步长的演化,结果类似正态分布,而到了1000次就接近均匀分布了。即我们在一个规则下居然获得两个重要分布。

10.     我上面的说明文字枯燥烦人,但结果有趣。理解这些枯燥文字的好办法就是自己动手做做,自己获得这个结果,也就明白我哪些啰嗦话的含义了。

11.     好了,一段的文章不宜长。现在结束本段,补充的话下次再说。

 

对概率分布簇成因的另一认识途径(8--对正态和均匀分布等的补充说明

horizontal rule

张学文(2009-6-21

1.         在(7)里我们用单步转移把90%的昆虫保留在本格子里,另外各有5%移向前后的相临格子(在一维模型里)的均匀移动规则,使昆虫从最初的集中在一个格子逐步扩散到各个格子。

2.         这样得到的昆虫数量分布图形显示,转移100步以后,不同格子里的昆虫数量十分像正态分布,当转移1000步,就十分类似均匀分布了。如此简单的规则却可获得两种重要分布,有些出人意料。

3.         现在的分析是初步的,仅是凭眼力看图形,认为它们分别符合正态和均匀,而没有做统计学的验证(欢迎有人补充)。

4.         正态分布有个概率最高的中心点。而这个中心点与最初把昆虫集中投放点是一致的。即最初的投放点的位置决定了概率分布的最大值的位置。这与获得幂率分布时的情况不同,那里获得的幂率的概率最高位置与投放点的位置无关。

5.         过去我知道一种经验分布当样本数量很大时,可以从一种分布过渡到另外一种分布。如二项分布过渡到正态分布。但是从来没有想到概率分布可以在过渡到一种分布以后还会再转移到另外的分布。所以这个简单规则下的转移到正态,再转移到均匀的例子着实扩展了眼界。这在理论上的意义有待分析。

6.         幂率也好,正态、均匀分布也好,我们最初給的分布都是昆虫集中在一个格子里。这在连续变量的情况下,应当对应于初始态是个所谓的点分布(δ函数)。所以转移规则就是集中的昆虫如何扩散的规则。在集智俱乐部http://www.swarmagents.com/ 张江的提示下我粗看了维基百科上对福克-普朗克方程的演化的例子。那里的一个动态概率演化图与我用这个思路得到的结果的外形是相同的。这说明他人已经沿着类似思路(处理连续变量的方程)获得了相同结果。让这些知识融合起来对我也是收获。

7.         我过去知道的熵产生最小原理都是针对热力学过程而言的。在点分布(δ函数)演化出幂率的过程中我们计算了每一步转移的信息熵。而这个信息熵的增加是越来越慢的,在达到幂率分布时,信息熵不再随“步数”的增加而加大。这也体现着熵产生最小原理。这个原理在非热力学过程,例如现在的扩散过程,如何应用与体现应当是探索的课题。

8.         再,什么样的转移规则对应熵减少?这是个有启发的问题。

9.         再,我们仅是在一维状态空间中展开了问题。沿着这个思路不难扩展到2维或者3维。这些也有待深入。

10.     已经发现的重要的概率分布并不多,我们初步的探索仅获得了幂、均匀、正态这三个可以是转移演化的结局(为它们找到了原因)。其他的分布如何在本模型下引出,依然是有待深入的事。

11.     本模型显然是个动态的概率分布演化模型,这个模型固然不可能说明一切概率分布的成因,但是肯定有很多实际过程符合这个模型,昆虫数量在各个格子里的转移问题仅是便于说明问题的物理模型。大量的例子有待大家去联系。

12.     好了,作为今年上半年的一个思路扩展,就说这些。前面6-10所提的事,欢迎大家延伸(注:今年我在科学网博客上关于人口的演化的计算, http://www.sciencenet.cn/m/user_content.aspx?id=221822  ,也是一个思路的不同模型的应用)。显然把重要的概率分布中一些分布都用这个思路給出理论说明,会使我们对概率分布成因的认识系统化。

 

下面是对提问的回答20090622(集智俱乐部计算士)

前天清华航天工程(原力学系)的xudong过来,我们一起研读了您的前面七次笔记并进行了讨论,他还当场做了个matlab模拟来验证您的幂律和正态分布形成规律。现在我先代他提出的几项我们讨论中产生的疑问:

您规定的幂律与正态分布之规则,是不相同的,不知道这后面是不是隐藏了的比较深刻的共同道理?以幂律为例,如果这个马尔科夫过程的微分方程的解本来就是一个幂函数,那构造出幂律是很正常的。

张学文:感谢关注与实验

关于马尔科夫微分方程的解的事,我目前不清楚,希望把您们知道的提供出来。我感到奇怪的不是结果(解)为幂率,而是规则里看不到“幂“(是等差级数),可“解“居然是幂率。

另外,根据模拟的结果,幂律之形成,确实与初始分布无关,但正态分布之形成,却依赖于初始状态(必须把所有 蜜蜂放在中间),所以,这两种规则如何统一,或者背后有什么机制,能否请老师再谈谈?

张学文:我认为这个关系合理,但是我谈不出更多的。

 您说的熵的增大,适用于正态分布向均匀分布过渡的例子(如果确实存在这个转变),但对于您制定的形成幂律的规则来说,却并不适合:因为与初始分布无关,所以如果我一开始就是个均匀分布,最后形成幂律,那熵是减少了而不是增大了。

张学文:就是,您所得对,我原来的话现在看不全面。我把这个原有的认识撤回吧。另外我也感到分析这种演(进)化过程中的信息熵的变化对于认识非热力学熵的变化,对于认识非热力学的最小熵产生,我认为都是十分有意义的事,值得展开。这些事大家做吧。

另外,正态分布真的是在向均有分布“变化”么?另外一种可能是,正态分布没有变,只是方差越来越大,以至于最后看起来像均匀分布。有没有这种可能呢?

张学文:您说得有道理。我们应当明白目前所谓正态分布,其自变量是从负∞到正∞,而我们现在的离散取值就限定于有限的区间。所以目前的演化情况是合理的。我们离散与连续变量设定本身的好处和特点,而不强求完全相同。

最后,8段短文章是我关于一个总问题的笔记。它距离一个完善的工作很远。公布这个笔记本身就是说明我无力做好这个事,而希望大家共同认识这个知识是有意义的,而由大家共同完善它。

关于最终成为负指数分布函数问题,我期待有人知道它对应的演化规则是什么。

 我自己感觉这后面还是有东西的:在观察者的眼里,随着掌握的信息不断变化,统计分布可以随着时间的流逝变成一个运动过程。但目前来看还不够清楚,还希望老师就这个问题再谈几句。