पायथन में qq प्लॉट कैसे बनाएं


एक QQ प्लॉट , जिसका संक्षिप्त रूप “क्वांटाइल-क्वांटाइल” है, का उपयोग अक्सर यह मूल्यांकन करने के लिए किया जाता है कि डेटा सेट संभावित रूप से सैद्धांतिक वितरण से आता है या नहीं।

ज्यादातर मामलों में, इस प्रकार के प्लॉट का उपयोग यह निर्धारित करने के लिए किया जाता है कि डेटा सेट सामान्य वितरण का पालन करता है या नहीं।

यह ट्यूटोरियल बताता है कि पायथन में डेटासेट के लिए QQ प्लॉट कैसे बनाया जाए।

उदाहरण: पायथन में QQ प्लॉट

मान लीजिए हमारे पास 100 मानों का निम्नलिखित डेटा सेट है:

 import numpy as np

#create dataset with 100 values that follows a normal distribution
np.random.seed(0)
data = np.random.normal(0,1, 1000)

#view first 10 values
data[:10] 

array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
       -0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])

इस डेटासेट के लिए QQ प्लॉट बनाने के लिए, हम statsmodels लाइब्रेरी से qqplot() फ़ंक्शन का उपयोग कर सकते हैं:

 import statsmodels.api as sm
import matplotlib.pyplot as plt

#create QQ plot with 45-degree line added to plot
fig = sm.qqplot(data, line='45')
plt.show()

पायथन में QQ प्लॉट

QQ प्लॉट में, x-अक्ष सैद्धांतिक मात्राएँ प्रदर्शित करता है। इसका मतलब यह है कि यह आपका वास्तविक डेटा नहीं दिखाता है, बल्कि यह दर्शाता है कि यदि आपका डेटा सामान्य रूप से वितरित किया जाता तो वह कहां होता।

Y अक्ष आपका वर्तमान डेटा प्रदर्शित करता है। इसका मतलब यह है कि यदि डेटा मान 45 डिग्री के कोण पर लगभग सीधी रेखा का अनुसरण करते हैं, तो डेटा सामान्य रूप से वितरित किया जाता है।

हम ऊपर अपने QQ प्लॉट में देख सकते हैं कि डेटा मान 45 डिग्री का बारीकी से पालन करते हैं, जिसका अर्थ है कि डेटा सामान्य रूप से वितरित होने की संभावना है। यह आश्चर्य की बात नहीं होनी चाहिए क्योंकि हमने numpy.random.सामान्य() फ़ंक्शन का उपयोग करके 100 डेटा मान उत्पन्न किए हैं।

इसके बजाय, विचार करें कि क्या हमने 100 समान रूप से वितरित मूल्यों का एक डेटासेट तैयार किया है और उस डेटासेट के लिए एक QQ प्लॉट बनाया है:

 #create dataset of 100 uniformly distributed values
data = np.random.uniform(0,1, 1000)

#generate QQ plot for the dataset
fig = sm.qqplot(data, line='45')
plt.show()

matplotlib का उपयोग करके पायथन में सीधी रेखा के साथ QQ प्लॉट

डेटा मान स्पष्ट रूप से 45 डिग्री लाल रेखा का पालन नहीं करते हैं, जो दर्शाता है कि वे सामान्य वितरण का पालन नहीं करते हैं।

QQ प्लॉट्स पर नोट्स

QQ प्लॉट्स के बारे में निम्नलिखित नोट्स को ध्यान में रखें:

  • हालाँकि QQ प्लॉट एक औपचारिक सांख्यिकीय परीक्षण नहीं है, यह यह जांचने का एक सरल तरीका प्रदान करता है कि डेटा सेट सामान्य रूप से वितरित है या नहीं।
  • सावधान रहें कि क्यूक्यू प्लॉट्स को पीपी प्लॉट्स के साथ भ्रमित न करें, जो आमतौर पर कम उपयोग किए जाते हैं और वितरण के अंत में आने वाले डेटा मूल्यों का विश्लेषण करने के लिए कम उपयोगी होते हैं।

आप यहां अधिक पायथन ट्यूटोरियल पा सकते हैं।

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *