2013-10-26 5 views
6

random.gauss (म्यू, सिग्मा)पाइथन में किसी दिए गए माध्य, भिन्नता, स्क्व्यू और कुर्टोसिस के साथ वितरण कैसे उत्पन्न करें?

ऊपर एक समारोह बेतरतीब ढंग से किसी दिए गए मतलब और विचरण के साथ एक सामान्य वितरण से एक नंबर आकर्षित करने के लिए अनुमति देता है। लेकिन हम केवल दो पहले क्षणों से अधिक परिभाषित सामान्य वितरण से मूल्य कैसे आकर्षित कर सकते हैं?

कुछ की तरह:

random.gauss (म्यू, सिग्मा, तिरछा, कुकुदता)

+4

किसी भी सामान्य वितरण में 0 और कुर्टोसिस 0 है। वितरण के एक अलग परिवार का उपयोग करें। –

+1

सावधान रहें, स्काई और कुर्टोसिस की गणना को परिभाषित करने के कई तरीके हैं। क्षण माध्य, भिन्नता, skew, और कुर्टोसिस के बराबर नहीं हैं, हालांकि उनके पास एक ही जिस्ट है। –

+2

इसके अलावा, क्षण एक अद्वितीय वितरण निर्दिष्ट नहीं करते हैं। [यह वही प्रश्न देखें लेकिन आर के बारे में पूछना: http://stackoverflow.com/questions/4807398/how-to-generate- वितरण-given-mean-sd-skew-and-kurtosis-in-r –

उत्तर

1

कोशिश यह उपयोग करने के लिए:

http://statsmodels.sourceforge.net/devel/generated/statsmodels.sandbox.distributions.extras.pdf_mvsk.html#statsmodels.sandbox.distributions.extras.pdf_mvsk

वापसी गाऊसी विस्तारित पीडीएफ फ़ंक्शन 1, 2 पल और स्केव की सूची दी गई और फिशर (अतिरिक्त) कुर्टोसिस।

पैरामीटर: mvsk: म्यू, mc2, तिरछा की सूची, कर्ट

मेरे लिए अच्छा लग रहा है। उस पृष्ठ पर स्रोत का एक लिंक है। Apply kurtosis to a distribution in python

+0

क्या कोई सुविधाजनक है घनत्व की गणना करने के बजाय, इस वितरण से मूल्यों को आकर्षित करने का तरीका? – kuzzooroo

+0

एमसी 2 द्वारा क्या मतलब है? मैं भिन्नता की उम्मीद करता हूं, लेकिन बस यह सुनिश्चित करना चाहता हूं। –

4

के बारे में कैसे scipy का उपयोग कर:

ओह, और यहाँ अन्य StackOverflow सवाल है कि मुझे वहाँ बताया है? आप continuous distributions in the scipy.stats library से इच्छित वितरण चुन सकते हैं।

सामान्यीकृत गामा फ़ंक्शन में गैर-शून्य स्कू और कुर्टोसिस है, लेकिन आपके पास एक विशेष माध्य, भिन्नता, स्क्व्यू और कुर्टोसिस प्राप्त करने के लिए वितरण निर्दिष्ट करने के लिए उपयोग करने के लिए पैरामीटर का उपयोग करने के लिए थोड़ा सा काम होगा। शुरू करने के लिए यहां कुछ कोड दिया गया है।

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') 

यह मतलब 100 और विचरण 25 के साथ एक सामान्य वितरण से एक 10,000 तत्व के नमूने की एक हिस्टोग्राम प्रदर्शित करता है, और वितरण के आंकड़े प्रिंट:

(array(100.0), array(25.0), array(0.0), array(0.0))

सामान्यीकृत गामा के साथ सामान्य वितरण की जगह वितरण,

distribution = scipy.stats.gengamma(100, 70, loc=50, scale=10) 

आपको आंकड़े [माध्य, भिन्नता, स्कू, कुर्टोसिस]मिलते हैं(array(60.67925117494595), array(0.00023388203873597746), array(-0.09588807605341435), array(-0.028177799805207737))

संबंधित मुद्दे