贝叶斯统计:预测

作为一个恒大球迷, 每赛季联赛开踢时候,我总是想,它会拿下下一场比赛吗,它会最终夺冠吗?

像往常一样,回答这类问题,我们需要做一些假设:

第一,可以合理地认为中国队被进球是一个泊松过程,也就是说,在比赛的任何时间内,恒大队进球的可能性都是相等的

第二,我们认为每个队都有一个long-term的单场比赛平均进球数,也就是lambda;

假设设定好以后,回答开篇问题的策略是:

1.使用之前比赛的统计数据,为lambda选择一个先验分布;

2.从头四场比赛的比分来估计,每个队的lambda

3.使用lambda的后验概率,来计算每个队进球的分布,每场比赛净胜球的分布,每个队赢下接下来比赛的概率

4.计算每个队赢下联赛的概率

下面,介绍两个函数

def MakeGaussianPmf(mu, sigma, num_sigmas, n=201):
    """Makes a PMF discrete approx to a Gaussian distribution.
    
    mu: float mean
    sigma: float standard deviation
    num_sigmas: how many sigmas to extend in each direction
    n: number of values in the Pmf

    returns: normalized Pmf
    """
    pmf = Pmf()
    low = mu - num_sigmas * sigma
    high = mu + num_sigmas * sigma

    for x in numpy.linspace(low, high, n):
        p = EvalGaussianPdf(x, mu, sigma)
        pmf.Set(x, p)
    pmf.Normalize()
    return pmf

class Hockey(thinkbayes.Suite):
         def __init__(self):
              pmf = thinkbayes.MakeGaussianPmf(2.7,0.3,4)
              thinkbayes.Suite.__init__(self,pmf)

接下来介绍泊松过程的概念

说到泊松过程,不得不提伯努利过程,所谓伯努利过程就是对一串连续的事件所建建立的模型,每个事件叫做一个试验(trial),每个试验结果有两种,成功/失败,所以伯努利模型很自然地作为一个连续抛硬币过程的模型。

泊松过程模型是伯努利模型的连续版本(相对伯努利模型试验结果的成功和失败,或者说1和0),它的含义是,一个事件可以在任意时间点上等概率地发生,所以可以用来模拟顾客到达商店,球赛进球,公交车到站等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值