के साथ नमूना द्वारा संभाव्यता घनत्व फ़ंक्शन प्लॉटिंग मैं पर आधारित नमूना घनत्व फ़ंक्शन का अनुमान लगा सकता हूं जो मेरे पास है; वक्र जो हिस्टोग्राम व्यवहार की नकल करता है। मैं के रूप में बड़े आकार के नमूने कर सकते हैं।matplotlib
उत्तर
आप एक वितरण साजिश करना चाहते हैं, और आप इसे जानते हैं, तो एक समारोह के रूप में यह परिभाषित है, और यह के रूप में इतना साजिश:
import numpy as np
from matplotlib import pyplot as plt
def my_dist(x):
return np.exp(-x ** 2)
x = np.arange(-100, 100)
p = my_dist(x)
plt.plot(x, p)
plt.show()
आप एक के रूप में सटीक वितरण नहीं है, तो विश्लेषणात्मक समारोह, शायद आप एक बड़े नमूना उत्पन्न कर सकते हैं, एक हिस्टोग्राम लेने के लिए और किसी भी तरह डेटा चिकनी: UnivariateSpline
च भीतर
import numpy as np
from scipy.interpolate import UnivariateSpline
from matplotlib import pyplot as plt
N = 1000
n = N//10
s = np.random.normal(size=N) # generate your data sample with N elements
p, x = np.histogram(s, bins=n) # bin it into n = N//10 bins
x = x[:-1] + (x[1] - x[0])/2 # convert bin edges to centers
f = UnivariateSpline(x, p, s=n)
plt.plot(x, f(x))
plt.show()
आप को बढ़ाने या s
(चौरसाई कारक) कम कर सकते हैं चिकनाई बढ़ाने या घटाने के लिए एकक्शन कॉल। उदाहरण के लिए, आप दोनों को प्राप्त करते हैं:
जो मेरे मामले में मदद नहीं करता है। मैंने पहले से ही अपना नमूना समारोह लिखा है और यह आकार के नमूने के लिए सटीक नहीं है एक कहने देता है! – Cupitor
तब मुझे लगता है कि आपको अपने प्रश्न को और स्पष्ट होने के लिए संपादित करना चाहिए। यह आपके प्रश्न का उत्तर देता है कि आपको "वितरण है"। – askewchan
धन्यवाद। लेकिन मुझे निम्न त्रुटि मिलती है: वैल्यूएरर बढ़ाएं ("x और y arrays लंबाई के बराबर होना चाहिए" ValueError: x और y arrays इंटरपोलेशन अक्ष के साथ लंबाई में बराबर होना चाहिए। – Cupitor
आपको क्या करना है scipy.stats.kde पैकेज से gaussian_kde का उपयोग करना है।
अपने डेटा को देखते हुए आप कुछ इस तरह कर सकते हैं:
from scipy.stats.kde import gaussian_kde
from numpy import linspace
# create fake data
data = randn(1000)
# this create the kernel, given an array it will estimate the probability over that values
kde = gaussian_kde(data)
# these are the values over wich your kernel will be evaluated
dist_space = linspace(min(data), max(data), 100)
# plot the results
plt.plot(dist_space, kde(dist_space))
कर्नेल घनत्व होगा पर विन्यस्त किया जा सकता और आसानी के साथ एन आयामी डेटा को संभाल कर सकते हैं। यह पूछताछ द्वारा दी गई साजिश में आप देख सकते हैं कि स्पलीन विचलन से भी बचेंगे।
मैं एक समान समाधान की तलाश में हूं। मेरे पास पहले से ही डेटा-सेट है लेकिन मुझे नहीं पता कि इसका वितरण क्या है, इसलिए मैं पाइथन का उपयोग करके संभाव्यता वितरण फ़ंक्शन प्लॉट करने की कोशिश कर रहा हूं और मुझे यह नहीं पता कि उसे कैसे प्लॉट करना है। उस मामले में किसी भी मदद की सराहना की जाती है। –
@SitzBlogz मान लें कि आपके डेटा-सेट को 'डेटा' कहा जाता है, फिर बस @EnricoGiampieri उत्तर में' डेटा = रैंडन (1000) 'पंक्ति को हटा दें और आप कर चुके हैं! –
- 1. matplotlib
- 2. matplotlib
- 3. matplotlib
- 4. matplotlib
- 5. Matplotlib
- 6. matplotlib
- 7. matplotlib
- 8. matplotlib
- 9. matplotlib
- 10. matplotlib
- 11. matplotlib
- 12. matplotlib
- 13. matplotlib
- 14. matplotlib
- 15. matplotlib
- 16. matplotlib
- 17. matplotlib
- 18. matplotlib
- 19. Matplotlib
- 20. matplotlib
- 21. matplotlib
- 22. matplotlib
- 23. matplotlib
- 24. matplotlib
- 25. matplotlib
- 26. matplotlib
- 27. matplotlib
- 28. matplotlib
- 29. Matplotlib
- 30. Matplotlib
आपका नमूना क्या है? क्या यह एक वितरण, या वास्तविक डेटा है? – askewchan
मुझे समझ में नहीं आता कि कोई इस सवाल को कैसे वोट दे सकता है ?! मेरा मतलब क्या है ??? – Cupitor
आमतौर पर [SO] लोग उन प्रश्नों को ऊपर उठाएंगे जो तुरंत स्पष्ट होते हैं और पूछताछकर्ता द्वारा अपने स्वयं के प्रश्न का उत्तर देने के कुछ प्रयास भी दिखाते हैं। "आपने क्या कोशिश की है?" आमतौर पर डाउनवॉट्स टिप्पणियों के साथ होते हैं, इसलिए मुझे यकीन नहीं है कि इस मामले में ऐसा क्यों नहीं हुआ। – askewchan