模拟生成高斯随机数序列

模拟和生成高斯随机数序列(服从标准正态分布的随机变量)

Box-Muller 法 & Marsaglia 极坐标法

Box-Muller:使两个独立的均匀分布生成一个高斯分布。

Box-Muller方法的基本思想是利用两个独立的均匀分布随机变量的关系来生成高斯分布的随机数,用于从均匀分布的随机数生成服从标准正态分布的随机数序列:Z_1\sim N(0,1)

以下是Box-Muller转换的步骤:

生成两个独立的均匀分布随机变量: U_1U_2 ,范围在 (0,1) 之间。计算两个标准正态分布的随机变量 Z_0Z_1

\begin{cases}Z_0=\sqrt{-2\mathrm{ln}\left(U_1\right)}\mathrm{cos}\left(2\pi U_2\right)\\Z_1=\sqrt{-2\mathrm{ln}\left(U_1\right)}\mathrm{sin}\left(2\pi U_2\right)&\end{cases}

通过这个过程,可以从两个独立的均匀分布随机变量生成两个服从标准正态分布的随机变量, Z_0Z_1 即为两个服从标准正态分布的随机变量:Z_1\sim N(0,1)\ ,{\ Z}_2\sim N(0,1)

如果需要生成特定均值和标准差的正态分布随机数:X\sim N(\mu,\sigma^2) ,则将生成的标准正态分布随机数进行线性变换:X=\mu+\sigma\cdot Z

Box-Muller转换的优点在于简单易用,并且生成的结果服从标准正态分布,适用于模拟和生成高斯随机数序列。对于Box-Muller转换,Z_0Z_1 的公式是通过将两个独立的均匀分布随机变量 U_1 和 U_2 转换为标准正态分布的,确保它们满足标准正态分布的性质:Z_1\sim N(0,1)\ ,{\ Z}_2\sim N(0,1)

Marsaglia:

生成两个独立的均匀分布随机变量 U_1 和 U_2 ,范围在 (-1,1) 之间。

计算两个均匀分布随机变量的平方和:S=U_1^2+U_2^2

如果 S 不满足 0<S<1,则需要重新生成 U_1 和 U_2 ,直到 S 满足 0<S<1

计算变换后的随机变量:

\begin{cases}Z_0=U_1\sqrt{\frac{-2\text{l}\operatorname{n}(S)}{S}}\\\\Z_1=U_2\sqrt{\frac{-2\text{l}\operatorname{n}(S)}{S}}\end{cases}

这样生成的 Z_0Z_1 也是服从标准正态分布的随机变量。

两者的优缺点:

Box-Muller转换和Marsaglia极坐标法都是生成标准正态分布随机数的常用方法,但它们在不同情况下有不同的优劣势和应用场景。

Box-Muller转换

优点

  1. 简单易懂:算法相对简单,容易理解和实现。
  2. 确定性计算:每次都能生成两个独立的标准正态分布随机数,无需反复试验。

缺点

  1. 对数和三角函数计算开销大:使用了对数和三角函数,这些计算在一些场合可能会比较耗时。

适用场景

  • 学习和教学:因为其简单性,Box-Muller转换常用于教学和学习场合。
  • 对性能要求不高的场合:适合那些对计算速度要求不高的场合,比如一些模拟实验或随机数生成器的简单应用。

Marsaglia极坐标法

优点

  1. 计算效率高:没有对数和三角函数计算,适合对计算效率要求较高的应用场合。
  2. 不需要两个均匀分布随机变量都在 (0,1) 之间:可以使用更广泛的均匀分布随机变量范围。

缺点

  1. 需要反复试验:当生成的 S不在 (0,1) 之间时,需要重新生成随机数,这可能导致额外的计算开销。

适用场景

  • 高性能要求的应用:如大型模拟、实时系统或需要大量标准正态分布随机数的场合。
  • 需要快速生成高质量随机数的应用:如金融模型、科学计算等。

总结

  • Box-Muller转换:适合简单场合,对计算性能要求不高的应用。
  • Marsaglia极坐标法:适合对性能有较高要求的场合,需要生成大量高质量标准正态分布随机数的应用。

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

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

