NumPy 1.14 - RandomState.multinomial()

numpy.random.RandomState.multinomial




numpy

numpy.random.RandomState.multinomial

RandomState.multinomial(n, pvals, size=None)

एक बहुराष्ट्रीय वितरण से नमूने ड्रा।

बहुराष्ट्रीय वितरण द्विपद वितरण का एक बहुभिन्नरूपी सामान्यीकरण है। p संभावित परिणामों में से एक के साथ एक प्रयोग करें। इस तरह के प्रयोग का एक उदाहरण एक पासा फेंक रहा है, जहां परिणाम 1 से 6 हो सकता है। वितरण से लिया गया प्रत्येक नमूना ऐसे प्रयोगों का प्रतिनिधित्व करता है। इसके मान, X_i = [X_0, X_1, ..., X_p] , उस समय की संख्या का प्रतिनिधित्व करते हैं जिसका परिणाम था।

पैरामीटर:

n : int

प्रयोगों की संख्या।

अंतराल : तैरने का क्रम, लंबाई p

p विभिन्न परिणामों में से प्रत्येक की संभावनाएं। इन्हें 1 के बराबर होना चाहिए (हालांकि, अंतिम तत्व को हमेशा शेष संभावना के लिए माना जाता है, जब तक कि sum(pvals[:-1]) <= 1)

आकार : इंट या टुपल इन्टस, वैकल्पिक

आउटपुट आकार। यदि दी गई आकृति है, जैसे, (m, n, k) , तो m * n * k नमूने खींचे जाते हैं। डिफ़ॉल्ट कोई भी नहीं है, जिस स्थिति में एकल मान लौटाया जाता है।

यह दिखाता है:

बाहर : ndarray

तैयार किए गए नमूने, आकार के आकार के , यदि वह प्रदान किया गया था। यदि नहीं, तो आकृति (N,)

दूसरे शब्दों में, प्रत्येक प्रविष्टि out[i,j,...,:] वितरण से खींचा गया एक एन-आयामी मूल्य है।

उदाहरण

एक पासा 20 बार फेंकें:

>>> np.random.multinomial(20, [1/6.]*6, size=1)
array([[4, 1, 7, 5, 2, 1]])

यह 1 पर 4 बार उतरा, 2 पर एक बार, आदि।

अब, 20 बार पासा फेंकें, और 20 बार फिर:

>>> np.random.multinomial(20, [1/6.]*6, size=2)
array([[3, 4, 3, 3, 4, 3],
       [2, 4, 3, 4, 0, 7]])

पहले रन के लिए, हमने 3 बार 1, 4 बार 2 आदि फेंके। दूसरे के लिए, हमने 2 बार 1, 4 बार 2, आदि फेंके।

एक भरी हुई मृत्यु संख्या 6 पर उतरने की अधिक संभावना है:

>>> np.random.multinomial(100, [1/7.]*5 + [2/7.])
array([11, 16, 14, 17, 16, 26])

संभावना आदानों को सामान्यीकृत किया जाना चाहिए। कार्यान्वयन विवरण के रूप में, अंतिम प्रविष्टि के मूल्य को अनदेखा किया जाता है और किसी भी बचे हुए संभाव्यता द्रव्यमान को लेने के लिए मान लिया जाता है, लेकिन इस पर भरोसा नहीं किया जाना चाहिए। एक पक्षपाती सिक्का जिसका एक तरफ से दुगना वजन होता है, दूसरे पर इसका नमूना होना चाहिए:

>>> np.random.multinomial(100, [1.0 / 3, 2.0 / 3])  # RIGHT
array([38, 62])

उसके जैसा नहीं:

>>> np.random.multinomial(100, [1.0, 2.0])  # WRONG
array([100,   0])