统计学1:伯努利模型的参数估计与等价性分析

伯努利模型的参数估计方法

1. 统计学习方法三要素对比

方法模型策略算法
极大似然估计概率模型经验风险最小化数值解
贝叶斯估计概率模型结构风险最小化解析解

2. 极大似然估计

2.1 模型设定

P(x=1)=θP(x=1)=\thetaP(x=1)=θ,则P(x=0)=1−θP(x=0)=1-\thetaP(x=0)=1θ

2.2 似然函数

对于n次独立实验,k次结果为1:

L(x1,x2,...,xn;θ)=θk(1−θ)n−kL(x_1,x_2,...,x_n;\theta) = \theta^k(1-\theta)^{n-k}L(x1,x2,...,xn;θ)=θk(1θ)nk

2.3 对数似然函数

ln⁡L=kln⁡θ+(n−k)ln⁡(1−θ)\ln L = k\ln\theta + (n-k)\ln(1-\theta)lnL=klnθ+(nk)ln(1θ)

2.4 求导得估计值

θ^MLE=kn\hat{\theta}_{MLE} = \frac{k}{n}θ^MLE=nk

Python实现

import numpy as np
from scipy.stats import bernoulli# 生成伯努利数据
np.random.seed(42)
theta_true = 0.7
n = 1000
data = bernoulli.rvs(theta_true, size=n)
k = sum(data)# 极大似然估计
theta_mle = k / n
print(f"MLE估计值: {theta_mle:.4f}")
LE估计值: 0.7120

3. 贝叶斯估计

3.1 先验分布选择

使用Beta分布作为共轭先验:

f(θ;α,β)=Γ(α+β)Γ(α)Γ(β)θα−1(1−θ)β−1 f(\theta;\alpha,\beta) = \frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha)\Gamma(\beta)}\theta^{\alpha-1}(1-\theta)^{\beta-1} f(θ;α,β)=Γ(α)Γ(β)Γ(α+β)θα1(1θ)β1

3.2 后验分布

后验分布也是Beta分布:

f(θ∣D)∝θk+α−1(1−θ)n−k+β−1 f(\theta|D) \propto \theta^{k+\alpha-1}(1-\theta)^{n-k+\beta-1} f(θD)θk+α1(1θ)nk+β1

3.3 MAP估计

θ^MAP=k+α−1n+α+β−2 \hat{\theta}_{MAP} = \frac{k+\alpha-1}{n+\alpha+\beta-2} θ^MAP=n+α+β2k+α1


from scipy.stats import beta# 设置先验参数 (α=2, β=2 相当于均匀分布)
alpha, beta_ = 2, 2# MAP估计
theta_map = (k + alpha - 1) / (n + alpha + beta_ - 2)
print(f"MAP估计值: {theta_map:.4f}")# 设置支持中文的字体
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 使用微软雅黑字体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号'-'显示为方块的问题
# 后验分布可视化
import matplotlib.pyplot as plt
theta_range = np.linspace(0, 1, 1000)
posterior = beta.pdf(theta_range, k+alpha, n-k+beta_)
plt.plot(theta_range, posterior)
plt.title('后验概率密度')
plt.xlabel('θ')
plt.ylabel('密度')
plt.show()

在这里插入图片描述

4. 经验风险最小化与极大似然估计的关系

当满足以下条件时,经验风险最小化等价于极大似然估计:

  1. 模型是条件概率分布
  2. 损失函数是对数损失函数

4.1 经验风险最小化形式

min⁡1N∑i=1N−ln⁡P(Yi∣Xi,θ) \min \frac{1}{N}\sum_{i=1}^N -\ln P(Y_i|X_i,\theta) minN1i=1NlnP(YiXi,θ)

4.2 等价于极大似然

max⁡∏i=1NP(Yi∣Xi,θ) \max \prod_{i=1}^N P(Y_i|X_i,\theta) maxi=1NP(YiXi,θ)

