逆分布函数法生成随机数(指数分布) R语言实现
先说明一下符号:U(0,1)-均匀分布,”~“表示服从xxx分布,F(x),为需要生成的随机数的分布函数,invF(x)表示逆分布函数,那么算法步骤如下:
step 1: 产生 u~U(0,1)
step 2:计算X=invF(u)
那么X就是服从分布函数为F(x)的随机数,一个简单的证明:
证明: P(X<y)=P(invF(u)<y)=P(u<F(y))=F(y); 证毕。
你会感觉好简单啊,对是很简,下面就给出常用的指数分布
首先,指数分布的分布函数:
F(x)=1-exp(-lamda*x);x>0( lamda 为参数)
因此逆分布函数:
invF(x)=-(1/lamda)*ln(1-x);0<x<1
所以随机数数产生过程:
step 1:产生u~U(0,1)
step 2: 计算X=-ln(1-u)
得到随机数

x <- runif(100)
lamda <- 0.1
U <- runif(100)
lamda <- 0.1
X <- -1/lamda * log(U)
hist(X,prob=T,col=gray(0.9),
main="exp from uniform")
curve(dexp(x,lamda),add=T,col="red")
逆分布函数法生成随机数(指数分布) R语言实现的更多相关文章
- R语言手册
在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data analysis and visualization which is built bas ...
- QT生成随机数
QT生成随机数和C语言差距不大,C语言用srand()和rand(),QT是用Qsrand()和qrand(): QT生成随机数的格式是: qsrand(QTime(0,0,0).secsTo(QTi ...
- R语言中文社区历史文章整理(类型篇)
R语言中文社区历史文章整理(类型篇) R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterpl ...
- R语言系列:生成数据
R语言系列:生成数据 (2014-05-04 17:41:57) 转载▼ 标签: r语言 教育 分类: 生物信息 生成规则数据1.使用“:“,如x=1:10,注意该方法既可以递增也可以递减,如y=10 ...
- R语言中的四类统计分布函数
R语言中提供了四类有关统计分布的函数(密度函数,累计分布函数,分位函数,随机数函数).分别在代表该分布的R函数前加上相应前缀获得(d,p,q,r).如: 1)正态分布的函数是norm,命令dnorm( ...
- R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 分箱法在实际案例操作过程中较为常见,能够将一些 ...
- Go 语言控制台输入&生成随机数
Go 语言控制台输入&生成随机数 1. 不同基础类型之间的转化对于不同的基础类型之间的转化,Go 提供了 strconv包.它实现了字符串与其他基本数据类型之间的转化.其中最常用的数值转化函数 ...
- R语言函数总结(转)
R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...
- R语言︱常用统计方法包+机器学习包(名称、简介)
一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考基本的R包已经实现了传统多元统计的很多功能 ...
随机推荐
- 在linux本地下载ftp中的文件
使用wget命令 -r :会在当前目录下生成192.168.30.14文件名 下面的命令就是下载这个ftp目录"/home/ftp/*"下面的所有文件 wget -r ftp:// ...
- hadoop基本认识
还是hadoop专有名词进行说明. Hadoop框架中最核心设计就是:HDFS和MapReduce.还有yarn HDFS提供了海量数据的存储.(分布式文件系统) MapReduce提供了对数据的计算 ...
- echo\awk\sed\tee\curl的使用-shell
echo的使用:http://man.linuxde.net/echo awk的使用:http://man.linuxde.net/awk sed的使用:http://man.linuxde.net/ ...
- HTTP 基础术语
URI 和 URL:URI用于标记一个网络资源,URL则表示这个网络资源的访问地址,详细说明 超文本:普通的一段文字叫做文本,如果给这段文字加上超链接,那么就叫做超文本,HTML 就是超文本标记语言 ...
- CMake添加debug版本后缀
- ssh通过密钥进行连接
sshd服务提供两种安全验证的方法: 基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机. 基于密钥的安全验证:需要在本地生成"密钥对"后将公钥传送至服务端,进行公共密钥的比 ...
- Serlvet学习笔记之一 ——实现servlet的3种方法
1.配置环境,从tomcat的lib下面引入servlet-api.jar包.
- Linux之MySQL
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- SpringMVC配置session过期拦截器,返回登录页面
spring-mvc.xml配置 <mvc:interceptors> <!-- session失效拦截器 --> <mvc:interceptor> <!- ...
- 安装安全狗后,MP4无法播放