随机变量的变量替换——归一化流和直方图规定化的数学基础
变量替换是一种在统计学和数学中广泛应用的技术,它通过定义新的变量来简化问题,使得原本复杂的随机变量变得更加容易分析。
变量替换的公式,用于将一个随机变量 X X X 的概率密度函数 f X f_X fX 转换为其经过函数 g g g 变换后的随机变量 Y = g ( X ) Y=g(X) Y=g(X) 的概率密度函数 f Y f_Y fY。
定理(变量替换公式)
设 X X X 是一个概率密度函数为 f X f_X fX 的连续型随机变量,并设存在一个区间 I ⊂ R I \subset \mathbb{R} I⊂R 使得当 x ∉ I x \not\in I x∈I 时, f X ( x ) = 0 f_X(x)=0 fX(x)=0 (换句话说, X X X 只有在 I I I 中取值时,其概率密度函数才可能不为零,其中 I I I 可以是整个实直线)。设 g : I → R g: I \rightarrow \mathbb{R} g:I→R 是一个可微函数,其反函数是 h h h。除了在有限个点处的导数值可能为零外, g g g 的导数在 I I I 中始终为正或者始终为负。如果令 Y = g ( X ) Y=g(X) Y=g(X),那么通过函数 g g g 我们由随机变量 X X X 的概率密度函数得到随机变量 Y Y Y 的概率密度函数:
f Y ( y ) = f X ( h ( y ) ) ⋅ ∣ h ′ ( y ) ∣ f_Y(y) = f_X(h(y)) \cdot |h'(y)| fY(y)=fX(h(y))⋅∣h′(y)∣
这意味着,如果我们有一个连续型随机变量 X X X,并且我们知道它的概率密度函数 f X ( x ) f_X(x) fX(x),然后我们将 X X X 经过一个可微函数 g g g 变换得到新的随机变量 Y = g ( X ) Y=g(X) Y=g(X),那么 Y Y Y 的概率密度函数 f Y ( y ) f_Y(y) fY(y) 可以通过以下方式计算:
- 找到 g g g 的反函数 h h h,即 h ( y ) h(y) h(y) 满足 g ( h ( y ) ) = y g(h(y))=y g(h(y))=y;
- 计算 h ( y ) h(y) h(y) 的导数 h ′ ( y ) h'(y) h′(y);
- 将 f X ( x ) f_X(x) fX(x) 替换为 f X ( h ( y ) ) f_X(h(y)) fX(h(y)) 并乘以 ∣ h ′ ( y ) ∣ |h'(y)| ∣h′(y)∣ 得到 f Y ( y ) f_Y(y) fY(y)。
这个定理告诉我们如何通过一个“合适”的函数 g g g 将一个连续型随机变量 X X X 的概率密度函数 f X f_X fX 转换成另一个随机变量 Y = g ( X ) Y=g(X) Y=g(X) 的概率密度函数 f Y f_Y fY。
这个定理表明,当我们有一个连续型随机变量 X X X,并知道其概率密度函数 f X f_X fX,如果 g g g 是一个“合适的”函数,那么我们肯定能够求出 Y = g ( X ) Y=g(X) Y=g(X) 的概率密度函数 f Y f_Y fY。这里的“合适”指的是 g g g 必须满足以下条件:
- g g g 是可微的。
- g g g 的反函数 h h h 存在。
- g g g 的导数在 I I I 内部除有限个点外始终为正或始终为负。
这样,我们就可以使用变量替换公式将 X X X 的概率密度函数 f X f_X fX 转换为 Y Y Y 的概率密度函数 f Y f_Y fY,结果包含了 f X f_X fX 和 g g g 的组合式。这个公式告诉了我们这种转换的关系,并指出了哪些 g g g 是“合适的”。
注意,这里提到的 g g g 函数必须是可微的,并且其导数在给定区间内要么始终为正,要么始终为负,这是保证 h h h 存在且唯一的一个必要条件。此外, g g g 的导数在有限个点处可以为零,但在其他地方不能为零,否则 h h h 不会是一个单射函数,也就无法定义反函数。
简而言之,变量替换公式提供了一种方法,让我们能够通过一个可微的映射函数 g g g 把一个随机变量 X X X 的概率密度函数转换为另一个随机变量 Y = g ( X ) Y=g(X) Y=g(X) 的概率密度函数。
这个公式在概率论和统计学中非常重要,因为它允许我们通过简单的函数关系将复杂随机变量的概率密度函数转换成易于分析的形式。例如,在实际问题中,我们可能会遇到难以直接分析的概率密度函数,但是通过变量替换,我们可以将其转换为已知的概率密度函数,从而简化问题。
应用场景
-
概率分布的变换:
- 例如,如果有一个随机变量 X X X 服从某种分布(如正态分布),我们可以通过定义一个新的变量 Y = g ( X ) Y = g(X) Y=g(X) 来得到 Y Y Y 的分布。这在计算某些复杂分布的概率密度函数(PDF)或累积分布函数(CDF)时非常有用。直方图规定化的数学基础。
-
参数估计:
- 在进行参数估计时,有时直接对原始变量进行估计比较困难。通过变量替换,可以将问题转化为更简单的形式,从而更容易地找到合适的估计方法。归一化流的数学基础。
-
最优化问题:
- 在最优化问题中,变量替换可以帮助将非线性问题转化为线性问题,或者将约束条件简化,从而更容易求解。
图中展示的是直方图规定化关于变量替换公式的说明。
禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》
具体步骤
-
定义新变量:
- 假设原始变量为 X X X,定义一个新的变量 Y = g ( X ) Y = g(X) Y=g(X),其中 g g g 是一个适当的函数。
-
确定新变量的分布:
- 如果 X X X 的分布已知,可以通过变换公式推导出 Y Y Y 的分布。例如,如果 X X X 的概率密度函数为 f X ( x ) f_X(x) fX(x),则 Y Y Y 的概率密度函数 f Y ( y ) f_Y(y) fY(y) 可以通过以下公式计算:
f Y ( y ) = f X ( g − 1 ( y ) ) ∣ d d y g − 1 ( y ) ∣ f_Y(y) = f_X(g^{-1}(y)) \left| \frac{d}{dy} g^{-1}(y) \right| fY(y)=fX(g−1(y)) dydg−1(y) - 这里 g − 1 g^{-1} g−1 是 g g g 的逆函数, ∣ d d y g − 1 ( y ) ∣ \left| \frac{d}{dy} g^{-1}(y) \right| dydg−1(y) 是雅可比行列式的绝对值。
- 如果 X X X 的分布已知,可以通过变换公式推导出 Y Y Y 的分布。例如,如果 X X X 的概率密度函数为 f X ( x ) f_X(x) fX(x),则 Y Y Y 的概率密度函数 f Y ( y ) f_Y(y) fY(y) 可以通过以下公式计算:
-
分析新变量:
- 使用新变量 Y Y Y 进行进一步的分析,如计算期望值、方差、概率等。
示例
假设 X X X 服从标准正态分布 N ( 0 , 1 ) N(0, 1) N(0,1),我们定义一个新的变量 Y = X 2 Y = X^2 Y=X2。那么 Y Y Y 的分布可以通过以下步骤推导:
-
定义新变量:
- Y = X 2 Y = X^2 Y=X2
-
确定新变量的分布:
- X X X 的概率密度函数为 f X ( x ) = 1 2 π e − x 2 2 f_X(x) = \frac{1}{\sqrt{2\pi}} e^{-\frac{x^2}{2}} fX(x)=2π1e−2x2
- 由于 Y = X 2 Y = X^2 Y=X2,所以 X = ± Y X = \pm \sqrt{Y} X=±Y
- 雅可比行列式 ∣ d d y y ∣ = 1 2 y \left| \frac{d}{dy} \sqrt{y} \right| = \frac{1}{2\sqrt{y}} dydy =2y1
- 因此, Y Y Y 的概率密度函数为:
f Y ( y ) = f X ( y ) ∣ 1 2 y ∣ + f X ( − y ) ∣ 1 2 y ∣ f_Y(y) = f_X(\sqrt{y}) \left| \frac{1}{2\sqrt{y}} \right| + f_X(-\sqrt{y}) \left| \frac{1}{2\sqrt{y}} \right| fY(y)=fX(y) 2y1 +fX(−y) 2y1
f Y ( y ) = 1 2 π e − y 2 ⋅ 1 2 y + 1 2 π e − y 2 ⋅ 1 2 y f_Y(y) = \frac{1}{\sqrt{2\pi}} e^{-\frac{y}{2}} \cdot \frac{1}{2\sqrt{y}} + \frac{1}{\sqrt{2\pi}} e^{-\frac{y}{2}} \cdot \frac{1}{2\sqrt{y}} fY(y)=2π1e−2y⋅2y1+2π1e−2y⋅2y1
f Y ( y ) = 1 2 π e − y 2 ⋅ 1 y f_Y(y) = \frac{1}{\sqrt{2\pi}} e^{-\frac{y}{2}} \cdot \frac{1}{\sqrt{y}} fY(y)=2π1e−2y⋅y1
f Y ( y ) = 1 2 π y e − y 2 f_Y(y) = \frac{1}{\sqrt{2\pi y}} e^{-\frac{y}{2}} fY(y)=2πy1e−2y
-
分析新变量:
- 通过上述推导,我们可以看到 Y Y Y 服从卡方分布 χ 2 ( 1 ) \chi^2(1) χ2(1)。
相关文章:

