如何使用2个百分位数计算对数正态分布的均值和标准差


11

我正在尝试从2个百分位数计算对数正态分布的均值和标准差。

我成功地使用X = mean + sd * Z均值和标准差并求解了正态分布的计算。

当我尝试对数正态分布做同样的事情时,我想我错过了一个方程。我看了一下维基百科并尝试使用,ln(X) = mean + sd * Z但在这种情况下,均值和标准差是用于正态分布还是对数正态,我感到困惑。

我应该使用哪些方程式?我需要超过2个百分点来解决计算问题吗?


欢迎来到@ Jean-Francois网站。请注意,如果您需要R编程帮助,那么CV可能就没有这个问题了(请参阅我们的帮助页面)。我认为这具有足够的统计内容,可以在这里进行讨论,但是它接近边界。如果您可以采用软件中立的方式来编写它,可能会有所帮助,并且可能需要准备解决统计问题但不是R特定的答案。
gung-恢复莫妮卡

我将重新制定。我试图用R来解决它,但是我想这里缺少一个基本概念,这就是为什么我没有得到我期望的结果。
JF 2013年

Answers:


12

看来您“知道”或假设您有两个分位数。说您有42和666是对数正态的10%和90%点。

关键在于,几乎所有事情在记录下来的(正常)规模上都更易于执行和理解。求幂的次数越少越好。

我以在累积概率标度上对称放置的分位数为例。然后,对数标度上的平均值介于它们之间的一半,并且可以使用正常分位数函数估算对数标度上的标准偏差(sd)。

我将Stata中的Mata用于这些样本计算。反斜杠以\列方式连接元素。

mean = mean(ln((42 \ 666)))

(ln(666) - mean) / invnormal(0.9)
1.078232092

SD = (ln(666) - mean) / invnormal(0.9)

则指数级的平均值为

exp(mean + SD^2/2)
299.0981759

而方差则留作练习。

(此外:在其他任何不错的软件中,它应该一样容易或更容易。如果我没记错的话,invnormal()它只是qnorm()在R中。)


非常感谢尼克。当您回到基础时,要简单得多。我所做的唯一更改是在您的最后一行上exp(mean + SD^2);我将其更改为exp(mean + (SD^2)/2)
JF 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.