3 महीने के डेटासेट के साथ मल्टीवीरेट समय श्रृंखला का पूर्वानुमान


12

मेरे पास 3 महीने का डेटा (प्रत्येक दिन के अनुरूप प्रत्येक पंक्ति) उत्पन्न होता है और मैं उसी के लिए एक बहुभिन्नरूपी श्रृंखला विश्लेषण करना चाहता हूं:

जो कॉलम उपलब्ध हैं, वे हैं -

Date    Capacity_booked Total_Bookings  Total_Searches  %Variation

डेटा दिनांक में डेटासेट में 1 प्रविष्टि है और 3 महीने का डेटा है और मैं अन्य चर का पूर्वानुमान लगाने के लिए एक बहुभिन्नरूपी श्रृंखला श्रृंखला मॉडल फिट करना चाहता हूं।

अब तक, यह मेरा प्रयास था और मैंने लेखों को पढ़कर इसे हासिल करने की कोशिश की।

मैने भी वही कीया -

df['Date'] = pd.to_datetime(Date , format = '%d/%m/%Y')

data = df.drop(['Date'], axis=1)

data.index = df.Date

from statsmodels.tsa.vector_ar.vecm import coint_johansen
johan_test_temp = data
coint_johansen(johan_test_temp,-1,1).eig



#creating the train and validation set
train = data[:int(0.8*(len(data)))]
valid = data[int(0.8*(len(data))):]

freq=train.index.inferred_freq

from statsmodels.tsa.vector_ar.var_model import VAR

model = VAR(endog=train,freq=train.index.inferred_freq)
model_fit = model.fit()


# make prediction on validation
prediction = model_fit.forecast(model_fit.data, steps=len(valid))

cols = data.columns

pred = pd.DataFrame(index=range(0,len(prediction)),columns=[cols])
    for j in range(0,4):
        for i in range(0, len(prediction)):
           pred.iloc[i][j] = prediction[i][j]

मेरे पास एक सत्यापन सेट और भविष्यवाणी सेट है। हालाँकि भविष्यवाणियाँ उम्मीद से ज्यादा खराब हैं।

डेटासेट के प्लॉट निम्न हैं - 1.% भिन्नता यहां छवि विवरण दर्ज करें

  1. Capacity_Booked यहां छवि विवरण दर्ज करें

  2. कुल बुकिंग और खोज यहां छवि विवरण दर्ज करें

मुझे जो आउटपुट प्राप्त हो रहे हैं वे हैं -

भविष्यवाणी डेटाफ़्रेम -

यहां छवि विवरण दर्ज करें

सत्यापन डेटाफ़्रेम -

यहां छवि विवरण दर्ज करें

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

संपादित करें

डेटासेट से लिंक करें - डेटासेट

धन्यवाद


क्या आप कक्षाओं के
स्टैड

@SwaratheshAddanki मैंने प्रश्न में डेटासेट का लिंक जोड़ा है ... आप देख सकते हैं।
दिनांक

आप "होम मेड" सुविधाओं का उपयोग करके एक शास्त्रीय मशीन लर्निंग एल्गोरिदम का उपयोग करने की कोशिश कर सकते हैं। उदाहरण के लिए आप पिछले 7 दिनों का उपयोग करके एक ही दिन के लिए एक परसेप्ट्रॉन या एक SVM या एक यादृच्छिक वन को प्रशिक्षित करने का प्रयास कर सकते हैं (4 * 7 सुविधाओं के साथ एक पंक्ति बनायें)। आप पिछले सप्ताह के उसी दिन को भी ध्यान में रख सकते हैं (यदि आप wednesday के लिए भविष्यवाणी करना चाहते हैं तो) और पिछले महीने के हर दिन का औसत। इसके अलावा पार सत्यापन का उपयोग करने के लिए एक अधिक यथार्थवादी प्रदर्शन माप है
1919 पॉलिस्सा

@politinsa क्या आप उसी के लिए एक उदाहरण साझा कर सकते हैं?
दिनांक

1
मेरा मानना ​​है कि आपके पास एक अच्छे मॉडल को फिट करने के लिए पर्याप्त डेटा नहीं है: मुख्य विशेषता इन महीनों के अंत में नीचे की ओर कूदती प्रतीत होती है। हम डेटा सेट में इनमें से केवल दो छलांग देख सकते हैं, और सिर्फ दो टिप्पणियों से यह पता नहीं चल पाएगा कि एक सामान्य छलांग कैसी लगती है। इसी तरह, महीनों के दौरान वृद्धि नियमित रूप से पर्याप्त दिखती है कि मॉडल इन वक्रों के आकार का वर्णन करने की कोशिश कर सकता है, लेकिन इस बात की बहुत कम जानकारी है कि किसी विशिष्ट महीने में मान कितना बढ़ेगा। यह देखते हुए, "अगले महीने पिछले महीने के बराबर" एक अच्छा पर्याप्त मॉडल हो सकता है?
जोचेन

जवाबों:


1

अपनी सटीकता में सुधार करने का एक तरीका यह है कि प्रत्येक वैरिएबल के स्वतःसंरचना को देखें, जैसा कि VAR प्रलेखन पृष्ठ में सुझाया गया है:

https://www.statsmodels.org/dev/vector_ar.html

एक विशेष अंतराल के लिए ऑटोकैरेलेशन मूल्य जितना बड़ा होता है, उतना ही उपयोगी यह अंतराल प्रक्रिया के लिए होगा।

एक और अच्छा विचार अपनी सटीकता को सत्यापित करने के लिए एआईसी मानदंड और बीआईसी मानदंड को देखना है (ऊपर दिए गए लिंक में उपयोग का एक उदाहरण है)। छोटे मूल्य संकेत देते हैं कि एक बड़ी संभावना है कि आपको सही अनुमान लगाने वाला मिल गया है।

इस तरह, आप अपने ऑटोरेग्रेसिव मॉडल के क्रम को अलग-अलग कर सकते हैं और सबसे कम एआईसी और बीआईसी प्रदान करने वाले को देख सकते हैं, दोनों एक साथ विश्लेषण करते हैं। यदि एआईसी इंगित करता है कि सबसे अच्छा मॉडल 3 के अंतराल के साथ है और बीआईसी इंगित करता है कि सबसे अच्छे मॉडल में 5 का अंतराल है, तो आपको 3,4 और 5 के मूल्यों का विश्लेषण करना चाहिए ताकि किसी को सर्वोत्तम परिणाम मिल सके।

सबसे अच्छा परिदृश्य अधिक डेटा होना होगा (जैसा कि 3 महीने से अधिक नहीं है), लेकिन आप इन तरीकों को देखने की कोशिश कर सकते हैं कि क्या यह मदद करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.