पायथन में संवर्धित डिकी-फुलर परीक्षण (उदाहरण के साथ)
एक समय श्रृंखला को “स्थिर” कहा जाता है यदि इसमें कोई प्रवृत्ति नहीं है, समय के साथ निरंतर भिन्नता प्रस्तुत करती है और समय के साथ निरंतर स्वत: सहसंबंध संरचना होती है।
यह जांचने का एक तरीका है कि कोई समय श्रृंखला स्थिर है या नहीं, एक संवर्धित डिकी-फुलर परीक्षण करना है, जो निम्नलिखित शून्य और वैकल्पिक परिकल्पनाओं का उपयोग करता है:
एच 0 : समय श्रृंखला गैर-स्थिर है। दूसरे शब्दों में, इसकी संरचना समय पर निर्भर करती है और इसकी भिन्नता समय के साथ स्थिर नहीं होती है।
एच ए : समय श्रृंखला स्थिर है।
यदि परीक्षण का पी-मान एक निश्चित स्तर के महत्व से नीचे है (जैसे α = 0.05), तो हम शून्य परिकल्पना को अस्वीकार कर सकते हैं और निष्कर्ष निकाल सकते हैं कि समय श्रृंखला स्थिर है।
निम्नलिखित चरण-दर-चरण उदाहरण दिखाता है कि किसी निश्चित समय श्रृंखला के लिए पायथन में संवर्धित डिकी-फुलर परीक्षण कैसे किया जाए।
उदाहरण: पायथन में संवर्धित डिकी-फुलर परीक्षण
मान लीजिए कि हमारे पास पायथन में निम्नलिखित समय श्रृंखला डेटा है:
data = [3, 4, 4, 5, 6, 7, 6, 6, 7, 8, 9, 12, 10]
डेटा पर संवर्धित डिकी-फुलर परीक्षण करने से पहले, हम डेटा की कल्पना करने के लिए एक त्वरित प्लॉट बना सकते हैं:
import matplotlib. pyplot as plt plt. plot (data)
संवर्धित डिकी-फुलर परीक्षण करने के लिए, हम स्टैटमॉडल लाइब्रेरी से एडफुलर() फ़ंक्शन का उपयोग कर सकते हैं। सबसे पहले, हमें statsmodels स्थापित करने की आवश्यकता है:
pip install statsmodels
फिर हम संवर्धित डिकी-फुलर परीक्षण करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:
from statsmodels. tsa . stattools import adfuller #perform augmented Dickey-Fuller test adfuller(data) (-0.9753836234744063, 0.7621363564361013, 0, 12, {'1%': -4.137829282407408, '5%': -3.1549724074074077, '10%': -2.7144769444444443}, 31.2466098872313)
यहां परिणाम के सबसे महत्वपूर्ण मूल्यों की व्याख्या करने का तरीका बताया गया है:
- परीक्षण आँकड़ा: -0.97538
- पी-मान: 0.7621
चूँकि पी-मान 0.05 से कम नहीं है, हम शून्य परिकल्पना को अस्वीकार करने में विफल रहते हैं।
इसका मतलब यह है कि समय श्रृंखला स्थिर नहीं है। दूसरे शब्दों में, इसकी संरचना समय पर निर्भर करती है और इसकी भिन्नता समय के साथ स्थिर नहीं होती है।
अतिरिक्त संसाधन
मैटप्लॉटलिब में टाइम सीरीज़ कैसे प्लॉट करें
पांडास डेटाफ़्रेम से एकाधिक श्रृंखलाएँ कैसे प्लॉट करें
पायथन में मैन-केंडल ट्रेंड टेस्ट कैसे करें