楼主: levyangel
1367 8

[问答] 问题请教 [推广有奖]

  • 0关注
  • 0粉丝

本科生

33%

还不是VIP/贵宾

-

威望
0
论坛币
245 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1475 点
帖子
55
精华
0
在线时间
86 小时
注册时间
2006-11-23
最后登录
2014-5-5

楼主
levyangel 发表于 2011-10-11 10:15:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好,我的问题
    根据指数分布参数theta的先验分布GAMMA(a,b)随机生成一组theta值,如何从这一组theta值中任取一个生成一组指数分布的数据?
请大家帮忙看看,用R软件怎么做?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Theta gamma 指数分布 我的问题 先验分布 如何 软件

沙发
hugebear 发表于 2011-10-12 21:48:18
先生成一组(例如10个)Gamma随机数:x=rgamma(10,a,b)
随机抽取一个:y=sample(x)
再生成指数随机数(例如10个):rexp(10,y)
已有 2 人评分论坛币 收起 理由
admin_kefu + 100 热心帮助其他会员
yahoocom + 20 热心帮助其他会员

总评分: 论坛币 + 120   查看全部评分

藤椅
shenbaiseshatan 在职认证  发表于 2011-10-13 08:19:58
谢谢楼上,学习了
胜人者有力,自胜者强!

板凳
levyangel 发表于 2011-10-13 08:47:33
hugebear 发表于 2011-10-12 21:48
先生成一组(例如10个)Gamma随机数:x=rgamma(10,a,b)
随机抽取一个:y=sample(x)
再生成指数随机数(例 ...
明白了,谢谢啊。再请教:上面那过程需要重复1000次,怎么做呢

报纸
levyangel 发表于 2011-10-13 09:00:20
高手们,请帮帮忙吧。我需要将那过程重复1000次

地板
hugebear 发表于 2011-10-13 09:39:11
levyangel 发表于 2011-10-13 09:00
高手们,请帮帮忙吧。我需要将那过程重复1000次
那就循环呗,不知道速度怎么样。。。

7
levyangel 发表于 2011-10-13 09:59:55
a.star=rep(1,1000);a.hat=rep(1,1000)
for (i in 1:1000)
{
a=rgamma(100,3.5,1.1)

a.star[i]=sample(a)



x=rexp(10,a.star)

T=sum(x)+10*x[10]

a.hat[i]=13.5/(T+1.1)
}
ER=sum((a.star-a.hat)^2)/1000
ER
我这样循环有问题,帮我看看,而且我要求的ER值应该比较小,麻烦了

8
hugebear 发表于 2011-10-13 12:12:54
levyangel 发表于 2011-10-13 09:59
a.star=rep(1,1000);a.hat=rep(1,1000)
for (i in 1:1000)
{
对不起,我有个地方没说清楚,应该是sample(a,1),1用来指明要随机抽取的size是1,默认的话就会给出一次完整不放回抽样的序列。

9
levyangel 发表于 2011-10-14 09:23:12
哦,问题解决了,太感谢你了,真是大好人

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 19:01