Come sull'utilizzo SciPy? È possibile selezionare la distribuzione desiderata da continuous distributions in the scipy.stats library.
La funzione gamma generalizzata ha inclinazione e curtosi diverse da zero, ma è necessario un po 'di lavoro da fare per capire quali parametri utilizzare per specificare la distribuzione per ottenere una media, varianza, inclinazione e curtosi particolari. Ecco un codice per iniziare.
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')
Questo mostra un istogramma di un campione di 10.000 elemento da una distribuzione normale con media 100 e varianza 25, e stampa statistiche della distribuzione:
(array(100.0), array(25.0), array(0.0), array(0.0))
Sostituzione distribuzione normale con la gamma generalizzata distribuzione,
distribution = scipy.stats.gengamma(100, 70, loc=50, scale=10)
si ottiene la statistica [mean, varianza, skew, kurtosis] (array(60.67925117494595), array(0.00023388203873597746), array(-0.09588807605341435), array(-0.028177799805207737))
.
fonte
2013-10-26 09:57:25
Qualsiasi distribuzione normale ha skew 0 e kurtosis 0. Utilizzare una famiglia diversa di distribuzioni. –
Attenzione, esistono diversi modi per definire il calcolo di inclinazione e curtosi. I momenti non sono equivalenti a media, varianza, inclinazione e curtosi, sebbene abbiano lo stesso significato. –
Inoltre, i momenti non specificano una distribuzione univoca. Vedi [questa domanda simile, ma chiedendo di R: http://stackoverflow.com/questions/4807398/how-to-generate-distributions-given-mean-sd-skew-and-kurtosis-in-r –