楼主: ymc4444
9829 12

如何生成这样的对数正态分布随机数? [推广有奖]

  • 0关注
  • 0粉丝

小学生

7%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
35 点
帖子
6
精华
0
在线时间
2 小时
注册时间
2010-12-5
最后登录
2013-2-1

楼主
ymc4444 发表于 2013-1-31 10:57:58 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币


Reading Time     Mean     S.D        Best fit
                           39.7     324.92    lognormal(mu=-0.49,sigma =2.77)

已知观察样本(网页的阅读时间)服务对参数为mu, sigma 的对数正态分布,观察样本的均值和标准差也已知。如何生成具有相似特征的随机数,即服从参数mu, sigma 的对数正态分布,且有相同均值和标准差。

我用python的自带函数去生成的,为什么和图片上的均值相差很大?
for i in range(1,300):
    time=random.lognormvariate(-0.49,2.77)
    print time

上面的程序只用到mu, sigma ,不知道原样本的均值应该怎么去用,
下面为输出结果的一部分:(很明显阅读时间不可能大部分都是小于1秒的)
1.75328269374
0.0723380795414
0.0472815848666
0.74559464203
2.04803861469
0.255485252902
0.103371094631
0.0166815448926
0.392264333077
0.0931149400892
0.2321816559
3.28333212875
0.0193469559848
0.102299866262
0.516976156449
0.422731089646
8.3209196935
0.096043676364
0.015799178457
0.125326271521
13.8203851024
0.0796164596836
0.853750017449
1.89056679924
9.00534682253
0.364453984539
哪位可以给出一个正确的生成方法?

二维码

扫码加我 拉你入群

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

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

关键词:对数正态分布 正态分布 随机数 lognormal Variate 正态分布 如何

沙发
jingju11 发表于 2013-1-31 11:10:51
为什么?exp(-.49) <1 for sure.京剧

藤椅
answer003wy 发表于 2013-1-31 11:29:59
看看

板凳
ymc4444 发表于 2013-1-31 19:48:09
论文里是-0.49,图片我传不上来,是这个论文里的
J. Lee and M. Gupta. A new traffic model for current user web browsing behavior. In Tech Report, Intel Corporation, Santa Clara [C]. USA: Calif, 2007.

假设不考虑参数的正确性,应该如何生成啊?

报纸
ziyenano 发表于 2013-1-31 20:45:05
data ex;
retain mu -0.49 sig 2.77;
call streaminit(123);
do i=1 to 10000;
x=rand('lognormal');/*SAS只生成服从mu=0 sig=1的对数正态*/
x=x**sig*exp(mu);/*根据对数正态的性质,生成服从mu sig的对数正态随机数*/
output;
end;
keep x;
run;

proc univariate data=ex noprint;
var x;
histogram/lognormal; /*检验是否符合对数正态分布,以及参数估计值*/
run;

地板
ymc4444 发表于 2013-1-31 20:57:54
这样生成的随机数均值会是39.7左右吗?

7
ziyenano 发表于 2013-1-31 21:02:32
ymc4444 发表于 2013-1-31 20:57
这样生成的随机数均值会是39.7左右吗?
你说的是对数正态的均值,
还是对数正态的参数?
lnX~N(mu,sig);
X~lognormal(mu,sig);
是mu=-0.49
还是X的样本均值=-0.49?

8
ymc4444 发表于 2013-1-31 21:10:08

mu=-0.49

样本均值是39.7 ,样本方差是324.92  ,是对网页的浏览时间的一个样本

终于可以上传图片了,我想根据他给的数据,反推出一些样本,可以吗?

9
ziyenano 发表于 2013-1-31 21:38:04
样本越大,样本均值应该越接近于exp(mu+sig^2/2)=28.5
标准差越接近 sqrt(exp(2mu+sig^2)(exp(sig^2)-1))=1316

如果样本数较小,这种波动也是可能的,上面应该是标准差吧,方差不至于这么小

10
ymc4444 发表于 2013-2-1 10:07:00
ziyenano 发表于 2013-1-31 20:45
data ex;
retain mu -0.49 sig 2.77;
call streaminit(123);
我想在matlab是试一下,您的这一句是什么意思?
x=x**sig*exp(mu);/*根据对数正态的性质,生成服从mu sig的对数正态随机数*/
优先级是从左到右依次计算吗?先计算x的sig次方,然后再乘以exp(mu)的结果?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 21:56