2015-09-29 51 views
6

Normal olmayan bir dağılım kullanarak çarpık rasgele sayı üreteci oluşturmaya çalışıyorum ancak formülü nasıl döndüreceğimi bilmiyorum (NORMDIST() kullanıyor) İstediğim rakamları oluşturabilen bir NORMINV() tabanlı formül içine.Eğri bir normal dağılıma rastgele sayı (NORMINV() ile eşdeğer

"x", sayıdır
=2/s * NORMDIST((x-m)/s, 0, 1, 0) * NORMSDIST(k*(x-m)/s) 

, "s" ölçek "m" konumudur ve "k" şekli: Bu benim formülüdür. Ben formülünü online buldum itiraf, ama etrafta yanlış yola dışında yapmak istediğini yapmak gibi görünüyor.

Bunu nasıl yapabilirim?

+1

net değil. Kimse cevap vermiyor, bence ben tek kişi ben değilim. Belki bu http://www.mrexcel.com/forum/excel-questions/477702-generating-skewed-normal-distribution-random-numbers.html? –

+0

Mr Excel bağlantısında denklem benim için çalıştı. Bu denklem = NORMDAĞ (D5, B $ 2, B $ 1, Yanlış) * NORMDAĞ (D5 * eğik, B $ 2, B $ 1, Doğru) * 2 İlk fonksiyonun olasılık yoğunluk fonksiyonu olduğunu (Yanlış nedeniyle) , ikincisi kümülatif yoğunluk işlevidir (True nedeniyle) Not: Sadece Excel'de çarpık normal bir dağılım oluşturmak istediğime dikkat edin, ben herhangi bir rasgele sayı kullanmaya çalışmadım. –

cevap

2

Adelchi Azzalini eğri normal (SN) dağılımına sahip sahte-rasgele sayılar üretmek için nasıl bir page sahiptir. Burada sayfasından:

SN random numbers

N- (0,1) adım 1'de u0 v NORMINV(RAND(),0,1) olarak Excel hesaplanabilir dağılımı özellikleri. Ve şekil parametresi a cinsinden ifade ö δ = α/SQRT(1+α*α) olup.

Not: Python'un scipy bir çarpıklık normal rasgele değişken (scipy.stats.skewnorm) alma sürecinde olduğunu, scipy 0.18.0rc2 kodunda here bakın. docs Azzalini ve Capitanio ve yukarıda atıfta bulunulan aynı sayfada bir kağıt başvurur. Tam olarak başarmak için ne çalışıyorsunuz bana