एक्सेल में बीटा वितरण के बराबर पायथन क्या है? एक्सेल में, सूत्र है:

=BETA.DIST(A2,A3,A4,FALSE,A5,A6).

यह दिए गए मापदंडों के लिए बीटा संभाव्यता घनत्व फ़ंक्शन देता है, और हमें परिणाम कुछ दशमलव मान के रूप में मिलता है।

लेकिन पायथन साइपी संदर्भ नहीं देता फ़ंक्शन पैरामीटर और इसकी परिभाषा एक्सेल के समान रूप में।

मुझे यह नहीं मिल रहा है कि इसे SciPy में कैसे करें और पैरामीटर को सही तरीके से पास करें।

3
suraj 3 अप्रैल 2017, 16:01

2 जवाब

जैसा कि आप यहां देख सकते हैं, इसकी प्रायिकता scipy में बीटा वितरण के घनत्व फ़ंक्शन में एक्सेल के समान तीन पैरामीटर हैं (एक्सेल डॉक्स)।

ALPHA a के बराबर है और वितरण के एक पैरामीटर का प्रतिनिधित्व करता है।

BETA b के बराबर है और वितरण के एक पैरामीटर का प्रतिनिधित्व करता है।

X x के बराबर है और वह मान जिस पर वितरण का मूल्यांकन किया जाना चाहिए।

एक्सेल में मौसम या नहीं Cumulativ पैरामीटर ट्रू है जिसे scipy में विभिन्न कार्यों को कॉल करके दर्शाया जाता है। यदि आप संचयी वितरण (Cumulativ = True) चाहते हैं तो आप केवल myBeta.cdf(<myParams>) को कॉल करें, यदि आप संभाव्यता घनत्व फ़ंक्शन (Cumulativ = False) चाहते हैं तो आप myBeta.pdf(<myParams>) को कॉल करें। इसका मत:

BETA.DIST(X,Alpha,Beta,TRUE) <=>
scipy.stats.beta.cdf(x,a,b)

तथा

BETA.DIST(X,Alpha,Beta,FALSE) <=>
scipy.stats.beta.pdf(x,a,b) 
4
Chris 3 अप्रैल 2017, 16:37

एक्सेल BETA.DIST सिग्नेचर के साथ फंक्शन के लिए

BETA.DIST(x,alpha,beta,cumulative,[A],[B])

cumulative = FALSE के साथ, scipy.stats.beta.pdf फ़ंक्शन का उपयोग इस प्रकार करें:

from scipy import stats
p = stats.beta.pdf(x, alpha, beta, loc=A, scale=B-A)

दूसरे शब्दों में, loc को समर्थन अंतराल [A, B] की निचली सीमा के रूप में सेट करें, और scale को अंतराल की लंबाई पर सेट करें।

उदाहरण के लिए, दस्तावेज़ीकरण BETA.DIST में उदाहरण शामिल है

=BETA.DIST(A2,A3,A4,FALSE,A5,A6)

जहां A2=2, A3=8, A4=10, A5=1 और A6=3। फ़ंक्शन का मान 1.4837646 बताया गया है। scipy का उपयोग करते हुए संगत व्यंजक है:

In [59]: from scipy import stats

In [60]: x = 2

In [61]: alpha = 8

In [62]: beta = 10

In [63]: a = 1

In [64]: b = 3

In [65]: stats.beta.pdf(x, alpha, beta, loc=a, scale=b-a)
Out[65]: 1.4837646484375009

मामले के लिए cumulative=TRUE, फ़ंक्शन scipy.stats.beta.cdf का उपयोग करें। ऊपर दिया गया वही उदाहरण पीडीएफ के मूल्य को 0.6854706 बताता है। यहाँ scipy का उपयोग करके गणना की गई है:

In [66]: stats.beta.cdf(x, alpha, beta, loc=a, scale=b-a)
Out[66]: 0.6854705810546875
0
Warren Weckesser 4 अप्रैल 2017, 01:25