大多数学校的统计学的悲剧在于它是多么愚蠢。老师们花了几个小时来研究如何推导方程和定理,而当你最终进入最精彩的部分--将概念应用于实际数字时,却是用无关紧要、缺乏想象力的例子,如掷骰子,这样会让人失去兴趣。因为如果你跳过推导(你可能永远不需要),专注于使用概念来解决有趣的问题,统计可以是令人愉快的。

原作者:Will Koehrsen
原出处:medium
原链接: https://towardsdatascience.com/the-poisson-distribution-and-poisson-process-explained-4e2cb17d459

在这篇文章中,我们将介绍泊松过程和泊松分布这两个重要的概率概念。在只强调相关理论后,我们将通过一个真实世界的例子,展示方程和图表,将这些概念放在一个适当的背景下。
泊松过程

泊松过程是一系列离散事件的模型,事件之间的平均时间是已知的(确定的),但事件发生的确切时间是随机的。一个事件的到来与之前的事件无关(事件之间的等待时间是无记忆的)。例如,假设我们拥有一个网站,我们的内容交付网络(CDN)告诉我们,该网站平均每60天会发生一次故障,但一次故障并不影响下一次的概率。我们所知道的是故障之间的平均时间。这是一个泊松过程,至少看起来像。
Example Poisson Process with average time between events of 60 days.
重要的一点是我们知道事件之间的平均时间,但它们是随机间隔的(随机的)。故障之间是没有相互联系的,但由于过程的随机性,我们也可能在两次故障之间间隔数年。

泊松过程符合以下标准(实际上许多以泊松过程为模型的现象并不完全符合这些标准)。

  1. 事件是相互独立的。一个事件的发生并不影响另一个事件发生的概率。
  2. 平均速率(每个时间段的事件)是恒定的。
  3. 两个事件不可能在同一时间发生。

最后一点--事件不是同时发生的--意味着我们可以把泊松过程的每个子区间看作是伯努利试验,也就是说,要么成功,要么失败。就我们的网站而言,整个区间可能是600天,但每个子区间--一天--我们的网站要么瘫痪,要么可以正常运行。

泊松过程的常见例子是客户给帮助中心打电话、网站的访问者、原子的放射性衰变、到达太空望远镜的光子、以及股票价格的变动。泊松过程通常与时间有关,但它们不一定非要与时间有关。例如在股票案中,我们可能知道每天的平均变动(每次的事件),但我们也可以对一平方公里的树木数量有一个泊松过程(每个地区的事件)。

最经常讨论的案例是给出的泊松过程的是公共汽车的到达(或火车或现在的Ubers)。然而,这并不是一个真正的泊松过程,因为到达的人数并不是相互独立的。即使是不按时运行的公交系统,一辆公交车是否迟到也会影响下一辆公交车的到达时间。杰克-范德普拉斯有一篇关于将泊松过程应用于公交车到达时间的文章,这篇文章对捏造的数据比真实世界的数据更有效。)

泊松分布

泊松过程是我们用来描述随机发生的事件的模型,其本身并不那么有用。我们需要泊松分布来做一些有趣的事情,比如找到一个时间段内发生若干事件的概率,或者找到等待一段时间后发生下一个事件的概率。

泊松分布的概率质量函数给出了在一个时间段内观察到k个事件的概率,该时间段的长度和每次的平均事件。
Poisson distribution for probability of k events in time period.
这有点复杂,事件/时间*时间段通常被简化为一个参数,即λ,lambda,速率参数。通过这种替换,泊松分布的概率函数现在有一个参数,如下:
Poisson distribution probability of k events in an interval.
Lambda可以被认为是区间内的预期事件数。我们将改称为区间,要记住,我们不一定要使用时间段,我们可以根据我们的泊松过程使用面积或体积)。我喜欢写出lambda来提醒自己,速率参数是每次平均事件和时间段长度的函数,但你最常看到的是它的正上方。

当我们改变速率参数λ时,我们改变了在一个区间内看到不同数量事件的概率。下图是泊松分布的概率质量函数,显示了不同速率参数在一个区间内发生若干事件的概率。
Probability Mass function for Poisson Distribution with varying rate parameter.
每条曲线在区间内最可能发生的事件数是速率参数。这是有道理的,因为速率参数是区间内的预期事件数,因此当它是一个整数时,速率参数将是具有最大概率的事件数。

当它不是整数时,最高概率的事件数将是与速率参数最接近的整数,因为泊松分布只定义为离散的事件数。泊松分布的离散性也是这是一个概率质量函数而不是密度函数的原因。(速率参数也是分布的平均数和方差,它们不需要是整数)。

我们可以用泊松分布的质量函数来求出在一个泊松过程产生的区间内观察到若干事件的概率。质量函数方程的另一个用途--我们将在后面看到--是找到事件之间等待一段时间的概率。

一个具体的例子

