基于泊松分布反向推导足球比赛预期进球数的技术问询
反向推导泊松分布下的足球预期进球数(已知胜平负概率)
前提假设
我们基于独立泊松分布模型:主队预期进球数为λ,客队为μ,两队进球事件相互独立。已知目标概率:
- 主胜概率( P_H = 40% )
- 平局概率( P_D = 30% )
- 客胜概率( P_A = 30% )
胜平负概率与λ、μ的关系为:
- ( P_H = \sum_{k=0}^{\infty} \sum_{m=0}^{k-1} \text{POISSON.DIST}(k,λ,\text{FALSE}) \times \text{POISSON.DIST}(m,μ,\text{FALSE}) )
- ( P_D = \sum_{k=0}^{\infty} \text{POISSON.DIST}(k,λ,\text{FALSE}) \times \text{POISSON.DIST}(k,μ,\text{FALSE}) )
- ( P_A = 1 - P_H - P_D )
由于该方程组无解析解,只能通过数值迭代或优化工具求解λ和μ。
方法一:迭代逼近公式法
通过手动调整λ、μ并反复计算误差,逐步逼近目标值:
- 初始值设定:参考联赛平均进球数(比如λ=1.2,μ=1.0),或直接设为1.0/1.0。
- 计算当前胜平负概率:
由于泊松分布在k>10时概率可忽略,用有限项累加计算:- 主胜概率(Excel数组公式,365版本无需按Ctrl+Shift+Enter确认):
=SUM(POISSON.DIST(ROW(0:10),λ,FALSE)*MMULT(TRANSPOSE(POISSON.DIST(ROW(0:10),μ,FALSE)),--(ROW(0:10)<TRANSPOSE(ROW(0:10))))) - 平局概率:
=SUM(POISSON.DIST(ROW(0:10),λ,FALSE)*POISSON.DIST(ROW(0:10),μ,FALSE)) - 客胜概率自动推导:
=1-主胜概率-平局概率
- 主胜概率(Excel数组公式,365版本无需按Ctrl+Shift+Enter确认):
- 误差计算:用均方误差衡量当前值与目标值的差距:
=(计算主胜-0.4)^2 + (计算平局-0.3)^2 - 迭代调整:手动微调λ和μ,直到误差小于设定阈值(比如0.0001)。若误差偏大,主胜概率低于目标则增大λ/减小μ,反之则调整方向相反。
方法二:Excel Solver工具实现(更高效)
利用Excel的非线性优化工具自动求解:
- 单元格布局:
- B1:λ(可变单元格,初始值填1.0)
- B2:μ(可变单元格,初始值填1.0)
- B3:主胜概率(用上述数组公式引用B1、B2)
- B4:平局概率(同样引用B1、B2)
- B5:误差值:
=(B3-0.4)^2 + (B4-0.3)^2
- 启用Solver:
若未找到Solver,需在「文件>选项>加载项」中勾选「规划求解加载项」并启用。 - 配置Solver参数:
- 目标单元格:选B5,设置为「最小值」
- 可变单元格:选B1:B2
- 约束条件:添加
B1>0和B2>0(预期进球数不能为负) - 求解方法:选择「GRG非线性」(适配非线性优化场景)
- 求解:点击「求解」按钮,Solver会自动迭代调整λ和μ,直到误差最小化。此时B1、B2即为所求的预期进球数。
注意事项
- 泊松分布假设进球事件独立,实际比赛中存在攻防关联(比如领先方收缩防守),若需更精准模型需引入修正项,但此方法适用于基础场景。
- 累加上限设为10足够覆盖绝大多数概率贡献,进一步增大上限对结果影响可忽略。
- Solver的初始值可能影响收敛速度,建议用联赛平均进球数作为初始值提升效率。
内容的提问来源于stack exchange,提问作者fbnhost1
相关产品推荐
相关产品推荐