注意事项

  1. 选择先验分布时需注意定义域匹配
  2. Beta分布是伯努利分布的共轭先验
  3. 当先验为均匀分布时,MAP估计退化为MLE估计
# 模拟广告点击数据 (10个广告,每个展示1000次)
np.random.seed(42)
ctr_true = np.linspace(0.1, 0.9, 10)
clicks = [np.sum(bernoulli.rvs(p, size=1000)) for p in ctr_true]# 使用贝叶斯估计平滑小CTR
alpha, beta_ = 5, 95  # 先验认为点击率约5%
smoothed_ctr = [(c + alpha)/(1000 + alpha + beta_) for c in clicks]# 可视化对比
plt.figure(figsize=(10,5))
plt.plot(ctr_true, label='真实CTR')
plt.plot([c/1000 for c in clicks], 'x', label='原始CTR')
plt.plot(smoothed_ctr, 'o', label='平滑后CTR')
plt.legend()
plt.title('CTR估计的贝叶斯平滑效果')
plt.show()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏行业DDoS攻防实战指南

一、游戏DDoS攻击特征分析游戏行业DDoS攻击呈现高度复合化特征,攻击手段日益专业化。2023年Akamai监测数据显示,63%的游戏服务器攻击采用UDP反射放大(如NTP、Memcached协议)与HTTP慢速攻击(如Slowloris)相结…

[自动化Adapt] 录制引擎 | iframe 穿透 | NTP | AIOSQLite | 数据分片

链接:https://github.com/OpenAdaptAI/OpenAdapt/wiki/OpenAdapt-Architecture-(draft) docs:OpenAdapt OpenAdapt 是一个开源项目,旨在 记录 和 回放 用户在计算机上的交互行为。 它如同智能助手般 观察 我们的操作(鼠标点击、…

ipv6学习

ipv6的历史背景和及展望ipv6普及不够,ipv4快要用完。ipv6技术部分ivp6包头结构ipv6不允许分片,减轻中间设备压力。IPv6 包头结构可按字段分层解析,核心特点是 固定头部长度(40 字节) ,将可选功能移至扩展头…

软件定义汽车 --- 电子电气架构的驱动

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

HTML5 语义元素

HTML5 语义元素 引言 HTML5 作为现代网页开发的基础,引入了许多新的语义元素,这些元素使得网页内容更加结构化,便于搜索引擎更好地理解和索引页面内容。本文将详细介绍 HTML5 中的语义元素,并探讨其在网页设计中的应用。 HTML5…

vue3 el-select el-option 使用

在 Vue 3 中,el-select 是 Element Plus 组件库中的一个选择器组件,它允许用户从下拉菜单中选择一个或多个选项。如果你想在使用 Vue 3 和 Element Plus 时让 el-select 支持多种选择(即多选),你可以通过设置 multiple…

windows搬运文件脚本

