24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1452  |  回复: 8

leepace123

新虫 (初入文坛)

[求助] 离散随机变量抽样的方法除了直接抽样法,还有哪些比较好已有2人参与

有一个离散随机变量的概率分布,现在想通过随机数来获得随机变量。最直接的方法就是直接抽样,但是这样的话,需要产生很多的随机数,时间都让费在产生随机数上了。求助高人,哪种抽样方法,抽样次数少,但是精度又比较好。(概率分布如下所述)
  
P=0.1,  x=0;
p=0.1,     x=1;

p=0.8,     x=2;
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

math2000

铁杆木虫 (职业作家)

不明白楼主的意思
现在用计算机很容易产生啊,不知道楼主需要多少个随机数。难道是数以亿计?
2楼2015-06-23 10:51:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leepace123

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by math2000 at 2015-06-23 10:51:16
不明白楼主的意思
现在用计算机很容易产生啊,不知道楼主需要多少个随机数。难道是数以亿计?

举个例子,我产生了一个随机数0.5,那么获得一个随机变量X=2.
产生一系列的随机数,就能获得一系列的随机变量。
问题是,如果我想得到1000000个随机变量,就得使用1000000个随机数啊,这多浪费时间啊。 想问问有没有其他的方法,可以通过比较少的随机数获得比较多的随机变量。
    我曾经看到过匕首抽样法,就是用到的随机数比较少,但是匕首抽样貌似指正对随机变量为0,1
3楼2015-06-23 19:32:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

通过随机数来获得随机变量不复杂;
用[0, 1]随机变量辅助判断即可:
1)[0, 0.1] 之间,定为0;
2)[0.1, 0.2] 之间,定为1;
3)[0.2, 1] 之间,定为2;
4楼2015-06-23 22:01:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leepace123

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by feixiaolin at 2015-06-23 22:01:51
通过随机数来获得随机变量不复杂;
用随机变量辅助判断即可:
1) 之间,定为0;
2) 之间,定为1;
3) 之间,定为2;

你说的是直接抽样法,这种是最简单粗暴的方式。但是计算量是很大的。计算机不停的产生随机数,浪费时间啊。我想找一种更好的方法,用到的随机数少,但是能产生很多的随机变量。我在3楼提到过匕首抽样,但是匕首抽样好像是针对0,1变量的,对于随机变量是0,1,2,3,4,不知该如何操作
5楼2015-06-24 09:36:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

math2000

铁杆木虫 (职业作家)

引用回帖:
3楼: Originally posted by leepace123 at 2015-06-23 19:32:25
举个例子,我产生了一个随机数0.5,那么获得一个随机变量X=2.
产生一系列的随机数,就能获得一系列的随机变量。
问题是,如果我想得到1000000个随机变量,就得使用1000000个随机数啊,这多浪费时间啊。 想问问有 ...

一百万个随机数,对于现在的计算机来说,很快的啊!!
你最后说的是自助抽样法(Bootstrap Method)吧,那是通常在样本少的时候才用!你的问题完全没有必要。直接用计算机产生就可以了。
6楼2015-06-24 10:03:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

leepace123

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by math2000 at 2015-06-24 10:03:58
一百万个随机数,对于现在的计算机来说,很快的啊!!
你最后说的是自助抽样法(Bootstrap Method)吧,那是通常在样本少的时候才用!你的问题完全没有必要。直接用计算机产生就可以了。...

我说的是dagger sampling, 还有就是如果一个事件A发生的概率是0.000001,时间B概率0.000001,事件C概率0.000001,。。。。。。。。事件M的概率0.000001, 直接抽样的话至少得抽样10^11,10^12次,产生这么多的随机数,得浪费多好啊时间啊
7楼2015-06-30 19:19:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

难写啊

新虫 (正式写手)

【答案】应助回帖

楼主先讲清楚什么叫做“通过随机数来获得随机变量” ?
即使是“如果一个事件A发生的概率是0.000001,时间B概率0.000001,事件C概率0.000001,。。。。。。。。事件M的概率0.000001,”要进行抽样,有必要产生足够数量随机数,你说的那么多随机数,PC也能搞定,不是不可行的,10^11,10^12不算多
email:myronsaga1@sohu.com.qq:89260998
8楼2015-07-02 11:11:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

LZ的意思是想采用更高效的抽样方法吧,生成随机数不是目的,利用随机数估计某些量才是真的目的,对吧?
直接生成随机数并估计的方法是Monte Carlo,简单粗暴但效率低下,建议采用高效方法,如重要抽样法等。这方面的论文和专著很多。
知其然,知其所以然。
9楼2015-07-02 12:46:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 leepace123 的主题更新
信息提示
请填处理意见