NumPy 1.14 - numpy.histogram()

numpy.histogram




numpy

numpy.histogram

numpy.histogram(a, bins=10, range=None, normed=False, weights=None, density=None) [source]

डेटा के एक सेट के हिस्टोग्राम की गणना करें।

पैरामीटर:

a : array_like

इनपुट डेटा। हिस्टोग्राम को चपटा सरणी पर गणना की जाती है।

डिब्बे : स्कार या इंट या अनुक्रम, वैकल्पिक

यदि bins एक इंट है, तो यह दी गई सीमा (10, डिफ़ॉल्ट रूप से) में समान-चौड़ाई वाले डिब्बे की संख्या को परिभाषित करता है। यदि bins एक अनुक्रम है, तो यह बिन किनारों को परिभाषित करता है, जिसमें सबसे दाहिने किनारे भी शामिल है, गैर-समान बिन चौड़ाई के लिए अनुमति देता है।

संस्करण 1.11.0 में नया।

यदि bins नीचे दी गई सूची में से एक स्ट्रिंग है, तो histogram अनुरोधित सीमा के भीतर आने वाले डेटा से इष्टतम बिन चौड़ाई और इसके परिणामस्वरूप डिब्बे की संख्या (अनुमानकों पर अधिक विवरण के लिए Notes देखें) Notes गणना के लिए चुनी गई विधि का उपयोग करेगा। जबकि सीमा में वास्तविक डेटा के लिए बिन की चौड़ाई इष्टतम होगी, पूरे भाग को भरने के लिए डिब्बे की संख्या की गणना की जाएगी, जिसमें खाली भाग भी शामिल हैं। विज़ुअलाइज़ेशन के लिए, 'ऑटो' विकल्प का उपयोग करने का सुझाव दिया गया है। स्वचालित बिन आकार चयन के लिए भारित डेटा समर्थित नहीं है।

'ऑटो'

अधिकतम 'स्टर्गेस' और 'एफडी' अनुमानक। प्रदर्शन के चारों ओर अच्छा प्रदान करता है।

'fd' (फ्रीडमैन डायकोनिस एस्टिमेटर)

रोबस्ट (आउटलेयर के लिए लचीला) अनुमानक जो डेटा परिवर्तनशीलता और डेटा आकार को ध्यान में रखता है।

'Doane'

नॉर्मल डेटासेट के साथ बेहतर तरीके से काम करने वाले स्टार्स के अनुमानक का बेहतर संस्करण।

'स्कॉट'

कम मजबूत अनुमानक जो डेटा परिवर्तनशीलता और डेटा आकार को ध्यान में रखता है।

'चावल'

अनुमानक केवल डेटा आकार में परिवर्तनशीलता को ध्यान में नहीं रखता है। आमतौर पर आवश्यक डिब्बे की संख्या को कम कर देता है।

'Sturges'

R की डिफ़ॉल्ट विधि, केवल डेटा आकार के लिए है। गाऊसी डेटा के लिए केवल इष्टतम और बड़े गैर-गाऊसी डेटासेट के लिए डिब्बे की संख्या को कम करके आंका।

'Sqrt'

स्क्वायर रूट (डेटा के आकार का) अनुमानक, इसकी गति और सरलता के लिए एक्सेल और अन्य कार्यक्रमों द्वारा उपयोग किया जाता है।

रेंज : (फ्लोट, फ्लोट), वैकल्पिक

डिब्बे की निचली और ऊपरी सीमा। यदि प्रदान नहीं किया गया है, तो सीमा बस है (a.min(), a.max()) । सीमा के बाहर के मूल्यों की अनदेखी की जाती है। सीमा का पहला तत्व दूसरे से कम या उसके बराबर होना चाहिए। range स्वचालित बिन संगणना को भी प्रभावित करती है। जबकि बिन चौड़ाई की गणना range भीतर वास्तविक डेटा के आधार पर इष्टतम होने के लिए की जाती है, बिन गिनती में कोई डेटा वाले भागों सहित पूरी रेंज भर जाएगी।

आदर्श : बूल, वैकल्पिक