相关文章

宋仕强谈金航标kinghelm

金航标kinghelm宋仕强在介绍自己公司时说&#xff0c;金航标成立于2007年&#xff0c;成立地点在华强北雷圳大厦803室&#xff0c;后搬到华强北广业大厦24楼CD室&#xff0c;后搬迁到龙华展滔科技大厦C座C809和C817室&#xff0c;现在的办公地址为龙岗区坂田街道百瑞达大厦&…

百度智能云将大模型引入网络故障定位的智能运维实践

物理网络中&#xff0c;某个设备发生故障&#xff0c;可能会引起一系列指标异常的告警。如何在短时间内从这些告警信息中找到真正的故障原因&#xff0c;犹如大海捞针&#xff0c;对于运维团队是一件很有挑战的事情。 在长期的物理网络运维工作建设中&#xff0c;百度智能云通…

Pytorch版本、安装和检验

基于conda包的环境创建、激活、管理与删除 目录 CUDA版本 Pytorch版本 Pytorch安装 检验安装 获取torch版本 获取torchvision版本 检验CUDA是否可用 获取CUDA设备的数量 获取CUDA设备ID 获取CUDA设备名称 CUDA版本 CUDA 是 NVIDIA 专为图形处理单元 (GPU) 上的通用计算…

AI Earth——Sentinel-5P大气污染监测可视化应用APP

数据介绍 Sentinel-5P OFFL L3_CH4简介与Notebook示例 该数据集提供Offline的甲烷(Methane, CH4)聚集度高分辨率影像。 CH4是继二氧化碳 (CO2) 之后人为增强温室效应的最重要贡献者。大约四分之三的甲烷排放是由人为造成,因此继续记录基于卫星的测量结果非常重要。Sentine…

免费分享一套SpringBoot+Vue农产品在线销售(在线商城)管理系统【论文+源码+SQL脚本】,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue农产品在线销售(在线商城)管理系统&#xff0c;分享下哈。 项目介绍 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发…

vue+lodop实现web端打印功能

lodop官网下载地址&#xff1a;http://www.c-lodop.com/download.html 1、下载插件&#xff08;如果只是想实现打印功能&#xff0c;下载红框里的即可&#xff09; 2、解压缩&#xff0c;然后根据自己的操作系统安装控件 32位系统安装&#xff1a;install_lodop32.exe&#x…

电脑卡顿反应慢怎么处理?5个方法,让操作更流畅

当你的电脑开始像年迈的蜗牛一样缓慢爬行&#xff0c;每一个点击、每一次滑动都变成了无尽的等待&#xff0c;是不是感到无比沮丧&#xff1f;电脑卡顿反应慢怎么处理呢&#xff1f;别急&#xff0c;这里有5个妙招&#xff0c;能让电脑重新焕发生机&#xff0c;飞驰起来&#x…

【大模型LLM面试合集】大语言模型基础_LLM为什么Decoder only架构

LLM为什么Decoder only架构 为什么现在的LLM都是Decoder only的架构&#xff1f; LLM 是 “Large Language Model” 的简写&#xff0c;目前一般指百亿参数以上的语言模型&#xff0c; 主要面向文本生成任务。跟小尺度模型&#xff08;10亿或以内量级&#xff09;的“百花齐放”…

力扣2356.二维差分模板——子矩阵元素加1

