《算法之美》:使用幂律、正态和爱尔朗分布来做出正确的预测

《算法之美》:使用幂律、正态和爱尔朗分布来做出正确的预测

下文节选自《算法之美:指导工作与生活的算法》, 已获出版社授权许可, [遇见数学] 特此表示感谢!

真实世界的先验……

从广义上讲,世界上有两种类型的事物:倾向于(或围绕)某种“自然”价值的事物,以及与之相反的事物。

人类的生命跨度显然是属于前一类。它大体遵循所谓的“正态”的分布,也被称为“高斯”分布(这是以德国数学家卡尔·弗里德里希·高斯命名的),同时因其分布的形状特征也被形象地称为“钟形曲线”。这种形状能很好地表现人类的寿命,例如,美国男性的平均寿命集中在76岁左右,曲线顶端的两边呈现急剧下降的趋势。正态分布往往都有一个适当的比例:一位数的寿命往往会被认为是悲惨的,三位数的寿命是非凡的。自然世界的许多其他事情也都呈现正态分布的趋势,从人的身高、体重、血压,到城市正午的温度,或是果园的果实直径。

《算法之美》:使用幂律、正态和爱尔朗分布来做出正确的预测

正态分布概率密度函数

世界上有许多事物看起来似乎并不呈现正态分布,但这只是因为你没有长远地看。例如,美国一个城镇的平均人口是 8226 人。但是如果你要按人口统计该城镇数量图表,你就不会看到像钟形曲线那样长远才能实现的东西。还有很多小镇的人口远不足 8226 人,同时,某些重要城镇的人口会比平均人口要大得多。这种模式就是所谓的“幂律分布”,也被称为“无标度分布”,因为他们可以在多个尺度的范围表达数量:一个城市能有几十,数百,数千,数万,数十万,甚至数百万名的居民,所以我们不能以一个单一的数值来定义一个“正常”的城镇有多大。

幂律分布可以描述在日常生活中一系列与城镇人口分布类似的现象:大多数都低于平均值,少数是超过的。电影的票房收入,其范围可以是从 4~10 位的数字,这是另一个例子。有些电影根本挣不了那么多钱,但偶尔也有像《泰坦尼克号》这样的高票房电影。

事实上,一般来说,货币是一个充满权力法则的领域。幂律分布可以描述人民的财富和人民的收入。例如,美国的人均收入是5568美元,但由于收入大致是呈幂律分布的,这样我们便会得知,平均值以下的人会比平均值以上的要多,而平均值以上的人的收入可能高得几乎偏离了图表。事实也的确如此:美国2/3 的人口收入低于平均收入,但前1% 的人的收入几乎是平均水平的10 倍。这 1% 中的前1%的人的收入又是其余 99% 的 10 倍。

《算法之美》:使用幂律、正态和爱尔朗分布来做出正确的预测

帕累托分布以意大利经济学家维弗雷多·帕雷托命名的, 是从大量真实世界的现象中发现的幂定律分布

人们常常感叹“富人会变得更富有”,实际上“偏好依附”的过程是产生幂律分布的最可靠的方法之一。我们使用最多的网站往往就是最有可能获得导入链接的网站,拥有最多人追随的网络红人就是最有可能获得新支持者的人,最有声望的公司就是最有可能吸引新客户的公司,最大的城市就是最有可能吸引新居民的城市。在这每一种情况下,幂律分布都会得出这个结果。

贝叶斯法则告诉我们,在基于有限的证据进行预测时,很少有事情是和好的先验一样重要的,也就是说,我们期望证据可以从分布结果中得出。因此,良好的预测最开始要有良好的直觉,要能感觉到我们何时在处理一个正态分布,何时在处理一个幂律分布。事实证明,贝叶斯法则为我们处理这些情况各提供了一个简单但显著不同的预测经验法则。

他们的预测规则

你是指“这会一直”朝好的方向发展吗?——本•勒纳

