威尔·库尔特《趣学贝叶斯统计:橡皮鸭、乐高和星球大战中的统计学》学习笔记(1):以A/B测试为例学习贝叶斯统计

主要是新学期的概率论的作业要求:Write a summary (no more than ¾ of a page) of your experience with an application of probability to a real-life situation (e.g., an engineering problem.

–How was probability used to model the phenomena/situation?

–How was it measured?

–Did you perceive any useful outcomes or interesting insights?

基础知识

β分布

β分布 - 知乎 (zhihu.com),入门就是理解概率密度曲线的含义吧。至于说β分布的原理(为什么有效,我还不清楚)。

参数估计(2)正态分布、有先验概率的参数估计 - 知乎 (zhihu.com) 还有这篇也是讲到β分布。

什么是A/B测试?

各公司经常使用A/B测试对产品网页、电子邮件和其他营销材料进行测试,以确定哪种方法对客户最有效。

假设我们想检验的是增加图片对博客的转化率是有帮助还是会拖后腿。此前,每周的邮件都会包含一些图片。在测试中,我们会发送两封电子邮件:一封像往常一样包含图片,另一封则没有图片。这个测试之所以被称为A/B测试,就是因为我们在对一个变量的不同值(这里是有图片和无图片)进行比较,以确定哪一个表现更好。

我们把要进行测试的300人分成A、B两组:A组会收到与往常一样的电子邮件,最上面有一张大图片;B组则会收到没有图片的电子邮件。希望简洁的电子邮件不会让用户认为它是“垃圾”邮件,还能鼓励用户点击其中的内容。

之前我们每周都会群发一次邮件,根据目前得到的数据,我们有以下合理的预期:对任何给定的邮件,用户点击其中链接的概率应该在30%左右。为简单起见,我们将对这两个变体使用相同的先验概率。我们还将选择一个较弱的先验分布,这意味着转化率的概率范围很大。

之所以使用一个弱的先验,是因为我们并不知道自己期望的变体B会表现得怎么样,而且这是一个新的电子邮件活动,所以其他因素也会影响转化率,结果有可能更好也有可能更差。这里,我们将用Beta(3, 7)作为先验概率分布。这个β分布的均值是0.3,且能够表示转化率的概率范围很大。

点击未点击观察到的转化率
A(收到有图片)361140.24
B(没收到图片)501000.33

从上述的结果来看,我们很自然会觉得“收到图片”会降低转化率,但到底是不是这样呢?

我们可以将这两个变体视为想要估计的单独参数。为了得出每个变体的后验分布,需要分别结合它们各自的似然分布和先验分布。

我们已经决定,这些变体的先验分布是Beta(3, 7),它代表了一个相对较弱的信念,即在没有额外信息的情况下,我们对转化率的可能值期望较低。之所以说这是一个较弱的信念,是因为我们并不十分相信某个特定的数值范围,而是考虑了具有高概率的所有可能的转化率。对每个变体的似然,我们也同样使用β分布,其中参数α等于链接被点击的次数,而β则等于链接没有被点击的次数


Beta(α后验,β后验)=Beta(α先验+α似然,β先验+β似然)
因此,变体A用分布Beta(36+3,114+7)来表示,变体B则用分布Beta(50+3,100+7)表示。

显然,我们的数据表明,变体B更胜一筹,因为它有更高的转化率。从之前关于参数估计的讨论中,我们知道真实的转化率只是一系列可能值中的一个。


但如果在处理A时只是我们的运气不好,而其真实转化率实际上要高得多呢?又或者,在处理B时我们只是运气好,而其真实转化率要低得多呢?变体A可能其实要更好,虽然它在我们的测试中表现很差。

所以这里真正的问题是:我们有多确定变体B更好?这正是蒙特卡罗模拟的意义所在

蒙特卡罗模拟

蒙特卡罗模拟是一种利用随机抽样来解决问题的方法。具体到这个例子,我们要从两个分布中随机抽样,每个样本都是根据其在分布中的概率选择的,这样高概率区域的样本就会出现得更频繁

取样的频率越高,就越能准确地判断出在取样的所有情况中,到底有多少种情况下的变体B更好。一旦有了样本,就可以计算变体B更好的情况与所有样本总数的比例,进而得到变体B好于变体A的准确概率。

批注:高中的几何概型就是一种蒙特卡罗方法吧~

在多少种情况下,变体B表现更好?比变体A好多少?

我们可以看上面这个比例:B样本/A样本

变体B有大约25%的概率能比变体A提高50%以上,甚至有不小的概率其转化率是变体A的一倍以上!现在,在选择变体B而不是变体A时,我们可以通过表述“变体B比变体A差20%的概率与它比变体A好1倍的概率大致相同”来解释我们的选择。在我听来,这是一个不错的选择,要比“变体B和变体A之间有统计学上的显著性差异”这样的陈述更能表达我们所掌握的知识。

反思与总结 

  1. 和“贝叶斯”有什么关系?
  2. 如何根据统计学分布来给建议呢?
  3. 待续。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/324626.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

R语言实验1 :数据的描述性分析

实验1 数据的描述性分析 一、实验目的 1. 掌握理解均值、方差等一系列统计相关概念。 2. 加深对散点图、直方图、相关系数等概念的理解。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 完成教材P37第6题。 题目如下: (1)(…

【数据结构与算法】之数组系列-20240116

这里写目录标题 一、15. 三数之和二、16. 最接近的三数之和三、49. 字母异位词分组四、53. 最大子数组和五、189. 轮转数组六、179. 最大数 一、15. 三数之和 提示 中等 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k…

图解结算平台:准确高效给商户结款

这是《百图解码支付系统设计与实现》专栏系列文章中的第(4)篇。 本章主要讲清楚支付系统中商户结算涉及的基本概念,产品架构、系统架构,以及一些核心的流程和相关领域模型、状态机设计等。 1. 前言 收单结算是支付系统最重要的子…

Python入门-字面量,函数,类

Python 中常用的有6种值(数据)的类型 (1)字符串需要用英文的双引号包围起来,比如打印"helloworld" (2)浮点数,整数,字符串等字面量的写法 (3)字符串定义及打印…

论文阅读笔记AI篇 —— Transformer模型理论+实战 (二)

论文阅读笔记AI篇 —— Transformer模型理论实战(二) 第二遍阅读(通读)2.1 Background2.2 Model Architecture2.2.1 Encoder and Decoder Stacks2.2.2 Scaled Dot-Product Attention2.2.3 Multi-Head Attention 2.3 Why Self-Atte…

【STM32】STM32学习笔记-I2C通信协议(31)

00. 目录 文章目录 00. 目录01. I2C简介02. I2C主要特点03. I2C硬件电路04. I2C时序基本单元05. I2C时序波形图06. 附录 01. I2C简介 I2C(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接…

安装SCCM时出现的问题

出现这个问题 根据提示信息逐一排除以下问题: 1、确保SQL服务器名称是否正确。 2、确保TCP1433和4022端口有没有被防火墙屏蔽。 3、站点服务器帐号加入SQLServer的sysadmin角色成员里。 4、确保SQL实例没有使用动态端口,可参考: Config…

#RAG##AIGC#检索增强生成 (RAG) 基本介绍和入门实操示例

本文包括RAG基本介绍和入门实操示例 RAG 基本介绍 通用语言模型可以进行微调以实现一些常见任务,例如情感分析和命名实体识别。这些任务通常不需要额外的背景知识。 对于更复杂和知识密集型的任务,可以构建基于语言模型的系统来访问外部知识源来完成任…

【C语言】指针知识点笔记(2)

目录 一、野指针 二、assert断言 三、指针的使用和传址调用 四、数组名的理解 五、使用指针访问数组 一、野指针 二、assert断言 三、指针的使用和传址调用 四、数组名的理解 五、使用指针访问数组

高通平台开发系列讲解(USB篇)DWC3控制USB速率

文章目录 一、设备树二、相关结构体三、最大速率设置四、当前速率设置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文主要介绍高通平台USB DWC3控制USB速率。 一、设备树 目录:msm-4.14/arch/arm64/boot/dts/qcom/sdxprairie-usb.dtsi dwc3@a600000 {compatibl…

pandas之重复数据的查看、删除和提取(后附数据网盘链接)

数据预览: 一、 查看value_counts() 这一函数能够查看每一数据出现了几次,但是用data.value_counts()这一方法时,只有一行数据全都一样才算做重复行,如下图中的郭靖分数不一样的话它没有计入是重复行,要想以名字作为重…

unity面试题

一:什么是协同程序? 在主线程运行的同时开启另一段逻辑处理,来协助当前程序的执行,协程很像多线程,但是不是多线程,Unity的协程实在每帧结束之后去检测yield的条件是否满足。 二:Unity3d中的碰…

身体互联网 (IoB)

现在,我们的互联网网关就是我们手中的一个小设备。 普渡大学副教授施里亚斯森表示。 我们不断地看着这个盒子,我们低着头走路,我们把大部分时间都花在它上面。如果我们不想让这种未来继续下去,我们就需要开发新技术。相反&#x…

使用scipy处理图片——任意比例缩放

大纲 缩小放大代码地址 在《使用numpy处理图片——缩放图片》一文中,我们每2个取1个像素来达到图像缩小的效果。这就要求缩小的比例只能是整数倍,而不能支持缩小到0.3倍或者放大到1.5倍这样的效果。 为了支持任意倍数的缩放功能,我们需要使用…

集群服务器GPU深度模型训练笔记(PBS作用调度系统)

相关手册与软件准备 官方使用手册 用户手册:https://hpc.sustech.edu.cn/ref/cluster_User_Manual.pdf 培训视频:https://hpc.sustech.edu.cn/ref/meeting_20230810.mp4 启明2.0使用手册:https://hpc.sustech.edu.cn/ref/qiming_User_Manua…

基于vue+Spring Boot家政服务人员预约系统iph9d

通过对家政服务管理内容的学习研究,进而设计并实现一个家政服务系统。系统能实现的主要功能应包括即时通讯、通讯回复、预约订单、接单信息、服务费用管、服务评价的一些操作。还有可以正确的为用户服务,准确显示当前信息[5]。 开发软件有很多种可以用&…

【JVM】性能调优

一、前言 性能调优,顾名思义,就是对系统或软件的性能进行优化,以提高其运行效率和响应速度。在计算机科学中,性能调优通常涉及到硬件、操作系统、数据库、网络等多个方面。对于Java开发者来说,JVM(Java虚拟…

Docker 容器之间的互相通信

Docker容器之间的互相通信 步骤一:创建自定义网络 首先,我们需要创建一个自定义网络,以便容器可以连接到这个网络上,从而实现互相通信。在命令行中执行以下命令: # 创建 docker network create ddz # 查看 docker n…

O2066PM无线WIFI6E网卡Windows环境吞吐测试

从2023年开始,除手机外的无线终端设备也逐步向WIFI6/6E进行升级更新,基于802.11ax技术的设备能够进一步满足用户体验新一代Wi-Fi标准时获得优质的性能和覆盖范围。 用户对于WIFI模块,通常会关注WIFI模块的吞吐量,拿到样品之后&am…

如何在iPhone或iPad中截取长页面,这里有详细步骤

iOS有太多隐藏的功能,记住它们可能是一个挑战,但知道如何在iPhone或iPad上截屏整个页面是我从未忘记的。 你若是一名作家,你经常会发现自己需要截屏网站和文章中的大块文本,以便发送给某人或稍后阅读。虽然现在的手机有着令人羡慕…