2015-09-29 14 views
6

スキュー正規分布を使ってスキュー乱数ジェネレータを作成しようとしていますが、式(これはNORMDIST()を使用しています)私が望む数字を生成できるNORMINV()ベースの式に変換します。これは私の式である:スキュー正規分布の乱数(NORMINV()に相当)

「x」は数ある
=2/s * NORMDIST((x-m)/s, 0, 1, 0) * NORMSDIST(k*(x-m)/s) 

、「S」は、スケールは「m」は位置であり、「k」は形状です。私は式onlineを見つけたと認めますが、間違った方法を除いて、私がやりたいことをするようです。

どうすればいいですか?

+1

私はあなたが達成しようとしていることを明確にしていません。誰も答えないので、私は唯一ではないと思う。たぶんこれはhttp://www.mrexcel.com/forum/excel-questions/477702-generating-skewed-normal-distribution-random-numbers.htmlですか? –

+0

Mr Excelリンクの方程式が私のために働いた。 * NORMDIST(D5 *スキュー、B $ 2、B $ 1、True)* 2最初の関数は(Falseのために)確率密度関数であることに注意してください。 2番目は累積密度関数です(Trueのため)2番目はExcelで歪んだ正規分布を作成したかっただけで、任意の種類の乱数を使用しようとしていなかったことに注意してください –

答えて

2

Adelchi Azzaliniは、スキューノーマル(SN)分布の疑似乱数の生成方法についてはpageです。ここでページから:

SN random numbers

N(0,1)ステップ1 U0及びvはNORMINV(RAND(),0,1)としてExcelで計算することができる変量。形状パラメータαで表されるδはδ = α/SQRT(1+α*α)である。

注:PythonのSciPyは、SciPy 0.18.0rc2コードのhereを参照して、スキューノーマル確率変数(scipy.stats.skewnorm)を取得しています。 docsはAzzaliniとCapitanioの論文を参照しています。

関連する問題