随机变量的变量替换——归一化流和直方图规定化的数学基础
变量替换是一种在统计学和数学中广泛应用的技术,它通过定义新的变量来简化问题,使得原本复杂的随机变量变得更加容易分析。 变量替换的公式,用于将一个随机变量 X X X 的概率密度函数 f X f_X fX 转换为其经过函数 g g g 变换后的随机变…...
Java春招面试指南前言
在当今竞争激烈的就业市场中,对于即将踏入职场的Java开发者而言,春招是一次宝贵的机会。本博客专栏旨在为大家提供一份全面且实用的Java春招面试指南,助力大家顺利通过面试,开启职业生涯的新篇章。 无论你是初出茅庐的应届生&…...

【技术洞察】2024科技绘卷:浪潮、突破、未来
涌动与突破 2024年,科技的浪潮汹涌澎湃,人工智能、量子计算、脑机接口等前沿技术如同璀璨星辰,方便了大家的日常生活,也照亮了人类未来的道路。这一年,科技的突破与创新不断刷新着人们对未来的想象。那么回顾2024年的科…...
为AI聊天工具添加一个知识系统 之54 为事务处理 设计 基于DDD的一个 AI操作系统 来处理维度
本文要点 要点 Architecture程序 它被设计为一个双面神结构的控制器,它的两侧一侧编译执行另一侧 解释执行,自已则是一个 翻译器--通过提供两个不同取向之间 的 结构映射的显示器(带 图形用户接口GUI和命令行接口CLI 两种 接口)…...
【数据结构】二分查找
🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…...