भ्रामक / छोटी गाड़ी के व्यवहार के कारण यह कीवर्ड NumPy 1.6.0 में पदावनत है। इसे NumPy 2.0.0 में हटा दिया जाएगा। इसके बजाय density कीवर्ड का उपयोग करें। यदि False , तो परिणाम में प्रत्येक बिन में नमूनों की संख्या होगी। यदि True , तो परिणाम बिन पर प्रायिकता घनत्व फ़ंक्शन का मान है, जिसे सामान्यीकृत किया गया है, जो सीमा पर अभिन्न है। 1. ध्यान दें कि इस बाद के व्यवहार को असमान बिन चौड़ाई के साथ छोटी गाड़ी के रूप में जाना जाता है; इसके बजाय density उपयोग करें।

वजन : array_like, वैकल्पिक

वजन की एक सरणी, a रूप में a ही आकार की। a ही मूल्य में बिन संख्या (1 के बजाय) के प्रति अपने संबद्ध वजन का योगदान होता है। यदि density सही है, तो वज़न सामान्यीकृत हो जाता है, ताकि सीमा पर घनत्व का अभिन्न अंग 1 बना रहे।

घनत्व : बूल, वैकल्पिक

यदि False , तो परिणाम में प्रत्येक बिन में नमूनों की संख्या होगी। यदि True , तो परिणाम बिन पर संभाव्यता घनत्व फ़ंक्शन का मान है, सामान्यीकृत इस तरह कि सीमा पर अभिन्न 1. है। ध्यान दें कि हिस्टोग्राम मूल्यों का योग 1 के बराबर नहीं होगा जब तक कि एकता चौड़ाई के डिब्बे नहीं चुने जाते; यह प्रायिकता नहीं है।

यदि दिए गए normed ओवरराइड करता है।

यह दिखाता है:

हिस्ट : सरणी

हिस्टोग्राम के मूल्य। संभावित शब्दार्थों के विवरण के लिए density और weights देखें।

bin_edges : dtype float की सरणी

बिन किनारों (length(hist)+1) लौटें।

यह भी देखें

histogramdd , bincount , searchsorted , digitize

टिप्पणियाँ

सभी लेकिन अंतिम (दाहिना-सबसे) बिन आधा खुला है। दूसरे शब्दों में, यदि bins :

[1, 2, 3, 4]

फिर पहला बिन [1, 2) (1 सहित, लेकिन 2 को छोड़कर) और दूसरा [2, 3) । हालांकि, अंतिम बिन, [3, 4] , जिसमें 4 शामिल हैं

संस्करण 1.11.0 में नया।

