
darts v0.47.0
टाइम सीरीज़ पर उपयोगकर्ता-अनुकूल पूर्वानुमान और विसंगति पहचान के लिए एक python लाइब्रेरी।
पायथन में टाइम सीरीज़ को आसान बनाया गया

Darts टाइम सीरीज़ पर उपयोगकर्ता-अनुकूल पूर्वानुमान और विसंगति पहचान के लिए एक पायथन लाइब्रेरी है। इसमें विभिन्न प्रकार के मॉडल शामिल हैं, ARIMA जैसे क्लासिक मॉडल से लेकर डीप न्यूरल नेटवर्क तक। सभी पूर्वानुमान मॉडलों का उपयोग एक ही तरीके से किया जा सकता है, fit() और predict() फ़ंक्शन का उपयोग करके, scikit-learn के समान।
यह लाइब्रेरी मॉडलों को बैकटेस्ट करना, कई मॉडलों की भविष्यवाणियों को संयोजित करना और बाहरी डेटा को ध्यान में रखना भी आसान बनाती है।
Darts यूनिवेरिएट और मल्टीवेरिएट दोनों टाइम सीरीज़ और मॉडलों का समर्थन करता है।
ML-आधारित मॉडलों को कई टाइम सीरीज़ वाले संभावित रूप से बड़े डेटासेट पर प्रशिक्षित किया जा सकता है, और कुछ मॉडल प्रोबेबिलिस्टिक पूर्वानुमान के लिए समृद्ध समर्थन प्रदान करते हैं।
Darts व्यापक विसंगति पहचान क्षमताएं भी प्रदान करता है। उदाहरण के लिए, विसंगति स्कोर प्राप्त करने के लिए टाइम सीरीज़ पर PyOD मॉडल लागू करना, या पूर्ण विकसित विसंगति पहचान मॉडल प्राप्त करने के लिए किसी भी Darts पूर्वानुमान या फ़िल्टरिंग मॉडल को रैप करना बहुत आसान है।
दस्तावेज़ीकरण
उच्च स्तरीय परिचय
चयनित विषयों पर लेख
- कई टाइम सीरीज़ पर मॉडल प्रशिक्षण
- पिछले और भविष्य के सहचरों का उपयोग
- टेम्पोरल कन्वेन्शनल नेटवर्क और पूर्वानुमान
- प्रोबेबिलिस्टिक पूर्वानुमान
- टाइम सीरीज़ पूर्वानुमान के लिए ट्रांसफर लर्निंग
- पदानुक्रमित पूर्वानुमान सामंजस्य
त्वरित इंस्टॉल
हम अनुशंसा करते हैं कि पहले अपने पसंदीदा टूल का उपयोग करके Python 3.11+ के साथ अपने प्रोजेक्ट के लिए एक साफ़ पायथन वातावरण सेटअप करें (conda, venv, virtualenv के साथ या virtualenvwrapper के बिना)।
एक बार आपका वातावरण सेट हो जाने के बाद आप pip का उपयोग करके darts इंस्टॉल कर सकते हैं:
pip install darts
अधिक जानकारी के लिए आप हमारे इंस्टॉलेशन निर्देश देख सकते हैं।
उदाहरण उपयोग
पूर्वानुमान
Pandas DataFrame से एक TimeSeries ऑब्जेक्ट बनाएं, और इसे train/validation श्रृंखलाओं में विभाजित करें:
import pandas as pd
from darts import TimeSeries
# Read a pandas DataFrame
df = pd.read_csv("AirPassengers.csv", delimiter=",")
# Create a TimeSeries, specifying the time and value columns
series = TimeSeries.from_dataframe(df, "Month", "#Passengers")
# Set aside the last 36 months as a validation series
train, val = series[:-36], series[-36:]
एक exponential smoothing मॉडल फिट करें, और validation series की अवधि पर एक (probabilistic) prediction बनाएं:
from darts.models import ExponentialSmoothing
model = ExponentialSmoothing()
model.fit(train)
prediction = model.predict(len(val), num_samples=1000)
माध्यिका, 5वें और 95वें प्रतिशतक को प्लॉट करें:
import matplotlib.pyplot as plt
series.plot()
prediction.plot(label="forecast", low_quantile=0.05, high_quantile=0.95)
plt.legend()
विसंगति पहचान
एक बहुभिन्न श्रृंखला लोड करें, इसे ट्रिम करें, 2 घटक रखें, प्रशिक्षण और सत्यापन सेट विभाजित करें:
from darts.datasets import ETTh2Dataset
series = ETTh2Dataset().load()[:10000][["MUFL", "LULL"]]
train, val = series.split_before(0.6)
एक k-means एनोमली स्कोरर बनाएं, इसे ट्रेन सेट पर प्रशिक्षित करें और एनोमली स्कोर प्राप्त करने के लिए इसे वैलिडेशन सेट पर उपयोग करें:
from darts.ad import KMeansScorer
scorer = KMeansScorer(k=2, window=5)
scorer.fit(train)
anom_score = scorer.score(val)
एक बाइनरी एनोमली डिटेक्टर बनाएं और इसे train scores पर प्रशिक्षित करें, फिर बाइनरी एनोमली वर्गीकरण प्राप्त करने के लिए इसे validation scores पर उपयोग करें:
from darts.ad import QuantileDetector
detector = QuantileDetector(high_quantile=0.99)
detector.fit(scorer.score(train))
binary_anom = detector.detect(anom_score)
कुछ श्रृंखलाओं को स्थानांतरित और स्केल करके सब कुछ एक ही आकृति पर प्रदर्शित करने के लिए प्लॉट करें:
import matplotlib.pyplot as plt
series.plot()
(anom_score / 2. - 100).plot(label="computed anomaly score", c="orangered", lw=3)
(binary_anom * 45 - 150).plot(label="detected binary anomaly", lw=4)
विशेषताएँ
-
पूर्वानुमान मॉडल: प्रतिगमन के साथ-साथ वर्गीकरण कार्यों के लिए पूर्वानुमान मॉडलों का एक बड़ा संग्रह; सांख्यिकीय मॉडलों (जैसे ARIMA) से लेकर गहन शिक्षण मॉडलों (जैसे N-BEATS) तक। नीचे पूर्वानुमान मॉडल देखें।
-
विसंगति पहचान
darts.adमॉड्यूल में विसंगति स्कोरर, डिटेक्टर और एग्रीगेटर का संग्रह है, जिन्हें समय श्रृंखला में विसंगतियों का पता लगाने के लिए संयोजित किया जा सकता है। किसी भी Darts पूर्वानुमान या फ़िल्टरिंग मॉडल को एक पूर्ण विसंगति पहचान मॉडल बनाने के लिए लपेटना आसान है जो पूर्वानुमानों की वास्तविक मानों से तुलना करता है।PyODScorerसमय श्रृंखला पर PyOD डिटेक्टरों का उपयोग करना सरल बनाता है। -
बहुभिन्नरूपी समर्थन:
TimeSeriesबहुभिन्नरूपी हो सकता है - अर्थात, एकल अदिश मान के बजाय कई समय-परिवर्तनशील आयाम/स्तंभ शामिल हो सकते हैं। कई मॉडल बहुभिन्नरूपी श्रृंखलाओं का उपभोग और उत्पादन कर सकते हैं।