舍选抽样法

2023-05-16

对于一个随机变量X,对其直接进行抽样比较困难时,我们可以选择一个比较容易产生随机数且逼近f很好的一个分布f(y)来对其进行抽样,下面以贝塔分布为例进行舍选抽样

ps:实际上,应该是先找了一个f(y),使得cf(y)的图像范围可以包括p(x)的函数图像,这样我们对p(x)进行随机抽样,位于p(x)内的x保留,位于p(x)外的x舍去,留下的x就是我们需要的p(x)的抽样

 

 

 代码如下:

gx=function(x){
  if(x<=0.8)
    y=3*x
  else if(x>0.8)
    y=12*(1-x)
}#定义gx
be <- function(n){
n<-1000
j<-k<-0#给定j和k的初始值,以便对其进行计数
num<-0
y<-numeric(n)
while(k < n){
    r2<-runif(1)#产生r1服从均匀分布
    j<-j+1
    r1<-runif(1)#从g中产生一个随机数
    if(r1<=0.8){ 
      x<-(0.8*r1)^(1/2)
    }else{
      x<-1-(0.2*(1-r1))^(1/2)
    }#步骤2
    if((12*x^2*(1-x))/gx(x)>r2){#舍选规则
    k<-k + 1
    y[k]<-x
    }
    num<-num+1
   }
    re<-list(y=y,num=num)
    return(re)
}
hist(be(1200)$y, prob = TRUE)
xx = seq(0,1, len=1000) 
yy = 12*xx^2*(1-xx)
lines(xx, yy, col = "red") #验证
re = be(1200)

 还可以对其计算循环次数:

#计算实际循环次数
gx=function(x){
  if(x<=0.8)
    y=3*x
  else if(x>0.8)
    y=12*(1-x)
}#定义gx
  n<-1000
  j<-k<-0#给定j和k的初始值,以便对其进行计数
  y<-numeric(n)
  while(k < n){
    r2<-runif(1)#产生r1服从均匀分布
    j<-j+1
    r1<-runif(1)#从g中产生一个随机数
    if(r1<=0.8){ 
      x<-(0.8*r1)^(1/2)
    }else{
      x<-1-(0.2*(1-r1))^(1/2)
    }#步骤2
    if((12*x^2*(1-x))/gx(x)>r2){#舍选规则
      k<-k + 1
      y[k]<-x
    }
  }
j
算法的舍选效率为1000/j。

参考文献:

(31条消息) R语言-舍选法产生正态分布随机数_Yuan..的博客-CSDN博客_舍选抽样法产生随机数

R语言随机数产生方法 - 知乎 (zhihu.com)

