给 App 换了个新按钮,展示 800 次成交 60 单,表面转化率 7.5%,真实值大概落在哪个区间心里没底。这时该请出贝塔分布,它专门描述取值在 0 到 1 之间的比例,比如转化率、点击率、命中率这类数。
两个参数决定一切
记作 Beta(α, β),α 可以理解成观察到的成功次数,β 是失败次数。上面那个按钮就是 Beta(61, 741)。α 越大曲线往右挪,β 越大往左挪,两个都大时峰变窄,说明对这个比例越有把握。特例是 Beta(1,1),等于 0 到 1 上的均匀分布,表示完全没信息时的起点;两个参数都小于 1 时曲线两头翘,专门描述非黑即白的极端比例。
它的均值就是 α 除以 (α+β):61 除以 802 约等于 7.6%,比表面值 7.5% 略高一点。想知道真实转化率的范围,算后验分布的分位数就行,比如 90% 的区间落在哪,样本越多区间越窄。跟正态近似算出来的置信区间相比,小样本时用它更稳,起码不会算出负的转化率。
为什么贝叶斯统计离不开它
它是伯努利试验成功率 p 的共轭先验:先随便给一个 Beta(1,1),每来一个成功样本 α 加一,失败样本 β 加一,后验还是贝塔分布,曲线越描越尖。更新全程只做加法,不用重新算积分,这正是它在贝叶斯方法里出镜率极高的原因。实际操作里起点不必是 Beta(1,1),有历史数据就直接拿历史成功失败次数当 α 和 β,收敛更快。
实际用在这些地方
- A/B 测试里估计两个版本转化率谁更高:两条后验曲线画在同一张图上,重叠部分小说明胜出把握大,还大片重叠就说明该继续攒样本
- 广告点击率的先验平滑:给每个广告位配一组 α 和 β,新素材先验弱、多给曝光机会,老爆款后验尖、基本定型
- 体育数据里估计球员真实命中率,而不是只看眼前几场
- 项目管理和可靠性分析里估完成比例、故障比例
想直观感受形状,用 Python 的 scipy.stats.beta 传入几组参数各画一条曲线,分位数用 ppf 函数求,比盯着密度公式快得多。
凡是给一个比例建模的场景,贝塔分布几乎都是首选。记住 α 加成功、β 加失败这条更新规则,比背密度公式有用得多。