重要采样的原理与实现

news2024/7/6 20:47:17

1. 引言

在雷达系统性能仿真时,由于雷达系统对虚警概率的要求,实现一定精度的仿真,所需要的Monte-Carlo实验次数将非常地高。重要采样可以在保障精度的前提下,大大降低Monte-Carlo实验次数。

网上有很多关于重要采样的原理介绍,但总体感觉过于抽象,很不好理解。有幸检索到钱键民在1984年写的一篇文章,以雷达从业者的角度介绍了重要采样。他的介绍非常的直观,下面就将该论文的内容做一简单的介绍,希望能够帮助到需要有朋友。

2. 雷达虚警概率模拟及模拟精度

雷达的虚警概率是指雷达只接收噪声时却报告存在目标的概率,即目标是虚假的概率。假设目标不存在时的雷达视频信号的概率密度函数为p(y),检测门限为T,则虚警概率为

p_{fa}=\int_T p(y)dy

也就是说,虚警概率是噪声高于检测门限的概率。

模拟雷达系统的虚警概率时,通常是根据概率密度函数p(y)产生一个随机数y,将其与检测门限T进行比较,得到一个新的随机变量

Z_T(y)=\left\{\begin{array}{ll} 1 & y\geqslant T\\ 0 & y <T \end{array}\right.

所以,Z_T(y)的数学期望为

E[Z_T(y)]=p_{fa}

又因为

E[Z_T^2(y)]=p_{fa}

所以,Z_T(y)的方差为

D[Z_T(y)]=p_{fa}-p_{fa}^2\approx p_{fa}

Z_T(y)数学期望的无偏估计为

\hat{p}_{fa}=\frac{1}{N}\sum_{n=1}^NZ_T(y_n)

因此,可以获得估计\hat{p}_{fa}的均值与方差分别为

E[\hat{p}_{fa}]=p_{fa}\\ D[\hat{p}_{fa}]=\frac{1}{N}D[Z_T(y)]=\frac{1}{N}p_{fa}

反映一个估计量优劣的标准有两个:一个是准确度,或称可信度,由估计量的数学期望与真值之间的差值来反映;另一个是精确度,也叫可靠度,由估计量的标准差\sigma来反映,\sigma描述了估计量在其均值附近的散布程度。

对于虚警概率估计\hat{p}_{fa},其是p_{fa}的无偏估计,因此从准确度的角度,该估计量是最佳的。从精确度的角度,通常要求估计量的标准差比被估计量的标准差小一个数量级,即

\frac{\sqrt{D[\hat{p}_{fa}]}}{\sqrt{D[Z_T(y)]}}=10^{-1}

将上式整理可得

N=\frac{10^2}{p_{fa}}

显然,要使模拟精度高出p_{fa}一个数量级,在p_{fa}=10^{-6}时,模拟次数N=10^8

3. 提高模拟精度的途径

设随机变量X的数学期望\mu与方差\sigma^2未知,已经获得该随机变量N个独立样本X_1, X_2, \cdots, X_N,则X数学期望和方差的估计分别为

\bar{X}=\frac{1}{N}\sum_{i=1}^NX_i\\ s^2=\overline{D[X]}=\frac{1}{N-1}\sum_{i=1}^N(X_i-\bar{X})^2

估计量\bar{X}的方差为

D[\bar{X}]=\frac{s^2}{N}

根据切比雪夫(Chebyshev)

P[|\bar{X}-\mu|\leqslant \varepsilon]\geqslant 1-\frac{D[\bar{X}]}{\varepsilon^2}=1-\frac{s^2}{\varepsilon^2 N}

对于给定置信度\alpha,令

\alpha = 1-\frac{s^2}{\varepsilon^2 N}

\varepsilon = \frac{s}{(1-\alpha)\sqrt{N}}

因此Monte-Carlo模拟的准确度是O(\frac{1}{\sqrt{N}}),当n增大时,收敛速度是O(\frac{1}{\sqrt{N}})。另外,降低方差估计s^2,也可以提高准确度\varepsilon

4. 重要采样技术

假设一个随机变量\eta,其服从经过畸变后的密度函数g(\eta)g(\eta)p(y)具有相同的定义域,从而

p_{fa}=\int_Tp(y)dy=\int_T\frac{p(y)}{g(y)}g(y)dy

定义随机变量

Z_T(\eta)=\left\{\begin{matrix} 1 & \eta\geqslant T\\ 0 & \eta< T \end{matrix}\right.

和随机变量函数

\omega(\eta)=\frac{p(\eta)}{g(\eta)}

习惯上称\omega(\eta)为加权函数。利用Z_T(\eta)\omega(\eta)可形成一个新的随机变量

Z(\eta)=Z_T(\eta)\omega(\eta)

其数学期望为

E[Z(\eta)] = \int Z_T(\eta)\omega(\eta)g(\eta)d\eta\\ ~~~~~~~~~~~= \int_T\omega(\eta)g(\eta)d\eta\\ ~~~~~~~~~~~= \int_Tp(\eta)d\eta = p_{fa}

所以可得到p_{fa}的另一种形式的最佳无偏估计

\hat{p}'_{fa}=\frac{1}{N}\sum_{i=1}^NZ(\eta)\\ ~~~~~=\frac{1}{N}\sum_{i=1}^NZ_T(\eta)\omega(\eta)\\ ~~~~~=\frac{1}{N}\sum_{i=1,\eta\geqslant T}^N\omega(\eta)

随机变量Z(\eta)的方差

D[Z(\eta)]=\int [Z(\eta)]^2g(\eta)d\eta-p^2_{fa}\\ ~~~~~~~~~~~=\int [Z_T(\eta)\omega(\eta)]^2g(\eta)d\eta-p^2_{fa}\\ ~~~~~~~~~~~=\int_T\frac{p^2(\eta)}{g(\eta)}d\eta-p^2_{fa}

重要采样技术成败的关键在于如何选取畸变密度函数g(\eta),使方差D[Z(\eta)]尽可能地小。

由于p_{fa}通常是一个很小的量,畸变密度函数g(\eta)的选取要满足:

  1. (T,\infty)的范围内,\omega(\eta)的值尽可能地小,即在此区间g(\eta)要比p(\eta)尽可能地大
  2. 为使实验次数尽可能地少,应该尽量减少失败次数,即概率

P[Z_T(\eta)]=P[\eta\geqslant T]=\int_T g(\eta)d\eta

尽可能地大。

通常畸变密度函数g(\eta)总选择与p(\eta)的函数形式一样,只是其中的参量不同,使得p(\eta)/g(\eta)(T,\infty)上接近一个常量。

重要采样的具体步骤:

  1. 选取畸变概率密度函数g(\eta),产生服从g(\eta)的随机变量\eta
  2. \eta与门限T进行比较,得Z_T(\eta)
  3. 计算\omega(\eta)=p(\eta)/g(\eta),计算\hat{p}'_{fa}

5. 重要采样示例

设随机变量y服从Rayleigh分布,其概率密度函数为

p(y)=\frac{y}{\sigma^2_1}\exp\{-\frac{y^2}{2\sigma^2_1}\}

虚警概率

p_{fa}=\int_Tp(y)dy\\ ~~~~~=\exp\{-\frac{T^2}{2\sigma_1^2}\}

选取畸变概率密度函数

g(y)=\frac{y}{\sigma^2_2}\exp\{-\frac{y^2}{2\sigma^2_2}\}

从而权函数

\omega(y)=\frac{p(y)}{g(y)}=\frac{\sigma_2^2}{\sigma_1^2}\exp\{-\frac{y^2}{2}(\frac{1}{\sigma_1^2}-\frac{1}{\sigma_2^2})\}

产生随机变量\eta\sim g(\eta),与门限T比较得Z_T(\eta),采用重要采样技术后p_{fa}的估值为

\hat{p}'_{fa}=\frac{1}{N}\sum_{i=1}^NZ_T(\eta_i)\omega(\eta_i)

由前面讨论可知,估计是无偏的,即

E[\hat{p}'_{fa}]=p_{fa}

且有

\frac{D[\hat{p}'_{fa}]}{p^2_{fa}}=\frac{1}{N}\left[\frac{\sigma_2^2}{\sigma_1^2}\frac{1}{(2-\sigma_1^2/\sigma_2^2)}\exp\{\frac{T^2}{2\sigma_2^2}\} - 1 \right ]

如果\sigma_2\gg \sigma_1,则近似为

\frac{D[\hat{p}'_{fa}]}{p^2_{fa}}=\frac{1}{N}\left[\frac{\sigma_2^2}{2\sigma_1^2}\exp\{\frac{T^2}{2\sigma_2^2}\} - 1 \right ]

选取适当的\sigma_2,使这一比值(方差相对值)取最小值。只要对\sigma_2求导并令其为零,则可求得

\sigma_2^2=\frac{T^2}{2}\qquad\qquad T^2=2\sigma_2^2

这时

\left\{\frac{D[\hat{p}'_{fa}]}{p^2_{fa}}\right\}_{\min}=\frac{1}{N}\left[\frac{T^2}{4\sigma_1^2}e - 1 \right ]

p_{fa}=10^{-6}时,由

10^{-6}=\exp\{-\frac{T^2}{2\sigma_1^2}\}=\exp\{-\frac{\sigma_2^2}{\sigma_1^2}\}

解得

\sigma_2^2/\sigma_1^2=6\ln10=13.8155 \sigma_2=3.7169\sigma_1

故采用了重要采样技术,在p_{fa}=10^{-6}时,按上述要求选取的\sigma_2,可使方差相对值达到最小,有

\frac{D[\hat{p}'_{fa}]}{p^2_{fa}}=\frac{1}{N}\left[\frac{T^2}{4\sigma_1^2}e - 1 \right ]=\frac{1}{N}(13.8155\frac{e}{2}-1)=\frac{17.777}{N}

p_{fa}=10^{-6}时不用重要采样时的方差相对值(此时的实验次数为N_1

\frac{D[\hat{p}'_{fa}]}{p^2_{fa}}=\frac{p_{fa}/N_1}{p^2_{fa}}=\frac{10^6}{N_1}

相比,要达到同样的精度,有

\frac{N_1}{N}=56251

所以,采用重要采样后,在同样的精度条件下,实验次数可以减少56000多倍。

6. 参考文献 

[1] 钱键民. 雷达虚警概率模拟与重要采样技术. 火控雷达技术. 1984, 40(02): 7-18.

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

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

相关文章

94 # express 兼容老的路由写法

上一节实现了错误处理中间件&#xff0c;这一节来实现兼容老的路由写法 看个 express 的二级路由的例子 const express require("express"); const userRouter require("./routes/userRouter"); const articleRouter require("./routes/articleR…

AIGC: 区块链与数据安全

随着国家将区块链纳入战略发展规划&#xff0c;数字经济蓬勃发展。近年来&#xff0c;数据的流通成为了实体经济赋能的关键&#xff0c;而在这一过程中&#xff0c;区块链技术和数据安全变得至关重要。 中国已经成为全球最大的数据体&#xff0c;每天产生大量数据。数字经济已…

Unity 协程(Coroutine)的原理以及用法

目录 事件函数的执行顺序定义使用yield instruction中的子类 总结 参考链接 &#xff1a;Unity 5分钟基础的了解协程 事件函数的执行顺序 定义 定义&#xff1a;开启一段和主程序异步执行的逻辑异步执行&#xff1a;是指语句在异步执行模式下&#xff0c;各语句执行结束的顺序…

Python异步编程之web框架 异步vs同步 文件IO任务压测对比

主题&#xff1a;比较异步框架和同步框架在文件IO操作的性能差异python版本&#xff1a;python 3.8压测工具&#xff1a;locustweb框架&#xff1a;同步&#xff1a;flask 异步&#xff1a;aiohttp、starlette异步文件模块&#xff1a;aiofiles、anyio.Path请求并发量: 模拟10个…

EPICS sequencer状态机示例

状态机源代码&#xff1a; #define PVSYS "pvsysca" #define LIGHT "{prefix}:light" #define LIGHTON "{prefix}:lightOn" #define LIGHTOFF "{prefix}:lightOff" #define VOLTAGE "{prefix}:voltage" #define LO…

机器人过程自动化(RPA)入门 3. 顺序、流程图和控制流程

到目前为止&#xff0c;我们已经了解了RPA是什么&#xff0c;并且我们已经看到了通过记录任务的活动并运行它来训练UiPath机器人是多么简单。使用记录器的UiPath可以很容易地自动化日常任务。在我们开始自动化复杂的任务之前&#xff0c;让我们学习如何控制从一个到另一个的活动…

【算法分析与设计】算法概述

目录 一、学习要点二、算法的定义三、算法的性质四、程序(Program)五、问题求解(Problem Solving)六、算法的描述七、算法分析的目的八、算法复杂性分析&#xff08;一&#xff09;算法时间复杂性分析&#xff08;二&#xff09;算法渐近复杂性1、渐进上界记号-大O符号2、渐进下…

Prometheus+Grafana监控K8S集群(基于K8S环境部署)

文章目录 一、环境信息二、部署前准备工作三、部署Prometheus监控系统四、部署Node_exporter组件五、部署Kube_state_metrics组件六、部署Grafana可视化平台七、Grafana可视化显示Prometheus收集数据八、Grafana添加监控模板九、拓展 一、环境信息 1、服务器及K8S版本信息&…

现代卷积网络实战系列4:PyTorch从零构建VGGNet训练MNIST数据集

&#x1f308;&#x1f308;&#x1f308;现代卷积网络实战系列 总目录 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 1、MNIST数据集处理、加载、网络初始化、测试函数 2、训练函数、PyTorch构建LeNet网络 3、PyTorch从零构建AlexNet训练MNIST数据…

【7.Vue 利用Heatmap.js 制作自定义热力图】

1.效果 2.背景 需要根据后端检测的设备的数值显示设备周围的清洁度,用户希望用热力图的方式来显示,于是在网上找了资料,发现可以用Heatmap.js来实现。 Heatmap.js 官网:https://www.patrick-wied.at/static/heatmapjs/ 3.引入组件 安装Heatmap.js npm install Heatmap.…

京东(JD)——利用人工智能实现自动零售

京东(JD)是中国最大的在线零售商之一&#xff0c;也是一家以高科技和人工智能物流而闻名的公司&#xff0c;其人工智能物流系统包括无人机交付系统、自动配送快递车以及机器人自动化配送中心。 京东一直致力于将机器人用于尽可能多地实现零售业务的物理自动化。 1.京东的人工智…

Nginx WEB访问与Linux授权约束

看到所有文件的权限都是没有的&#xff0c;即便所有的权限都没有即使nginx做了配置&#xff0c;这些都是正确的。那么在浏览器真正去访问的时候是不能访问的。 [rootjenkins html]# ls -l total 4 drwxr-xr-x 2 root root 23 Sep 16 17:43 dist ---------- 1 root root 33 Sep …

解决百度网盘登录安全验证显示空白页

百度网盘Windows客户端第一次登陆时会让验证身份 不知道什么BUG&#xff0c;有的系统能直接验证&#xff0c;有的系统不能&#xff0c;对于我这种频繁换环境的是真的难受。 试过网上各种方法&#xff0c;什么重启、重装、在IE设置中添加信任站点、清除IE缓存都不行。 但是这些…

nodejs+vue 医院病历管理系统

系统使用权限分别包括管理员、病人和医生&#xff0c;其中管理员拥有着最大的权限&#xff0c;同时管理员的功能模块也是最多的&#xff0c;管理员可以对系统上所有信息进行管理。用户可以修改个人信息&#xff0c;对医院病历信息进行查询&#xff0c;对住院信息进行添加、修改…

手机资讯:华为Mate60 Pro上手体验三天的使用体验

最近华为Mate60 Pro开售的消息引爆了整个数码科技圈&#xff0c;毕竟还没开发布会就直接开售新机&#xff0c;这放在整个手机界都是绝无仅有的&#xff0c;并且华为也官方放出了华为Mate60系列的所有参数配置&#xff0c;但唯独没有公开芯片型号和网络信号类型&#xff0c;不免…

ICCV 2023|Occ2Net,一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法...

本文为大家介绍一篇入选ICCV 2023的论文&#xff0c;《Occ2Net: Robust Image Matching Based on 3D Occupancy Estimation for Occluded Regions》&#xff0c; 一种基于3D 占据估计的有效且稳健的带有遮挡区域的图像匹配方法。 论文链接&#xff1a;https://arxiv.org/abs/23…

SQLyog安装教程

安装完MySQL数据库之后&#xff0c;为了便于我们对数据库的操作&#xff0c;所以安装一个用于数据库可视化的软件SQLyog。以下是安装步骤&#xff1a; 1. 解压之后安装。 选择SQLyog.exe或者SQLyog-11.2.4-0.X86。打开安装包之后&#xff0c;需要改安装路径的该安装路径&…

智慧公厕数字技术实现城市公共厕所智能升级

随着城市化进程的不断加快&#xff0c;城市公共厕所作为一个重要的基础设施&#xff0c;扮演着不可忽视的角色。然而&#xff0c;在现实中&#xff0c;很多城市公共厕所的设施陈旧、管理不善&#xff0c;给人们的生活带来了许多不便。为了解决这一问题&#xff0c;智慧公厕数字…

节省草稿纸的方法

问题描述&#xff1a;平时需要写一些简单的算法&#xff0c;手边没有草稿纸怎么办&#xff1f; 问题解决&#xff1a;可以使用一个QQ截图或者其他截图&#xff0c;然后使用画笔在截图上进行简单写画。在进行网上授课时&#xff0c;也可以常用这种方法。 如下图所示&#xff1…

PriorityQueue如何确定构建的是大根堆还是小根堆

PriorityQueue可以自定义传入的Comparator来比较内部元素的大小&#xff0c;Comparator比较时的返回如下&#xff1a; 如果o1 o2 ,返回0 如果o1 < o2 ,即 o1-o2 < 0 ,则返回负数 如果o1 > o2 ,即 o1-o2 > 0 ,则返回正数 如下是PriorityQueue类中新放入元素时执行的…