对于我们要用泊松分布解决的问题,我们可以继续用网站故障,但我提出更宏大的建议。在我的童年,我的父亲经常会带我到院子里观察(或尝试观察)流星雨。我们不是太空怪人,但看着来自外太空的物体在天空中燃烧起来,就足以让我们到外面去,尽管流星雨似乎总是发生在最冷的月份。

看到的流星数量可以被建模为泊松分布,因为流星是独立的,每小时的平均流星数量是恒定的(在短期内),而且--这是一个近似值--流星不会同时发生。为了描述泊松分布的特点,我们所需要的是速率参数,即事件的数量/间隔*间隔长度。根据我的记忆,我们被告知平均每小时有5颗流星,或者每12分钟有一颗。由于小孩子的耐心有限(尤其是在寒冷的夜晚),我们在外面呆的时间从来没有超过60分钟,所以我们就用这个时间段来计算。把这两者放在一起,我们就得到了:
Rate parameter for the meteor shower situation.
"预计5颗流星 "到底是什么意思?好吧,根据我父亲的悲观说法,这意味着我们在一个小时内最多只能看到3颗流星。当时,我没有数据科学技能,相信他的判断。现在我长大了,对权威人物有了怀疑态度,是时候对他的说法进行测试了。我们可以用泊松分布来找出在一小时的观察中正好看到3颗流星的概率:
Probability of observing 3 meteors in 1 hour.
14%或大约1/7。如果我们在一个星期内每天晚上都到外面去,那么我们可以预期我的父亲正好有一次是正确的!"。虽然知道这一点很好,但我们所追求的是分布,即看到不同数量流星的概率。感觉手算做这个是很令人生厌的。

下图显示了一小时内流星数量的概率质量函数,流星之间的平均时间为12分钟(这等于说一小时内预计有5颗流星)。
Probability Mass Function of the Poisson Distribution for meteors in 1 hour
这就是 "5个预期事件 "的含义! 最有可能出现的流星数是5,即分布的速率参数。由于数字的怪异,4和5的概率相同,都是18%)。与任何分布一样,有一个最可能的值,但也有很大范围的可能值。例如,我们可以出去看到0个流星,也可以在一小时内看到10个以上的流星。为了找到这些事件的概率,我们使用同样的方程式,但这次要计算概率之和。

我们已经计算出正好看到3颗流星的概率约为14%。一小时内看到3颗或更少的流星的概率是27%,这意味着看到3颗以上的概率是73%。同样地,超过5颗流星的概率是38.4%,而我们可以在61.6%的观测时间内看到5颗或更少的流星。虽然它很小,但有1.4%的机会在一小时内观测到10颗以上的流星

为了直观地了解这些可能的情况,我们可以做一个实验,让我们的妹妹记录她在一万个小时内每小时看到的流星数量。结果显示在下面的柱状图中。
Simulating 10,000 hours of meteor observations.
(这显然是一种模拟。本文没有雇用任何姐妹。)观察可能的结果会进一步证明这是一种分布,并且预期结果并不总是会发生。在几个幸运的夜晚,尽管一个小时通常会看到4或5个流星,但我们在一小时内目睹了10个或更多的流星。

用速率参数进行实验

速率参数λ是我们定义泊松分布所需的唯一数字。然而,由于它是两部分的乘积(事件/间隔*间隔长度),有两种方法可以改变它:我们可以增加或减少事件/间隔,我们可以增加或减少间隔长度。

首先,让我们通过增加或减少每小时的流星数来改变速率参数,看看分布是如何被影响的。在这张图中,我们将时间周期保持在60分钟(1小时)不变。
Poisson Probability Distribution for meteors in 1 hour with different rate parameters, lambda
在每种情况下,一小时内最有可能出现的流星数是预期的流星数,即泊松分布的速率参数。举个例子,在每小时12颗流星(MPH)的情况下,我们的速率参数是12,有11%的机会在1小时内正好观测到12颗流星。如果我们的速率参数增加,我们应该期望每小时看到更多的流星。

另一个选择是增加或减少间隔长度。下面是同样的图,但这次我们保持每小时的流星数为5颗不变,并改变我们观测的时间长度。
Poisson Probability Distribution for Meteors in different lengths of time.
毫不奇怪,我们在外面呆的时间越长,就会看到更多的流星! 谁说过 "犹豫不决的人就会迷失方向",显然他从来没有站在旁边看流星雨。

等待时间

在我们的例子中,我们有1个事件/12分钟,如果我们插入数字,我们得到60.65%的机会等待>6分钟。我爸爸的猜测就这么多了! 为了说明另一种情况,我们可以预期在大约8.2%的时间内等待超过30分钟。我们需要注意这是在每一对连续的事件之间。事件之间的等待时间是无记忆的,所以两个事件之间的时间对任何其他事件之间的时间没有影响。这种无记忆性也被称为马尔科夫属性)。)

