【问题标题】:Random number in a skew normal distribution (equivalent to NORMINV())偏正态分布中的随机数(相当于 NORMINV())
【发布时间】:2023-03-05 15:55:02
【问题描述】:

我正在尝试使用偏态正态分布创建偏态随机数生成器,但我不知道如何将我的公式(使用 NORMDIST())转换为可以生成基于 NORMINV() 的公式我想要的数字。这是我的公式:

=2/s * NORMDIST((x-m)/s, 0, 1, 0) * NORMSDIST(k*(x-m)/s)

其中“x”是数字,“s”是比例,“m”是位置,“k”是形状。我承认我找到了公式online,但它似乎做了我想做的事,除了错误的方法。

我该怎么做?

【问题讨论】:

  • 我不清楚你到底想达到什么目的。没有人回答,所以我想我不是唯一一个。也许这个mrexcel.com/forum/excel-questions/…
  • Excel 先生链接中的方程式对我有用。就是这个方程 =NORMDIST(D5,B$2,B$1,False)*NORMDIST(D5*ske​​w,B$2,B$1,True)*2 注意第一个函数是概率密度函数(因为 False) ,第二个是第二个是累积密度函数(因为真)注意我只是想在Excel中创建一个倾斜的正态分布,我没有尝试使用任何类型的随机数

标签: excel statistics distribution


【解决方案1】:

Adelchi Azzalini 有一个page,介绍了如何生成具有偏正态 (SN) 分布的伪随机数。这里来自页面:

第 1 步中的 N(0,1) 变量 u0 和 v。可以在 Excel 中计算为NORMINV(RAND(),0,1)。而用形状参数α表示的δ为δ = α/SQRT(1+α*α)

注意:Python 的 SciPy 正在获取倾斜正态随机变量 (scipy.stats.skewnorm),请参阅 SciPy 0.18.0rc2 代码中的 heredocs 引用了 Azzalini 和 Capitanio 的论文以及我在上面引用的同一页。

【讨论】:

    最近更新 更多