超星-直播课堂 (chaoxing.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

舍选抽样法 的相关文章

  • 常用命令汇总

    tar gz 压缩包 解压 xff1a tar zxvf FileName tar gz 压缩 xff1a tar zcvf FileName tar gz DirName 删除远程分支 span class token function
  • 问题解决:import serial提示 ImportError: No module named serial

    问题 xff1a 在Ubuntu系统中运行python脚本 xff0c 出现如下提示说明pythoh的serial模块没有安装 ImportError No module named serial 解决 网上大部分的解决方法都是安装pyse
  • An Introduction to Deep Learning for the PhysicalLayer

    An Introduction to Deep Learning for the PhysicalLayer I INTRODUCTION 这段主要讲了文章的主要工作 将发射机 通道和接收器作为一个自动编码器 xff0c 对于给定的损失函数
  • 机器学习调制解调器:ML将如何改变我们设计下一代通信系统的方式

    所以 xff0c 我听到你们都在问 xff0c 我们都失业了吗 通信工程师是机器崛起的又一个受害者吗 幸运的是 xff0c 本文中的答案是否定的 但是Nathan Ben和Tim指出了一种新的方式来指定和设计通信系统 xff0c 这可能会永
  • git clone指定分支

    技术背景 Git是代码版本最常用的管理工具 xff0c 此前也写过一篇介绍Git的基本使用的博客 xff0c 而本文介绍一个可能在特定场景下能够用到的功能 直接拉取指定分支的内容 Git Clone 首先看一下如果我们按照常规的操作去拉取一
  • PX4最新版ubuntu编译环境搭建

    PX4最新版ubuntu编译环境搭建 本博客的撰写主要也是博主的自己血泪之路 xff0c 参考了各种博客 xff0c 然而对于我并没有什么卵用 xff0c 简直是成功的都一样 xff0c 不成功的各有各的不同 xff0c 最后在快要放弃而转
  • RTOS滴答Tick设置多少才合适

    本文转载 xff0c 留作笔记 xff0c 如有侵权 xff0c 请联系删除 xff0c 原文链接地址 xff1a 嵌入式开发 RTOS滴答Tick设置多少才合适 xff1f qq com https mp weixin qq com s
  • Darknet-Deep_sort_pytorch 无人机跟踪识别记录

    创建数据集 使用labelme 构造voc数据集格式 转换txt为xml 开始训练 span class token function sudo span span class token function nohup span darkn
  • Docker安装Ubuntu

    local footstep 64 ubuntu ifconfig docker0 flags 61 4163 lt UP BROADCAST RUNNING MULTICAST gt mtu 1500 inet 172 17 0 1 ne
  • MSCKF学习记录

    MSCKF相关资料 1 github参考实现 xff1a daniilidis group msckf mono https github com daniilidis group msckf mono 2 CSND参考博客 xff1a m
  • ARM linux 串口接收

    C语言read函数的使用以及串口初始化的调用 废话不多说 xff0c 直接上代码 xff0c 有疑问可以看我之前的文章 https blog csdn net m0 38053897 article details 108816643 ht
  • 设计模式--状态模式(C语言实现)

    原创 亚索老哥 embed linux share 模式动机 状态模式 状态机 是嵌入式开发中最重要 最核心的设计模式之一 xff0c 毫不夸张的说 xff0c 是否熟练掌握状态模式 xff0c 很大程度上直接决定了嵌入式工程师的代码掌控能
  • 张正友相机标定 及 一文讲透鱼眼相机畸变矫正,及目标检测项目应用

    参考链接 xff1a 相机标定 张正友标定法 一文讲透鱼眼相机畸变矫正 xff0c 及目标检测项目应用
  • select在ios中选项空白

    出现这个问题是因为粗心吧 解决了好久 最后发现是个笑话 lt select name 61 span class hljs string 34 34 span id 61 span class hljs string 34 34 span
  • RTOS中消息、信号量、互斥量、事件使用区别(类比理解)

    RTOS中消息 信号量 互斥量 事件使用区别 xff08 类比理解 xff09 注 xff1a 本文仅代表本人学习中的理解 xff0c 未必正确 xff0c 欢迎指正 xff01 1 消息 1 1 对FreeRTOS 就像往火车上装货卸货
  • PuTTY/Xshell连接远程服务器提示connection time out的解决方案

    刚注册一台云服务器时 xff0c 想使用PuTTY Xshell来在本地远程连接服务器 xff0c 发现会出现以下错误提示 xff1a Network error Connection time out 对于新注册的云服务器 xff0c 什
  • Ubuntu编译环境配置

    1 升级gcc sudo apt get update sudo apt get install software properties common sudo apt get install gcc 5 g 43 5 sudo apt g
  • 多传感器融合的四种经典结构

    人一生的成长过程中 xff0c 也不总是只有一种必然性 xff0c 很多时候 xff0c 人生需要选择 请选择有尊严的活着 xff0c 告别卑微 xff01 转一篇信息融合的结构概述 xff1a 多传感器信息融合的结构模型一般有四种基本形式

随机推荐

  • 认识Make、Makefile、CMake和CMakeLists

    一 Make 在 认识编译器和C C 43 43 编译 一文中介绍过 xff0c 一个 c cpp 文件从源文件到目标文件的过程叫做编译 xff0c 但是一个项目中不可能只存在一个文件 xff0c 这就涉及到多个文件的编译问题 xff0c
  • 卡尔曼滤波基础---MATLAB

    Karl Gauss xff08 1795年 xff09 行星轨道测量 最小二乘估计法 Norbert Wiener xff08 1942年 xff09 火力控制系统精确跟踪 Wiener Kolmogorov滤波 Rudolf Kalma
  • 位姿估计 -- PPF算法的OpenCV实现

    给出cpp代码 xff0c 复制粘贴改一下文件路径记得 1 pose cpp span class token comment span span class token comment Created by yaohua on 2020
  • 针对ROS配置VScode开发环境(catkin_make 或 catkin build)

    针对ROS配置VScode开发环境 xff08 catkin make 或 catkin build xff09 使用catkin make ubuntu 18的vscode配置ros开发环境 xff1a catkin make span
  • 电脑双系统即在windows系统与Linux系统中如何设置默认启动系统

    来源 xff08 https www bilibili com read cv5277001 xff09
  • Ubuntu添加/删除PPA源

    一 PPA介绍 PPA xff08 Personal Package Archives xff0c 个人软件包文档 xff09 xff0c 是Ubuntu Launchpad网站提供的一项源服务 xff0c 允许个人用户上传软件源代码 xf
  • 操作系统之进程概念及其组成

    一 进程 在多道程序环境下 xff0c 允许多个程序并发执行 xff0c 此时它们将失去封闭性 xff0c 并具有间断性及不可 再现性的特征 为此引入了进程 Prnccss 的概念 xff0c 以便更好地描述和控制程序的并发执行 xff0c
  • GTSAM中imu预积分及其因子图优化过程

    前言 使用IMU和llidar或者相机进行多传感器融合的slam方案中 xff0c 主要分为紧耦合和松耦合方案 目前 xff0c 主流的方案都是紧耦合的 而紧耦合方案中主要分为基于滤波 xff08 比如 xff0c ESKF xff09 和
  • Python 学习笔记 模块 & 目录遍历 & 包

    一 模块 xff1a 1 概述 xff1a 为了解决维护问题 xff0c 一般情况下 xff0c 在一个完整的项目中 xff0c 会将特定的功能分组 xff0c 分别放到不同的文件中 xff0c 在使用的过程中 xff0c 可以单独维护 x
  • realsense-ros环境配置

    项目场景 xff1a 相机型号RealsenseD435i 环境 xff1a ubuntu1604 xff0c 内核4 15 0 126 generic uname r可查看内核 参考链接 xff1a https github com In
  • realsense相机SDK——librealsense使用方法及bug解决(ubuntu)

    realsense环境配置参考https blog csdn net m0 43436602 article details 110930512 一 librealsense在哪里 xff1f 安装完环境之后 xff0c 可以去根目录下搜一
  • uCOS消息队列相关函数的理解

    OSQCreate xff1a 创建消息队列函数 有四个入口参数 xff1a 消息队列指针 xff1b 消息队列名称 xff1b 消息队列大小 xff08 不能为0 xff09 xff1b 返回错误类型 函数过程 xff1a 首先进行安全检
  • uCOS任务信号量相关函数代码理解

    强调任务信号量思想 xff1a 任务信号量只是一个标志 xff0c 获取成功就是指把信号量计数值减1 xff1b 释放就是指把信号量计数值加1 xff08 溢出则计数值不变 xff09 获取信号量需要判断信号量是否可用 xff08 大于0
  • (二)灰度图像二值化

    灰度图像二值化 一 知识简介 图像二值化 xff08 Image Binarization xff09 就是将图像上的像素点的灰度值设置为0或255 xff0c 也就是将整个图像呈现出明显的黑白效果的过程 在数字图像处理中 xff0c 二值
  • Modbus RS485 设备的串口调试

    Modbus RS485 设备的串口调试 准备Modbus功能码二 使用步骤1 接线2 串口调试 温湿度的计算 准备 硬件设备 xff1a 电脑 RS485 温湿度传感器 RS485 土壤温湿度传感器 RS485 继电器控制模块 TTL转R
  • Linux为什么区分内核空间和用户空间

    程序如果要被CPU执行 xff0c 就得编译成CPU可以执行的指令 xff0c 一大堆的程序就变成了一堆的指令 一个操作系统它也是一堆程序组成的 xff0c 可以想象CPU的指令是很多的 xff0c 但是这么多的指令中 xff0c 有些指令
  • 【Docker】镜像的保存(save)到文件 与 加载(load)到宿主机

    背景 xff1a 我们制作好的镜像会存储在宿主机上 xff0c 那么在迁移的过程中 xff0c 我们应该如何 保存自定义的镜像到宿文件 或 加载自定义的镜像到宿主机呢 xff1f 制作镜像 xff1a docker build t 镜像名
  • 手把手教你学会闭包

    前言 MDN对闭包的解释是这样的 xff1a 一个函数和对其周围状态 xff08 lexical environment xff0c 词法环境 xff09 的引用捆绑在一起 xff08 或者说函数被引用包围 xff09 xff0c 这样的组
  • 从高考到程序员:选择专业三要素:擅长、喜欢、有价值

    参与从高考到程序员征文 xff1a http blog csdn net blogdevteam article details 72917467 从高考到程序员 xff1a 选择专业三要素 xff1a 擅长 喜欢 有价值 选择工作三要素
  • 舍选抽样法

    对于一个随机变量X xff0c 对其直接进行抽样比较困难时 xff0c 我们可以选择一个比较容易产生随机数且逼近f很好的一个分布f y 来对其进行抽样 xff0c 下面以贝塔分布为例进行舍选抽样 ps 实际上 应该是先找了一个f y 使得c