为了验证哥白尼原则,我们看到,当给贝叶斯法则一个无信息先验时,它会一直预测事物的总寿命为目前寿命的两倍。事实上,无信息先验的可能性有很宽泛的尺度,柏林墙可能继续存在几个月或几千年,这个尺度就是幂律分布。对于任何幂律分布,贝叶斯法则表明,一个合适的预测策略就是相乘法则:将迄今观察到的数量乘以一些常数。对于无信息先验,这个常数一般是2,哥白尼预测的方法由此得来;在其他幂律的情况下,所乘的数将取决于你工作的精确分布。例如,对于电影票房,它正好是1.4。所以,如果你听到一部电影到目前为止已经赚了600万美元,那么你可以猜测,它总共将赚840万美元。如果它现在赚了9 000万美元,那么可以预计的最高票房将是1.26亿美元。

幂律分布不能表明它们所描述的现象的自然范畴,这就直接导致了相乘法则的出现。因此,唯一能给我们的预测提供一些关于范畴的想法的就是我们所拥有的单一数据点,比如柏林墙已经存在 8 年了。单一数据点的值越大,我们可能要处理的范畴也就越大,反之亦然。当然这种情况也是有可能的:这部电影的票房现在是 600 万美元,而实际上它只是在第一个小时票房惊人,它更可能是一个只有几百万美元票房的电影。

另一方面,当我们将正态分布作为贝叶斯法则的先验时,我们会得到一个非常不同的指导。我们会得到一个“平均”规则,而不是相乘法则:使用分布的“自然”平均数作为指导。例如,如果有人还没达到平均寿命,那么就直接将其年龄预测为平均值。随着他们的年龄增长并超过平均水平,就预测他们还会再活几年。遵循这一规律为 90 岁和 6 岁的两个人给出的合理预测年龄分别为 94 岁和77 岁。(6 岁的孩子的预测寿命比76 岁的平均寿命略高是因为他已经顺利度过了婴儿期:这样我们就知道他不处于分布的尾端。)

电影的时长就像人类的寿命,也遵循正态分布:大多数电影都在100 分钟左右,某些特殊的电影时长处于分布的两端。但并不是所有的人类活动都是这样的。诗人迪安·杨曾经说过,每当他听一首带编号的诗时,如果读者开始念第四节,他的心就会一沉:如果有三个以上的部分,杨就会重新开始,静坐细听。事实证明,杨的沮丧完美体现了贝叶斯法则。通过对诗的分析可发现,它不同于电影的时长,诗歌更接近于幂率分布而不是正态分布:因为大部分诗是短的,除了某些史诗。所以说到诗歌,首先你要确保有一个舒适的座位。正态分布的东西似乎太长了,最后必然会很快结束。但幂律分布的东西存在的时间越长,你可以预测它继续下去的时间就越长。

《算法之美》:使用幂律、正态和爱尔朗分布来做出正确的预测

Erlang Distribution 的概率密度函数

在这两个极端之间,生活中实际上还有第三种事物:那些不具有更大或更小可能性结束的事物,只因为他们已经持续存在了一段时间。有时候事情是简单的、不变的。丹麦数学家瓦格纳·厄兰研究了这种现象,他将独立事件之间的间隔形式化并推导出带有他名字的函数:厄兰分布。这条曲线的形状不同于正态分布或幂律分布:它有一个类似翅膀的形状,峰值上升较缓,尾部下降的趋势比幂律分布得快,但比正态分布得缓。在20世纪初,他为哥本哈根电信公司工作,用这种分布曲线来模拟在电话网络中连续通话的时间。自那以后,厄兰分布([遇见数学]小编注:即爱尔郎分布,Erlang Distribution)也被用于城市规划以及汽车和行人交通的建设模型中,并被网络工程师在设计互联网的基础设施时使用。自然世界中存在多个维度,其中发生的事件彼此也是完全独立的,它们之间的间隔从而就落在了厄兰曲线上。放射性衰变就是一个例子,这意味着厄兰分布完美地预测了盖革计数器的下一次提示声何时会发出。其在描述例如政客在众议院的任职时间这类的人类活动时也表现不俗。

厄兰分布给出了第三种预测法则——相加法则:总是预测事物只会再持续一个常量。我们经常听到的“只需5分钟!……(5分钟后)再给我5分钟!”这往往表现了人们的某种特征,比如说,当一个人准备离开房子或办公室,或完成一些任务的最后时间,这似乎预示着在对现实做出估计时可能出现的一些慢性故障。不过,在一个人不符合厄兰分布的情况下,无论如何,这种话都可能是正确的。

