java 随机数 平均值_从平均值,变异系数生成对数正态分布随机数

结果并不令人惊讶 . 对于具有大峰度的分布,样本方差的预期方差大致为mu4 / N,其中mu4是分布的第4个时刻 . 对于对数正态,mu4指数地取决于参数sigma ^ 2,这意味着对于足够大的sigma值,样本方差将相对于真实方差在整个地方 . 这正是你所观察到的 . 在你的例子中,mu4 / N~(coeffOfVar ^ 8)/ N~50 ^ 8 / 1e6~4e7 .

用于推导样本变量的预期方差 . 见http://mathworld.wolfram.com/SampleVarianceDistribution.html . 下面是一些代码,以更精确的方式说明这些想法 . 注意样本方差的方差和理论预期值的大值,即使coeffOfVar = 5 .

exp.var.of.samp.var

(n-1)*((n-1)*mu4-(n-3)*mu2^2)/n^3

}

mu2.lnorm

(exp(sigma^2)-1)*exp(2*mu+sigma^2)

}

mu4.lnorm

mu2.lnorm(mu,sigma)^2*(exp(4*sigma^2)+2*exp(3*sigma^2)+3*exp(2*sigma^2)-3)

}

exp.var.lnorm.var

exp.var.of.samp.var(n,mu2.lnorm(mu,sigma),mu4.lnorm(mu,sigma))

}

exp.var.norm.var

exp.var.of.samp.var(n,sigma^2,3*sigma^4)

}

coeffOfVar

mean

sigma

mu

n

m

## Get variance of sample variance for lognormal distribution:

var.trial

cat("samp. variance (mean of",m,"trials):",mean(var.trial),"\n")

cat("theor. variance:",mu2.lnorm(mu,sigma),"\n")

cat("variance of the sample var:",var(var.trial),"\n")

cat("expected variance of the sample var:",exp.var.lnorm.var(n,mu,sigma),"\n")

> samp. variance (mean of 10000 trials): 105.7192

> theor. variance: 100

> variance of the sample var: 350997.7

> expected variance of the sample var: 494053.2

## Do this with normal distribution:

var.trial

cat("samp. variance (mean of",m,"trials):",mean(var.trial),"\n")

cat("theor. variance:",sigma^2,"\n")

cat("variance of the sample var:",var(var.trial),"\n")

cat("expected variance of the sample var:",exp.var.norm.var(n,mu,sigma),"\n")

> samp. variance (mean of 10000 trials): 3.257944

> theor. variance: 3.258097

> variance of the sample var: 0.002166131

> expected variance of the sample var: 0.002122826

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值