【发布时间】:2014-07-01 07:32:20
【问题描述】:
张文平(Wendy)张points out
SAS RAND function “基本上给出了“标准”分布”。
作者描述了一个有趣的 SAS %rndnmb 宏来从“非标准”分布中生成数据。不幸的是,代码不可用。所以,我敢于自己动手。
如果我正确理解*says y 来自对数正态分布 if
y = exp^(mu + sigma * Z) .
以下公式连接非对数样本值的mean和variance:
mu = ln((mean^2)/(sqrt(variance) + 意思是^2))
和
sigma = sqrt(ln(1 + (variance)/(mean^2))).
如果正确,我的 y 将在
时从对数正态分布中得出
Z 来自标准正态分布 Z,其中 mu' = 0,sigma' = 1。
最后,如果
y = exp^,y 来自 mean 和 variance 的对数正态分布是否正确(ln((mean^2)/(sqrt(variance + mean^2)) + sqrt(ln(1 + (variance)/(mean^2))) * Z)
?
我的 SAS 代码是:/*I use StdDev^2 notation instead of variance here. */DATA nonStLogNorm;nonStLN = exp(1)**(log((mean**2)/(sqrt(StdDev^2 + mean**2)) +
sqrt(log(1 + (StdDev^2)/(mean**2))) * rand('UNIFORM'));RUN;
参考:
Rick Wicklin 的RAND 函数:
http://blogs.sas.com/content/iml/2013/07/10/stop-using-ranuni/
http://blogs.sas.com/content/iml/2011/08/24/how-to-generate-random-numbers-in-sas/
【问题讨论】:
-
问题是我得到了一个数据集(1000 个变量,值在 79.5200 和 79.7120 之间),平均值(79.6137057)接近
mean(81.2243980),但 SD(15.6962440)非常不同(低得多)来自StdDev(0.05536378)。哪里错了?
标签: function macros sas distribution random-sample