2017-01-15 7 views
5

मैं scipy.stats (उदा। मानक) से विभिन्न निरंतर वितरण का उपयोग करता हूं। तो मैं क्या करना होगा अगर मैं पी (जेड < 0.5) लगाना चाहते हैं:पायथन scipy - कस्टम असतत वितरण निर्दिष्ट करें

from scipy.stats import norm 
norm(0, 1).cdf(0.5) # Z~N(0,1) 

वहाँ एक उपकरण (scipy.stats या statsmodels वरना) है कि मैं और एक असतत वितरण का वर्णन करने के लिए उपयोग कर सकते तो गणना CDF है/सीएमएफ आदि पर? मैं स्वयं कोड लिख सकता हूं लेकिन मैं सोच रहा था कि कुछ मौजूद है, उदाहरण के लिए:

पीडीएफ (x) = 1/3 x = 1,2,3 के लिए; अन्य 0

फिर मैं 2 वैक्टर x = [1,2,3], पी = [1/3, 1/3, 1/3] बना सकता हूं और उन्हें लाइब्रेरी कक्षा में इनपुट कर सकता हूं जो तब प्रदान करेगा .cdf() आदि?

उत्तर

4

मुझे लगता है कि आप यहां scipy.stats.rv_discrete देख रहे हैं। docs से:

rv_discrete असतत यादृच्छिक चर के लिए विशिष्ट वितरण कक्षाएं और उदाहरणों के निर्माण के लिए एक आधार वर्ग है। इसका उपयोग पर भी किया जा सकता है, जो अंक और संबंधित संभावनाओं की सूची द्वारा परिभाषित मनमानी वितरण का निर्माण करता है। डॉक्स से

उदाहरण:

from scipy import stats 
xk = np.arange(7) 
pk = (0.1, 0.2, 0.3, 0.1, 0.1, 0.0, 0.2) 
custm = stats.rv_discrete(name='custm', values=(xk, pk)) 

और अपने उदाहरण:

In [1]: import numpy as np 

In [2]: from scipy import stats 

In [3]: custm = stats.rv_discrete(name='custm', values=((1, 2, 3), (1./3, 1./3, 1./3))) 

In [4]: custm.cdf(2.5) 
Out[4]: 0.66666666666666663 
संबंधित मुद्दे