डिब्बे की इष्टतम संख्या का अनुमान लगाने के तरीके साहित्य में अच्छी तरह से स्थापित किए गए हैं, और उन विकल्पों से प्रेरित हैं जिन्हें आर हिस्टोग्राम विज़ुअलाइज़ेशन के लिए प्रदान करता है। ध्यान दें कि डिब्बे की संख्या आनुपातिक है n ^ {1/3} asymptotically इष्टतम है, यही वजह है कि यह अधिकांश अनुमानकों में दिखाई देता है। ये बस प्लग-इन तरीके हैं जो डिब्बे की संख्या के लिए अच्छे शुरुआती बिंदु देते हैं। नीचे समीकरणों में, ज बैंडविड्थ है और n_h डिब्बे की संख्या है। सभी आकलनकर्ता जो बिन काउंट की गणना करते हैं, वे डेटा के ptp का उपयोग करते हुए बिन चौड़ाई में आ ptp । अंतिम बिन गणना `` np.round (np.ceil (रेंज / h)) `से प्राप्त की जाती है।

'ऑटो' (अधिकतम 'स्टर्ज' और 'एफडी' अनुमानक)
एक अच्छा मूल्य प्राप्त करने के लिए समझौता। छोटे डेटासेट के लिए स्टर्ज वैल्यू आमतौर पर चुनी जाएगी, जबकि बड़े डेटासेट आमतौर पर एफडी के लिए डिफ़ॉल्ट होंगे। क्रमशः छोटे और बड़े डेटासेट के लिए FD और स्टर्ज के अत्यधिक रूढ़िवादी व्यवहार से बचा जाता है। स्विचओवर बिंदु आमतौर पर है a.size \ लगभग 1000
'एफडी' (फ्रीडमैन डायकोनिस एस्टिमेटर)

h = 2 \ frac {IQR} {n ^ {1/3}}

द्विपद, इंटरकार्टाइल रेंज (IQR) के आनुपातिक है और विपरीत आकार के घनमूल के व्युत्क्रमानुपाती है। छोटे डेटासेट के लिए बहुत रूढ़िवादी हो सकता है, लेकिन बड़े डेटासेट के लिए काफी अच्छा है। IQR आउटलेर्स के लिए बहुत मजबूत है।

'स्कॉट'

h = \ sigma \ sqrt [3] {\ frac {२४ * \ sqrt {\ pi}} {n}}

द्विपद डेटा के मानक विचलन के समानुपाती होता है और x.size घनमूल के व्युत्क्रमानुपाती होता है। छोटे डेटासेट के लिए बहुत रूढ़िवादी हो सकता है, लेकिन बड़े डेटासेट के लिए काफी अच्छा है। मानक विचलन आउटलेर्स के लिए बहुत मजबूत नहीं है। मूल्य आउटलेयर की अनुपस्थिति में फ्रीडमैन-डायकोनिस अनुमानक के समान हैं।

'चावल'

n_h = 2n ^ {1/3}

डिब्बे की संख्या केवल a.size के a.size के a.size । यह डिब्बे की संख्या को कम करने के लिए जाता है और यह डेटा परिवर्तनशीलता को ध्यान में नहीं रखता है।

'Sturges'

n_h = \ log _ {2} n + 1

डिब्बे की संख्या a.size का आधार 2 लॉग है। यह अनुमानक डेटा की सामान्यता मानता है और बड़े, गैर-सामान्य डेटासेट के लिए बहुत रूढ़िवादी है। R के hist मेथड में यह डिफॉल्ट मेथड है।

'Doane'

n_h = 1 + \ log_ {2} (n) + \ log_ {2} (1 + \ frac_ {| g_1}} {\ sigma_ {g_1}}) g_1 = mean [(\ frac / x \ "mu} { \ sigma}) ^ 3] \ sigma_ {g_1} = \ sqrt {\ frac {6 (n - 2)} {{(n + 1) (n + 3)}}

गैर-सामान्य डेटासेट के लिए बेहतर अनुमानों का निर्माण करने वाले स्टर्ज के सूत्र का एक बेहतर संस्करण। यह अनुमानक डेटा के तिरछेपन के लिए खाता बनाने का प्रयास करता है।

'Sqrt'

n_h = \ sqrt एन

सबसे सरल और सबसे तेज़ अनुमानक। केवल डेटा आकार को ध्यान में रखता है।

उदाहरण

>>> np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]))
>>> np.histogram(np.arange(4), bins=np.arange(5), density=True)
(array([ 0.25,  0.25,  0.25,  0.25]), array([0, 1, 2, 3, 4]))
>>> np.histogram([[1, 2, 1], [1, 0, 1]], bins=[0,1,2,3])
(array([1, 4, 1]), array([0, 1, 2, 3]))
>>> a = np.arange(5)
>>> hist, bin_edges = np.histogram(a, density=True)
>>> hist
array([ 0.5,  0. ,  0.5,  0. ,  0. ,  0.5,  0. ,  0.5,  0. ,  0.5])
>>> hist.sum()
2.4999999999999996
>>> np.sum(hist * np.diff(bin_edges))
1.0

संस्करण 1.11.0 में नया।

2000 अंकों के साथ 2 चोटी यादृच्छिक डेटा का उपयोग करते हुए, स्वचालित बिन चयन विधियाँ उदाहरण के लिए:

>>> import matplotlib.pyplot as plt
>>> rng = np.random.RandomState(10)  # deterministic random data
>>> a = np.hstack((rng.normal(size=1000),
...                rng.normal(loc=5, scale=2, size=1000)))
>>> plt.hist(a, bins='auto')  # arguments are passed to np.histogram
>>> plt.title("Histogram with 'auto' bins")
>>> plt.show()
../../_images/numpy-histogram-1.png