例如,如果一个赌场纸牌爱好者告诉他不耐烦的配偶,他会在赢得一次21 点后就停手(赢的概率约为20∶1),他会很高兴地预测:“我再买20 次就会赢了!”20 次后她又回来,问他要让她再等多久,那么,他的答案将是不变的:“我再买大约20 次就会赢!”这听起来像是我们这位不懈的赌鬼已经进入短期记忆丧失模式了,但事实上,他的预测是完全正确的。事实上,无论他们过去或目前的状态是怎样的,分布结果会产生相同的预测,这一结果被统计学家称为“无记忆性”。

这三个非常不同的最佳预测模式——相乘法则、平均法则和相加法则都是通过将贝叶斯法则应用到幂律、正态和厄兰分布上得出结果的。因为这些预测的出现,这三种分布也给我们提供了不同的指导,让我们知道对某些事件应该有多惊讶。

在幂律分布中,某个事物已经存在的时间越长,我们可以预测它继续存在的时间也就越长。因此,幂律事件让我们等待的时间越长,就会让我们更加惊奇,尤其在它发生前的一刻。一个国家、一个公司或一个机构,年复一年地变得更加强大,所以当它崩溃时总是令人震惊。

在正态分布中,如果事件提前发生就会令人惊讶,因为我们期望它们达到平均水平,但当它们推迟发生时不会如此。的确,到了这一点,它们似乎推迟发生了,所以我们等待的时间越长,我们就会越期待。

在厄兰分布中,通过定义的事件无论何时发生都不会给我们带来更多或更少的意外。任何事情的状态都有可能结束,不管它已经持续了多久。毫无疑问,政治家总是会对他们下一次的选举进行准备。

《算法之美》:使用幂律、正态和爱尔朗分布来做出正确的预测

赌博的特点类似于稳态预期。例如,如果你所等待的轮盘赌注的胜利是呈正态分布的,那么平均法则将适用于此:在一个坏运气后,它会告诉你,你的号码应该会随时中奖,在输了更多次之后会更快出现。(在这种情况下,它的影响会持续到下一次胜利,然后停止。)相反,如果你等待的胜利呈现幂律分布,那么相乘法则会告诉你胜出盘会一次接着一次出现。(在这种情况下,如果你这局胜出了就应该继续下注,如果长时间没有胜出就该停手。)然而,当面对无记忆分布时,你就进退两难了。相加法则告诉你,现在赢的机会和一小时前一样,一小时后也如此。一切都没有什么变化。你没有因为长时间的等待而得到大奖,也没有一个转折点会告诉你何时应该停止你的损失。在电影《赌棍》中,肯尼·罗杰斯提出了一个著名的建议,他说,你必须“知道什么时候走开,或知道什么时候继续”,但对于无记忆分布而言,没有一个绝对正确的退出时间。这可能就是为什么这些游戏会让人上瘾的部分原因。

知道你所面对的是什么样的分布十分重要。当哈佛大学的生物学家和作家斯蒂芬·杰伊·古尔德发现自己得了癌症后,他的第一个念头就是去阅读相关的医学文献。然后他发现为什么他的医生会劝阻他这样做:患他这种癌症的病人有一半在确诊8 个月内死亡。

但是这一个统计数字(8 个月)并没有告诉他任何关于幸存者的分布。如果这是一个正态分布,那么平均法则将给出一个相当明确的预测,告诉他还可以活多久:约 8 个月。但是,如果它是幂律分布,尾部延伸到右侧,那么情况就会大不相同:相乘法则会告诉他,他活得越久,就会有越多的证据证明他能活得更长。进一步阅读后,古尔德发现:“分布确实是强烈右偏,长(但比较小的)尾巴延长数年以上,都超过8个月的中位数。我看不出我为什么不应该待在那条小尾巴上,我长长地松了一口气。”古尔德在确诊后又活了20年。(下一节:小数据与思维,待续)


分享到:


相關文章: