Python:计算一个点符合曲线的概率

我有一个总票数和累计售票数据的情况如下:

Total Tickets Available: 300
Day 1: 15 tickets sold to date
Day 2: 20 tickets sold to date
Day 3: 25 tickets sold to date
Day 4: 30 tickets sold to date
Day 5: 46 tickets sold to date

售票的数量是非线性的,我被问到是否有人计划在第23天买票,他获得票的概率是多少?

我一直在寻找一个用于曲线拟合的库,比如numpy,PyLab和sage,但由于统计数据不在我的背景中,我有点不知所措.如何根据这组数据轻松计算概率?如果有帮助,我也在其他地方有售票数据,曲线应该有所不同.

最佳答案 这个问题的最佳答案需要更多关于这个问题的信息 – 随着日期接近(并且减少多少),人们是否更有可能购买机票?是否会有短暂影响销售率的广告活动?等等.

但是,我们无法访问这些信息,因此,我们假设,作为第一个近似值,门票销售率是不变的.由于销售基本上是随机发生的,因此它们可能最好建模为Poisson process注意,这并不能解释许多人会购买多张票的事实,但我认为这不会对结果产生太大影响;也许真正的统计学家可能会在这里说话.另外:我将在这里讨论恒定速率泊松过程,但请注意,既然你提到速率肯定不是常数,你可以看看变速率泊松过程作为下一步.

要为泊松过程建模,您只需要平均售票率.在您的示例数据中,每日销售额为[15,5,5,5,16],因此平均费率约为每天9.2张.我们已售出46张门票,剩下254张.

从这里可以很简单地问:“鉴于9.2天的速度,23天内出售少于254张票的概率是多少?” (忽略你不能卖超过300张门票的事实).计算这个的方法是使用累积分布函数(对于泊松分布,参见CDF的here).

平均而言,我们预计在23天后卖出23 * 9.2 = 211.6票,因此在概率分布的语言中,期望值为211.6. CDF告诉我们,“给定期望值λ,看到值< = x”的概率是多少.你可以自己做数学或者让scipy为你做:

>>> import scipy.stats
>>> scipy.stats.poisson(9.2 * 23).cdf(254-1)
0.99747286634158705

因此,这告诉我们:如果门票销售可以准确地表示为泊松过程,并且如果门票销售的平均费率确实是9.2吨/天,那么在23天之后至少一张门票可用的概率是99.7%.

现在让我们说有人想带一组50个朋友,并想知道如果他们在25天内购买它们就获得所有50张票的可能性(将问题改为“如果我们平均预计售出9.2 * 25票,那么什么是出售概率< =(254-50)票?“):

>>> scipy.stats.poisson(9.2 * 25).cdf(254-50)
0.044301801145630537

因此,25天后可获得50张票的概率约为4%.

点赞