Nasıl scipy kullanma hakkında:
Oh ve burada orada beni işaret diğer StackOverflow soru? continuous distributions in the scipy.stats library'dan istediğiniz dağıtımı seçebilirsiniz.
Genelleştirilmiş gama işlevi sıfır olmayan eğri ve basıklıklara sahiptir, ancak belirli bir ortalama, varyans, çarpıklık ve basıklık elde etmek için dağılımı belirtmek için hangi parametrelerin kullanılacağını belirlemek için yapacak çok az işiniz olacaktır. İşte başlaman için bir kod. genel gama ile normal dağılım değiştirilmesi
(array(100.0), array(25.0), array(0.0), array(0.0))
Bu ortalama 100 ve varyans 25 ile normal dağılımdan 10.000 elemanı örnek bir histogram görüntüler, ve dağıtımın istatistikleri yazdırır
import scipy.stats
import matplotlib.pyplot as plt
distribution = scipy.stats.norm(loc=100,scale=5)
sample = distribution.rvs(size=10000)
plt.hist(sample)
plt.show()
print distribution.stats('mvsk')
dağıtımı,
distribution = scipy.stats.gengamma(100, 70, loc=50, scale=10)
Eğer istatistik [demek, varyans, çarpıklık, basıklık] olsun
(array(60.67925117494595), array(0.00023388203873597746), array(-0.09588807605341435), array(-0.028177799805207737))
.
Herhangi bir normal dağılım 0 ve basıklık 0 eğrisine sahiptir. Farklı bir dağıtım ailesi kullanın. –
Dikkat edin, çarpıklık ve basıklık hesaplamasını tanımlamanın birkaç yolu vardır. Momentler aynı dürtüye sahip olmalarına rağmen, ortalama, varyans, çarpıklık ve basıklıklara eşdeğer değildir. –
Ayrıca, anlar benzersiz bir dağıtım belirtmez. [Bu benzer soru R: http://stackoverflow.com/questions/4807398/how-to-generate-distributions-given-mean-sd-skew-and-kurtosis-in-r hakkında soru sormak için bkz. –