前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【贝叶斯决策分析案例】:价格猜猜猜

【贝叶斯决策分析案例】:价格猜猜猜

作者头像
WEBJ2EE
发布2023-09-02 11:43:06
2320
发布2023-09-02 11:43:06
举报
文章被收录于专栏:WebJ2EEWebJ2EE

提要

哈喽,大家好!这一期将给大家介绍一个贝叶斯决策分析理论的应用案例。即如何应用贝叶斯理论,在美国流行的综艺节目“The Price is Right”中的“ShowCase”环节中帮助选手给出最优的出价策略,进而赢得比赛并得到最大的奖励(Double ShowCase Winner)。

TL;DR

1. 介绍一下美国流行综艺节目“The Price is Right” 中 “ShowCase” 环节的游戏规则。

2. 讲解如何应用贝叶斯理论帮助参赛选手做出最优的价格决策。

3. 用 Python 实现这一个决策过程。

一、价格猜猜猜(The Price is Right)

“价格猜猜猜”(The Price Is Right)是美国历史上风行时间最长的一档电视节目,该节目包含100多个游戏,每一个游戏都是建立在一个问句的基础上:“这样东西值多少钱?”这个简单的公式在长达30多年的时间里吸引了无数粉丝。

1.1. SHOWCASE 环节

通常在节目“The Price is Right”的最后,会有一个 ShowCase 环节,两名选手猜测奖品价格,谁猜的准(详细规则一会再讲),谁就能赢得奖品。

先来看一段我从油管搬运的诞生了一位 “Double ShowCase Winner” 的 “ShowCase” 环节视频(生肉),了解一下这个环节是怎么玩的。

1.2. SHOWCASE 游戏规则

下面我将详细介绍一下 SHOWCASE 环节的游戏规则:

  • 两个玩家:PlayerA、PlayerB。
  • 两组展品:ShowCaseA、ShowCaseB。
  • 选手的目的:猜测展品的总价格。
  • PlayerA 有权选择竞猜哪一组展品,PlayerB 则必须猜剩下的那一组。(注:视频中的PlayerA(右手边)即选择ShowCaseA由PlayerB来猜)
  • 两个玩家的竞猜价格可以相同(注:毕竟猜的东西不一样)。
  • 的玩家,会获得他所竞猜的那一组展品作为奖品。
  • 只有 竞猜价格 <= 展品价格 的选手才有可能赢。
    • 如果 某玩家的竞猜价格 > 展品价格,则该玩家
    • 如果 两玩家的竞猜都满竞猜价格 <= 展品价格,则谁猜的准,谁
    • 如果 某玩家不仅赢了,而且他的 竞猜价格 与 展品价格 之间相差 <250 美元,则该玩家是 Double ShowCase Winner,将同时赢得两份展品作为奖品。

二、贝叶斯思维,能帮我们做什么?

  1. 在看到奖品之前,玩家应该对展品的价格有什么样的先验分布?
  2. 在看到奖品之后,玩家应该如何更新先验,得到后验分布?
  3. 根据得到的后验分布:
    1. 玩家应该出价多少,才能让自己赢的概率最大?【决策分析】
    2. 玩家应该出价多少,才能让自己的获益最大?【决策分析】

2.1. 先验分布(Prior)

我们可以使用 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)。

2.2. 假设(hypo)与数据(data)

为了计算后验分布,需要先回答两个问题:

  • 数据是什么?怎么量化?
  • 假设又是什么?怎么得到似然函数?

为了回答这个问题,我们将对玩家(Player)进行如下建模:

  • 玩家是“误差(error)特性已知的价格猜测仪”:
    • 展品真实价格为price,玩家观察到展品后,会先在心中猜测一个价格guess,然后进行出价bid,因为玩家的出价是有策略的(因为:出价必须比真实价格低,否则就输了)。
      • error = guess - price
      • diff = bid - price
    • 这个误差的分布符合正态分布(Normal Distribution)
    • 平均来看,玩家的猜测是准确的(即:误差均值μ可假设为0)。
    • 玩家对展品价格猜测的误差离散程度,与玩家的出价的离散程度一致(即:σ(error) = σ(diff))。

下图展示了玩家出价误差diff = bid - price的PMF。

然后我们计算玩家估价 error=guess-price 的PDF:

注:虽然概率密度函数的函数值并不是概率,但它与概率是成比例的,所以我们可以把它当做似然函数,用在后续的贝叶斯后验分布的计算中。

2.3. 后验分布(Posterior)

假设你是玩家1,当你看到你的展品后,你对展品价格的猜测是 23,000(注:即数据),并利用前面得到的似然函数计算后验分布。

假设你是玩家2,当你看到你的展品后,你对展品价格的猜测是 38,000(注:即数据),并利用前面得到的似然函数计算后验分布。

三、决策分析

3.1. 胜率

假设你是玩家1,玩家1出价后,有以下几种情况可以赢:

  • 玩家2的出价高于展品价格。
  • 玩家2的出价没有玩家1的出价准。

3.2. 怎么出价最有可能赢?

在上一节中,我们计算了获胜的概率,假设我们的出价低于特定的金额。

事实上,参赛者不知道自己的出价低了多少,因为他们不知道实际价格。

但他们确实有一个后验分布,代表了他们对实际价格的信念,他们可以用它来估计他们在给定出价中获胜的概率。

3.3. 怎么出价收益最大?

在上一节中,我们计算了最大化您获胜机会的出价。如果这是你的目标,我们计算的出价是最优的。

但胜利并不是一切。请记住,如果您的出价低于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/


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebJ2EE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、价格猜猜猜(The Price is Right)
    • “价格猜猜猜”(The Price Is Right)是美国历史上风行时间最长的一档电视节目,该节目包含100多个游戏,每一个游戏都是建立在一个问句的基础上:“这样东西值多少钱?”这个简单的公式在长达30多年的时间里吸引了无数粉丝。
      • 1.1. SHOWCASE 环节
        • 1.2. SHOWCASE 游戏规则
        • 二、贝叶斯思维,能帮我们做什么?
          • 2.1. 先验分布(Prior)
            • 2.2. 假设(hypo)与数据(data)
              • 2.3. 后验分布(Posterior)
              • 三、决策分析
                • 3.1. 胜率
                  • 3.2. 怎么出价最有可能赢?
                    • 3.3. 怎么出价收益最大?
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档