पायथन में केपीएसएस परीक्षण कैसे करें


केपीएसएस परीक्षण का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि समय श्रृंखला में स्थिर प्रवृत्ति है या नहीं।

यह परीक्षण निम्नलिखित शून्य और वैकल्पिक परिकल्पना का उपयोग करता है:

  • एच 0 : समय श्रृंखला में एक स्थिर प्रवृत्ति होती है।
  • एच : समय श्रृंखला में कोई स्थिर प्रवृत्ति नहीं होती है

यदि परीक्षण का पी-मान एक निश्चित स्तर के महत्व से नीचे है (जैसे α = 0.05), तो हम शून्य परिकल्पना को अस्वीकार करते हैं और निष्कर्ष निकालते हैं कि समय श्रृंखला में कोई स्थिर प्रवृत्ति नहीं है।

अन्यथा, हम शून्य परिकल्पना को अस्वीकार करने में विफल रहेंगे।

निम्नलिखित उदाहरण दिखाते हैं कि पायथन में केपीएसएस परीक्षण कैसे करें।

उदाहरण 1: पायथन में केपीएसएस परीक्षण (स्थिर डेटा के साथ)

सबसे पहले, आइए काम करने के लिए पायथन में कुछ नकली डेटा बनाएं:

 import numpy as np
import matplotlib. pyplot as plt

#make this example reproducible
n.p. random . seed ( 1 )

#create time series data
data = np. random . normal (size= 100 )

#create line plot of time series data
plt. plot (data) 

हम इस समय श्रृंखला डेटा पर KPSS परीक्षण करने के लिए statsmodels पैकेज से kpss() फ़ंक्शन का उपयोग कर सकते हैं:

 import statsmodels. api as sm

#perform KPSS test
sm. tsa . stattools . kpss (data, regression=' ct ')

(0.0477617848370993,
 0.1,
 1,
 {'10%': 0.119, '5%': 0.146, '2.5%': 0.176, '1%': 0.216})

InterpolationWarning: The test statistic is outside of the range of p-values available
in the look-up table. The actual p-value is greater than the p-value returned.

यहां परिणाम की व्याख्या करने का तरीका बताया गया है:

  • केपीएसएस परीक्षण आँकड़ा: 0.04776
  • पी-मान: 0.1
  • ट्रंकेशन ऑफसेट पैरामीटर: 1
  • 10% , 5% , 2.5% और 1% पर महत्वपूर्ण मान

पी-वैल्यू 0.1 है। चूँकि यह मान 0.05 से कम नहीं है, हम केपीएसएस परीक्षण की शून्य परिकल्पना को अस्वीकार करने में विफल हैं।

इसका मतलब यह है कि हम मान सकते हैं कि समय श्रृंखला में एक स्थिर प्रवृत्ति होती है।

नोट 1 : पी-मान वास्तव में अभी भी 0.1 से अधिक है, लेकिन केपीएस () फ़ंक्शन द्वारा उत्पन्न न्यूनतम मान 0.1 है।

नोट 2 : आपको यह निर्दिष्ट करने के लिए regression=’ct’ तर्क का उपयोग करना चाहिए कि परीक्षण की शून्य परिकल्पना यह है कि डेटा में एक स्थिर प्रवृत्ति है।

उदाहरण 2: पायथन में केपीएसएस परीक्षण (गैर-स्थिर डेटा के साथ)

सबसे पहले, आइए काम करने के लिए पायथन में कुछ नकली डेटा बनाएं:

 import numpy as np
import matplotlib. pyplot as plt

#make this example reproducible
n.p. random . seed ( 1 )

#create time series data
data =np. array ([0, 3, 4, 3, 6, 7, 5, 8, 15, 13, 19, 12, 29, 15, 45, 23, 67, 45])

#create line plot of time series data
plt. plot (data) 

फिर से, हम इस समय श्रृंखला डेटा पर KPSS परीक्षण करने के लिए statsmodels पैकेज से kpss() फ़ंक्शन का उपयोग कर सकते हैं:

 import statsmodels. api as sm

#perform KPSS test
sm. tsa . stattools . kpss (data, regression=' ct ')

(0.15096358910843685,
 0.04586367574296928,
 3,
 {'10%': 0.119, '5%': 0.146, '2.5%': 0.176, '1%': 0.216})

यहां परिणाम की व्याख्या करने का तरीका बताया गया है:

  • केपीएसएस परीक्षण आँकड़ा: 0.1509
  • पी-वैल्यू: 0.0458
  • ट्रंकेशन ऑफसेट पैरामीटर: 3
  • 10% , 5% , 2.5% और 1% पर महत्वपूर्ण मान

पी-वैल्यू 0.0458 है। यह मान 0.05 से कम होने के कारण, हम केपीएसएस परीक्षण की शून्य परिकल्पना को अस्वीकार करते हैं।

इसका मतलब यह है कि समय श्रृंखला स्थिर नहीं है

नोट : आप यहां statsmodels पैकेज से kpss() फ़ंक्शन के लिए पूर्ण दस्तावेज़ पा सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल पायथन में समय श्रृंखला डेटा के साथ काम करने के तरीके के बारे में अतिरिक्त जानकारी प्रदान करते हैं:

पायथन में संवर्धित डिकी-फुलर परीक्षण कैसे करें
पायथन में मैन-केंडल ट्रेंड टेस्ट कैसे करें
मैटप्लॉटलिब में टाइम सीरीज़ कैसे प्लॉट करें

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

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