读书笔记《网络是怎样连接的》
目录 第一章1.1 生成http请求消息输入网址URL解析URLURL中省略文件名的情况http的基本思路生成HTTP请求消息发送请求后收到响应 1.2 向DNS服务器查询Web服务器的IP地址IP地址的基本知识域名和IP地址并用的理由Socket库提供查询IP地址的功能通过解析器向 DNS 服务器发出查询解析…...
Java 设计模式一
Java 设计模式是软件开发中的一类解决方案,旨在解决常见的设计问题,提升代码的可维护性、可复用性和扩展性。它们通常基于一些经验和最佳实践,提供了解决问题的标准化方法。以下是常见的 Java 设计模式及其概述: 1. 创建型模式 (…...

SOME/IP服务接口
本系列文章将分享我在学习 SOME/IP 过程中积累的一些感悟,并结合 SOME/IP 的理论知识进行讲解。主要内容是对相关知识的梳理,并结合实际代码展示 SOME/IP 的使用,旨在自我复习并与大家交流。文中引用了一些例图,但由于未能找到原作…...
Java 生成 PDF 文档 如此简单
嘿,朋友!在 Java 里实现 PDF 文档生成那可真是个挺有意思的事儿,今儿个就来好好唠唠这个。咱有不少好用的库可以选择,下面就给你详细讲讲其中两个超实用的库,一个是 iText,另一个是 Apache PDFBox。 用 iTe…...

深入探究 YOLOv5:从优势到模型导出全方位解析
一、引言 在计算机视觉领域,目标检测是一项至关重要的任务,它在自动驾驶、安防监控、工业检测等众多领域都有着广泛的应用。而 YOLO(You Only Look Once)系列作为目标检测算法中的佼佼者,一直备受关注。其中ÿ…...

【PoCL】运行 LLVM 中 pass 优化过程详解
PoCL 项目中调用 LLVM 的 Pass 对编译过程的优化至关重要。本博文以PoCL 开源项目源码为例,详细说明【PoCL】运行 LLVM 中 pass 优化过程 目录 0. 个人简介 && 授权须知1. pocl_llvm_run_pocl_passes 函数作用2. 禁止 “小网格 small grid” 工作组(workGroup)特化的…...

如何将使用unsloth微调的模型部署到ollama?
目录 一、将模型保存为gguf格式 二、下载llama.cpp 三、生成 llama-quantize 可执行文件 四、使用llama-quantize 五、训练模型 六、将模型部署到ollama 一、将模型保存为gguf格式 在你的训练代码 trainer.train() 之后添加: model.save_pretrained_gguf(&q…...

【测试】UI自动化测试
长期更新,建议关注收藏点赞! 目录 概论WEB环境搭建Selenium APPAppium 概论 使用工具和代码执行用例。 什么样的项目需要自动化? 需要回归测试、自动化的功能模块需求变更不频繁、项目周期长(功能测试时长:UI自动化测…...
SSM开发(二) MyBatis两种SQL配置方式及其对比
目录 一、MyBatis两种SQL配置方式 二、使用XML映射文件配置SQL语句 三、使用注解配置SQL语句 四、两种方式对比 总结 1、注解 2、XML配置 五、MyBatis多数据源的两种配置方式 参考 一、MyBatis两种SQL配置方式 MyBatis 提供了两种方式来配置SQL语句:注解&a…...

【Redis】在ubuntu上安装Redis
文章目录 提权搜索软件包安装修改配置文件ip保护模式配置密码 重新启动服务器使用 redis 自带的客户端来连接服务器 提权 先切换到 root 用户,su 命令切换到 root. 搜索软件包 使用 apt 命令来搜索 redis 相关的软件包 apt search redis 安装 使用 apt 命令安装 redisapt …...
JS-Web API -day06
一、正则表达式 正则表达式测试工具: http://tool.oschina.net/regex 1.1 正则表达式介绍与语法 正则表达式: 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。通常用来查…...
JS-Web API -day03
一、事件流 1.1 事件流与两个阶段说明 事件流 指的是事件完整执行过程中的流动路径 假设页面有个div标签,当触发事件时,会经历两个阶段,分别是捕获阶段、冒泡阶段 捕获阶段:Document - Element html - Elementbody - Element div…...

进程优先级
基本概念 cpu资源分配的先后顺序,就是指进程的优先权(priority)。 优先权⾼的进程有优先执⾏权利。配置进程优先权对多任务环境的linux很有⽤,可以改善系统性能;还可以把进程运⾏到指定的CPU上,这样⼀来&…...
c语言(转义字符)
前言: 内容: 然后记一下转义字符 \? 在书写连续多个问号时使用,防止他们被解析成三字母词 \ 用于表示字符常量 \\ 用于表示一个反斜杠,防止他被解析为一个转义序列符 \n 换行 \r …...

easyexcel读取写入excel easyexceldemo
1.新建springboot项目 2.添加pom依赖 <name>excel</name> <description>excelspringboot例子</description><parent> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...