力扣2356.二维差分模板——子矩阵元素加1 模板题 最后将n2*n2的矩阵删去周围一圈变成n*n矩阵的操作 class Solution {public:vector<vector<int>> rangeAddQueries(int n, vector<vector<int>>& queries) {vector<vector<int>> res…

PCB设计中连接位对产品的影响有多大?

PCB设计中的连接位&#xff0c;通常指的是电路板上用于连接电子元件的焊盘或连接点&#xff0c;对最终成品会产生巨大影响。在设计过程中&#xff0c;与PCB制造厂商的沟通至关重要&#xff0c;特别是关于连接位的详细参数和设计规范&#xff0c;与厂商讨论适合连接位的制造工艺…

tensorflow1.x 基础案例1

从一些基础案例中慢慢掌握tensorflow&#xff1a; 1.1 用tensorflow打印“hello&#xff0c;world” 为什么首先学习hello world&#xff1f; 快速熟悉TensorFlow的基本用法和工作流程。"Hello World"不需要复杂的依赖&#xff0c;这有助于快速搭建TensorFlow环境…

为二进制文件添加.gnu_debugdata调试信息

前言 在使用gcc/g编译二进制文件过程中&#xff0c;如果添加了-g参数&#xff0c;编译出来的二进制文件会带有debug信息&#xff0c;供调试使用。但是debug信息往往占用空间很大&#xff0c;导致二进制文件太大&#xff0c;在发布到生产环境时&#xff0c;一般会去掉调试信息&…

【分布式系统】ceph部署(命令+截图巨详细版)

目录 一.存储概述 1.单机存储设备 2.单机存储的问题 3.商业存储 4.分布式存储​编辑 4.1.什么是分布式存储 4.2.分布式存储的类型 二.ceph概述 1.ceph优点 2.ceph架构 3.ceph核心组件 4.OSD存储后端 5.ceph数据存储过程 6.ceph版本发行生命周期 7.ceph集群部署 …

Python爬虫:BeautifulSoup的基本使用方法!

1.简介 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析“标签树”等功能。它是一个工具箱&#xff0c;通过解析文档为用户提供需要抓取的数据&#xff0c;因为简单&#xff0c;所以不需要多少代码就可以写出一个完整的应用程序。 Beautiful Soup…

js字符串文字添加不同颜色,replace的妙用$1...$9

更改字符串第一个数字为红色显示&#xff0c;第二个数字为黄色显示 $1匹配的是正则第一个括号选中的字符串&#xff0c;可以使用正则不断用括号匹配然后更改样式 const testStr "剩余12个名额&#xff0c;截止时间12月25日" testStr this.testStr.replace(/(\d)(\D…

GD32F303之CAN通信

1、CAN时钟 GD32F303主时钟频率最大是120Mhz,然后APB1时钟最大是60Mhz,APB2时钟最大是120Mhz,CAN挂载在APB1总线上面 所以一般CAN的时钟频率是60Mhz,这个频率和后面配置波特率有关 2、GD32F303时钟配置 首先我们知道芯片有几个时钟 HXTAL&#xff1a;高速外部时钟&#xff1…

[图解]SysML和EA建模住宅安全系统-14-黑盒系统规约

1 00:00:02,320 --> 00:00:07,610 接下来&#xff0c;我们看下一步指定黑盒系统需求 2 00:00:08,790 --> 00:00:10,490 就是说&#xff0c;把这个系统 3 00:00:11,880 --> 00:00:15,810 我们的目标系统&#xff0c;ESS&#xff0c;看成黑盒 4 00:00:18,030 --> …

软考:软件设计师 — 2.操作系统

二. 操作系统 1. 操作系统概念 &#xff08;1&#xff09;操作系统的作用 操作系统是计算机硬件之上的第一层软件系统。 操作系统通常用来&#xff1a; 管理系统的硬件、软件、数据资源。控制程序运行。人机之间的接口。应用软件与硬件之间的接口。 可概括为&#xff1a; …

汽车零配件行业看板管理系统应用

生产制造已经走向了精益生产&#xff0c;计算时效产出、物料周转时间等问题&#xff0c;成为每一个制造企业要面临的问题&#xff0c;工厂更需要加快自动化&#xff0c;信息化&#xff0c;数字化的布局和应用。 之前的文章多次讲解了企业MES管理系统&#xff0c;本篇文章就为大…

HybridCLR原理中的重点总结

序言 该文章以一个新手的身份&#xff0c;讲一下自己学习的经过&#xff0c;大家更快的学习HrbirdCLR。 我之前的两个Unity项目中&#xff0c;都使用到了热更新功能&#xff0c;而热更新的技术栈都是用的HybridCLR。 第一个项目本身虽然已经集成好了热更逻辑&#xff08;使用…