R语言解决三门问题(ggplot可视化)

本文介绍了三门问题的概念及其在电视游戏节目中的应用,解释了改变选择能提高赢得汽车概率的原因。通过R语言进行蒙特卡罗模拟,展示了随着模拟次数增加,改变选择获胜概率趋近于2/3,不改变则为1/3的规律。最后使用ggplot2库绘制了概率变化图,直观地呈现了这一现象。
摘要由CSDN通过智能技术生成

三门问题背景介绍

三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let’s Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门是否会增加参赛者赢得汽车的机率。如果严格按照上述的条件,那么答案是会。不换门的话,赢得汽车的几率是1/3。换门的话,赢得汽车的几率是2/3。

在这里插入图片描述
在这里插入图片描述

R语言实现

注释挺详细的,最后图是用ggplot可视化的。

n <- 10000
# n代表蒙特卡罗模拟重复次数
a <- 0
# a表示不改变主意时能赢得汽车的次数
b <- 0
# b表示改变主意时能赢得汽车的次数
# 下面是在成功的条件下,换门还是不换们的概率
probability <- matrix(rep(0,20000),ncol = 2)
for(i in 1:n)
{
  x <- sample(1:3,size = 1)
  # 随机生成一个1-3之间的整数x表示汽车出现在第x扇门后
  y <- sample(1:3,size = 1)
  # 随机生成一个1-3之间的整数y表示自己选的门
  if(x==y)
  {
    # 如果x和y相同,那么我们只有不改变主意时才能赢
    a <- a + 1
  }
  else
  {
    # 如果x和y不同,那么我们只有改变主意时才能赢
    b <- b + 1
  }
  probability[i,1] <- a/i
  probability[i,2] <- b/i
}
probability <- as.data.frame(probability)
colnames(probability) <- c("NotChange","Change")
library(ggplot2)
ggplot()+
  geom_hline(aes(yintercept=2/3),linetype=4,color='blue3',size=0.86)+
  geom_hline(aes(yintercept=1/3),linetype=4,color='blue3',size=0.86)+
  geom_line(data = probability,aes(x=1:n,y=NotChange,color="不改变主意"),size=1)+
  geom_line(data = probability,aes(x=1:n,y=Change,color="改变主意"),size=1)+
  xlab("模拟次数")+ylab("成功的概率")+
  scale_colour_manual("",values = c("改变主意" = "deeppink3","不改变主意" = "aquamarine3"))

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值