提要
哈喽,大家好!这一期将给大家介绍一个贝叶斯决策分析理论的应用案例。即如何应用贝叶斯理论,在美国流行的综艺节目“The Price is Right”中的“ShowCase”环节中帮助选手给出最优的出价策略,进而赢得比赛并得到最大的奖励(Double ShowCase Winner)。
TL;DR
1. 介绍一下美国流行综艺节目“The Price is Right” 中 “ShowCase” 环节的游戏规则。
2. 讲解如何应用贝叶斯理论帮助参赛选手做出最优的价格决策。
3. 用 Python 实现这一个决策过程。
通常在节目“The Price is Right”的最后,会有一个 ShowCase 环节,两名选手猜测奖品价格,谁猜的准(详细规则一会再讲),谁就能赢得奖品。
先来看一段我从油管搬运的诞生了一位 “Double ShowCase Winner” 的 “ShowCase” 环节视频(生肉),了解一下这个环节是怎么玩的。
下面我将详细介绍一下 SHOWCASE 环节的游戏规则:
我们可以使用 The Price is Right 节目 ShowCase 环节的历年竞猜数据,作为我们的先验数据来源。
我选用的是 2011 和 2012 两年的 ShowCase 环节竞猜数据(共313条)。
接下来用 Python 读取 csv 文件中数据,供进一步分析:
然后我们可以用核密度估计(KDE,kernel density estimation)方法来估计两选手展品价格(price1、price2)的概率密度函数(PDF,probability density function)以及概率质量函数(PMF,probability mass function)。
为了计算后验分布,需要先回答两个问题:
为了回答这个问题,我们将对玩家(Player)进行如下建模:
下图展示了玩家出价误差diff = bid - price的PMF。
然后我们计算玩家估价 error=guess-price 的PDF:
注:虽然概率密度函数的函数值并不是概率,但它与概率是成比例的,所以我们可以把它当做似然函数,用在后续的贝叶斯后验分布的计算中。
假设你是玩家1,当你看到你的展品后,你对展品价格的猜测是 23,000(注:即数据),并利用前面得到的似然函数计算后验分布。
假设你是玩家2,当你看到你的展品后,你对展品价格的猜测是 38,000(注:即数据),并利用前面得到的似然函数计算后验分布。
假设你是玩家1,玩家1出价后,有以下几种情况可以赢:
在上一节中,我们计算了获胜的概率,假设我们的出价低于特定的金额。
事实上,参赛者不知道自己的出价低了多少,因为他们不知道实际价格。
但他们确实有一个后验分布,代表了他们对实际价格的信念,他们可以用它来估计他们在给定出价中获胜的概率。
在上一节中,我们计算了最大化您获胜机会的出价。如果这是你的目标,我们计算的出价是最优的。
但胜利并不是一切。请记住,如果您的出价低于250美元,您将赢得两次展示。因此,稍微提高出价可能是个好主意:这会增加你出价过高和失败的机会,但也会增加赢得两场比赛的机会。
参考:
《贝叶斯思维》第6章 决策分析 Decision Analysis: https://allendowney.github.io/ThinkBayes2/chap09.html#the-price-is-right-problem Showcases.Wiki: https://priceisright.fandom.com/wiki/Showcases The Price is Right Stats: https://web.archive.org/web/20121107204942/http://www.tpirsummaries.8m.com/ kde(内核密度估计): https://mathisonian.github.io/kde/