使用方法:copy_files_by_prefix.bat [目标目录] [结果目录] [文件名前缀] [可选参数:文件包含内容]echo off chcp 65001 >nul setlocal enabledelayedexpansion:: Check parameters if "%~3""" (echo Usage: %~nx0 [SourceDir] […

C++ 中 initializer_list 类型推导

在 C 中,initializer_list 是一种用于表示列表初始化的标准库模板类,提供了一种方便的方式来初始化容器或者进行函数调用时传递一组参数。initializer_list&& 类型推导涉及到右值引用和移动语义,这在现代 C 中变得越来越重要。initia…

自动驾驶中的传感器技术22——Camera(13)

1、可靠性验证的目标车载摄像头作为自动驾驶和高级驾驶辅助系统(ADAS)的核心传感器,其可靠性直接影响到行车安全。可靠性验证的目标如下:暴露产品缺陷:在研制阶段,通过测试发现并修正产品设计中的问题&…

一周学会Matplotlib3 Python 数据可视化-图形的组成部分

锋哥原创的Matplotlib3 Python数据可视化视频教程: 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 课程介绍 本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置&…

三万字带你了解那些年面过的Java八股文

Java基础 1. String 和StringBuffer 和 StringBuilder的区别? String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 2. sleep() 区间wait()区间有什么区别? sleep…

HTML 媒体元素概述

HTML 提供了多种元素用于嵌入和控制多媒体内容&#xff0c;包括音频、视频、图像、画布等。以下是常用的 HTML 媒体元素及其用法&#xff1a;音频 (<audio>)<audio> 元素用于嵌入音频内容&#xff0c;支持 MP3、WAV、OGG 等格式。 示例代码&#xff1a;<audio c…

http请求结构体解析

copy了一个接口的curl用来说明http请求的三个结构&#xff1a;请求行&#xff0c;请求头&#xff0c;请求体 文章目录一、请求的curl报文示例二、解析1. 请求行&#xff08;Request Line&#xff09;2. 请求头&#xff08;Request Headers&#xff09;3. 请求体&#xff08;Req…

无人机遥控器舵量技术解析

一、舵量的核心作用1. 精确控制的核心 舵量值&#xff08;通常以PWM微秒值表示&#xff09;量化了操作指令的强度&#xff1a; 小舵量&#xff08;1000μs&#xff09;&#xff1a;对应舵机最小角度或电机最低转速&#xff1b; 中点&#xff08;1500μs&#xff09;&#xf…

Git分支相关命令

在 Git 中&#xff0c;分支管理是非常重要的一部分。下面是一些常用的 Git 分支操作命令及其示例。 1. 查看所有分支 要查看项目中的所有分支&#xff08;包括本地和远程&#xff09;&#xff0c;可以使用&#xff1a; git branch -a仅查看本地分支&#xff1a;git branch2. 创…

Apache Flink 的详细介绍

Apache Flink 是一个开源的分布式流处理框架&#xff0c;专注于高吞吐、低延迟、 Exactly-Once 语义的实时数据处理&#xff0c;同时也支持批处理&#xff08;将批数据视为有限流&#xff09;。它广泛应用于实时数据分析、实时 ETL、监控告警、欺诈检测等场景&#xff0c;是当前…

Qt 常用控件 - 5

Qt 常用控件 - 4https://blog.csdn.net/Small_entreprene/article/details/149830464 前文补充 QRadioButton&#xff08;单选按钮&#xff09; QRadioButton 是单选按钮&#xff0c;允许在多个选项中选择一个。作为 QAbstractButton 和 QWidget 的子类&#xff0c;前面介绍…

vue的响应式原理

Vue.js 的响应式原理是其核心特性之一&#xff0c;使得数据变化能够自动更新到视图。Vue 的响应式系统主要依赖于 Object.defineProperty&#xff08;在 Vue 2.x 中&#xff09;和 Proxy&#xff08;在 Vue 3.x 中&#xff09;来实现数据的观察和更新。以下是对 Vue 响应式原理…

【AI论文】PixNerd:像素神经场扩散

摘要&#xff1a;扩散变换器目前所取得的成功在很大程度上依赖于预训练变分自编码器&#xff08;VAE&#xff09;所塑造的压缩潜在空间。然而&#xff0c;这种两阶段训练模式不可避免地会引入累积误差和解码伪影。为解决上述问题&#xff0c;研究人员选择回归像素空间&#xff…

Java中的LambdaMetafactory:动态生成Lambda的底层黑魔法

引言 在Java 8中&#xff0c;Lambda表达式作为最引人注目的新特性之一被引入。但你是否曾好奇过&#xff0c;这些简洁的Lambda表达式在底层是如何实现的&#xff1f;这就是LambdaMetafactory发挥作用的地方。作为Java语言中一个不太为人所知但极其重要的类&#xff0c;LambdaMe…