一张图可以帮助我们直观地看到等待时间的指数递减。
Probability of waiting more than a certain time.
在我们的示例中,我们每12分钟有1个事件,如果插入数字,我们有60.65%的机会等待> 6分钟。我父亲的猜想真是太多了!为了说明另一种情况,我们可以期待大约8.2%的时间等待30分钟以上。(我们需要注意,这是在每个连续的事件对之间。事件之间的等待时间是无记忆的,因此,两个事件之间的时间对任何其他事件之间的时间都没有影响。这种无记忆性也称为Markov属性)。

图表可以帮助我们直观地观察等待时间的指数衰减:
Exponentially Decaying Probability of Waiting Time between successive events
等待时间超过0分钟的概率是100%,而等待时间超过80分钟的概率则下降到接近0%。同样,因为这是一个分布,所以可能的到达间隔时间范围很广。

反过来说,我们可以用这个方程来找出等待时间小于或等于某个时间的概率。
Probability of waiting less than or equal to a specified time.
我们可以预期在39.4%的情况下,等待6分钟或更短的时间看到流星。我们还可以找到等待一段时间的概率:有57.72%的概率会在5到30分钟之间等待看到下一颗流星。

为了直观地看到等待时间的分布,我们可以再次进行一个(模拟)实验。我们模拟观看100,000分钟,平均速度为1颗流星/12分钟。然后,我们找出我们看到的每颗流星之间的等待时间,并绘制出分布图。
Waiting time between meteors over 100,000 minutes.
最有可能的等待时间是1分钟,但这并不是平均等待时间。让我们回到最初的问题:如果我们在一个随机的时间到达,我们预计平均要等多久才能看到第一颗流星?

为了回答平均等待时间的问题,我们将进行10000次单独的试验,每次观察天空10万分钟。下图显示了这些试验中流星的平均等待时间的分布。
Average waiting time between meteors with simulated trials.
10,000个平均数的平均数变成了12.003分钟。即使我们到达一个随机的时间,我们可以预期等待第一颗流星的平均时间是两次发生的平均时间。起初,这可能很难理解:如果事件平均每12分钟发生一次,那么为什么我们要等待整个12分钟才能看到一个事件?答案是这是一个平均等待时间,考虑到了所有可能的情况。

如果流星正好每12分钟出现一次,那么我们看到第一颗流星所需的平均时间就是6分钟。然而,由于这是一个指数分布,有时我们出现后不得不等待一个小时,这超过了我们等待少于12分钟的更多次数。这被称为 "等待时间悖论",值得一读。

作为最后的可视化,让我们做一个观察1小时的随机模拟。
Simulation of 1 Hour
好吧,这次我们得到的正是我们所期望的。5颗流星。我们不得不为第一颗流星等待了15分钟,但随后有一段很好的流星。至少在这种情况下,值得走出家门去观察天体!"。
关于泊松分布和二项分布的说明

泊松分布是二项分布的一个特例,当n达到无穷大时,预期的成功次数保持固定。如果n大而p小,泊松分布被用作二项分布的近似值。

与统计学中的许多概念一样,"大 "和 "小 "取决于解释。一个经验法则是,如果n>20,np<10,那么泊松分布就是二项分布的一个不错的近似值。因此,掷硬币,即使是100次试验,也应该被模拟为二项分布,因为np=50。一个呼叫中心在120分钟内每30分钟接到一个电话,可以被建模为泊松分布,因为np=4。一个重要的区别是二项分布发生在一组固定的试验中(领域是离散的),而泊松分布发生在理论上无限多的试验中(连续领域)。这只是一个近似值;记住,所有的模型都是错的,但有些是有用的

关于这个话题的更多信息,请参见维基百科上的相关分布部分,即泊松分布。这里也有一个很好的Stack Exchange答案。

关于流星/陨石/流星体/小行星的说明

流星是你在天空中看到的条纹,是由被称为流星体的碎片在大气中燃烧造成的。流星体可以来自小行星、彗星或行星的碎片,直径通常为毫米,但也可以达到一公里。如果流星体在穿越大气层的过程中幸存下来并撞击地球,它就被称为陨石。小行星是在小行星带中围绕太阳运行的大得多的岩石块。断裂的小行星碎片成为流星体。你知道的越多!
结论

概括地说,泊松分布给出了由泊松过程产生的区间内的事件数的概率。泊松分布是由速率参数λ定义的,λ是区间内事件的预期数量(事件/区间*区间长度)和事件的最高概率数量。我们也可以用泊松分布来寻找事件之间的等待时间。即使我们到达的时间是随机的,平均等待时间永远是事件之间的平均时间。

下一次你发现自己在统计学中失去注意力时,我允许你不再听老师的讲解。相反,找到相关的方程式,并将它们应用于一个有趣的问题。你可以利用这些知识,而且你会对统计学如何帮助我们理解世界有更深的体会。最重要的是,保持好奇心:世界上有许多惊人的现象,我们可以利用数据科学是探索它们的一个伟大工具。