समय-श्रृंखला विश्लेषण को क्रॉस-मान्य करना


37

मैं आर में कैरेट पैकेज का उपयोग वर्गीकरण और प्रतिगमन के लिए भविष्य कहनेवाला मॉडल बनाने के लिए कर रहा हूं । कैरेट क्रॉस सत्यापन या बूट स्टैपिंग द्वारा मॉडल हाइपर-मापदंडों को ट्यून करने के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है। उदाहरण के लिए, यदि आप वर्गीकरण के लिए एक सरल 'निकटतम पड़ोसी' मॉडल बना रहे हैं, तो आपको कितने पड़ोसियों का उपयोग करना चाहिए? 2? 10? 100? कैरेट आपको अपने डेटा को फिर से सैंपल करके, अलग-अलग मापदंडों की कोशिश करके, और फिर परिणामों को कुल मिलाकर यह तय करने में मदद करता है कि कौन सी सबसे अच्छी भविष्यवाणी की सटीकता प्राप्त करता है।

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

मेरे पास अब कुछ समय-श्रृंखला के डेटा हैं, जिनके लिए मैं एक प्रतिगमन मॉडल बनाना चाहता हूं, शायद एक यादृच्छिक वन का उपयोग कर रहा हूं। डेटा की प्रकृति को देखते हुए, मेरे मॉडल की अनुमानित सटीकता का आकलन करने के लिए एक अच्छी तकनीक क्या है? यदि यादृच्छिक वन वास्तव में समय श्रृंखला डेटा पर लागू नहीं होते हैं, तो समय श्रृंखला विश्लेषण के लिए एक सटीक पहनावा मॉडल बनाने का सबसे अच्छा तरीका क्या है?


मुझे सवाल काफी दिलचस्प लगा। क्या कोई तरीका है जो मैं इसका अनुसरण करने के लिए एक प्रश्न चिह्नित कर सकता हूं?
मरिना

1
@ मारियाना सॉफ़र ऊपर / नीचे तीर के नीचे 'स्टार' आइकन पर क्लिक करें।
Zach

4
कैरेट अब टाइम-सीरीज़ क्रॉस- वेलिडेशन
Captain_ahab

1
@ यह एक पुरानी पोस्ट है, लेकिन मुझे आश्चर्य है कि क्या आपके पास कोई नया विचार है? क्या आप अनुक्रमिक मॉडल सत्यापन पर किसी भी हाल के काम से अवगत हैं?
राशिफल

जवाबों:


10

"क्लासिकल" के-टाइम क्रॉस-वैलिडेशन तकनीक इस तथ्य पर आधारित है कि उपलब्ध डेटा सेट में प्रत्येक नमूने का उपयोग किया जाता है (k-1) -एक मॉडल को प्रशिक्षित करने के लिए और इसे परीक्षण करने के लिए 1 बार। चूंकि "भविष्य" डेटा पर समय श्रृंखला मॉडल को मान्य करना बहुत महत्वपूर्ण है, इसलिए यह दृष्टिकोण मॉडल की स्थिरता में योगदान नहीं करेगा।

कई (सबसे?) समय श्रृंखला की एक महत्वपूर्ण संपत्ति आसन्न मूल्यों के बीच संबंध है। जैसा कि आयरिशस्टैट द्वारा बताया गया है, यदि आप अपने मॉडल उम्मीदवार के स्वतंत्र चर के रूप में पिछले रीडिंग का उपयोग करते हैं, तो यह सहसंबंध (या स्वतंत्रता की कमी) एक महत्वपूर्ण भूमिका निभाता है और एक और कारण है कि के-टाइम क्रॉस सत्यापन एक अच्छा विचार नहीं है।

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

स्पष्टीकरण

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

डेटा के निरीक्षण द्वारा मेरा मतलब है कि समय श्रृंखला डेटा को आवृत्ति पर संग्रहीत करना व्यावहारिक रूप से आवश्यक से अधिक है। उदाहरण के लिए: प्रत्येक 5 सेकंड में स्टॉक की कीमतों का नमूना लेना, जब आप प्रति घंटा परिवर्तन में वास्तव में रुचि रखते हैं। यहाँ, जब मैं कहता हूं कि "नमूनाकरण" का मतलब यह नहीं है कि "प्रक्षेप", "अनुमान" आदि। यदि डेटा को उच्च आवृत्ति पर मापा नहीं जा सकता है, तो यह तकनीक अर्थहीन है


भविष्य के डेटा पर एक मॉडल को मान्य करने का 'शास्त्रीय' तरीका क्या है? 'ओवरसमलिंग' से आपका क्या तात्पर्य है? धन्यवाद!
ज़ैक

यह ध्यान दिया जाना चाहिए कि वास्तविक-विश्व समय श्रृंखला डेटा (विशेष रूप से वित्तीय डेटा) के सांख्यिकीय गुण नमूना आवृत्ति के आधार पर भिन्न हो सकते हैं। कई वित्तीय समय श्रृंखलाओं के लिए कोई सीधा संबंध नहीं है, जो अवधि के साथ और अवधि साथ नमूना मानक विचलन के बीच है । वास्तव में मानक विचलन बढ़ जाता है क्योंकि नमूना आवृत्ति बढ़ जाती है। इसी तरह सहसंबंध घटने के साथ-साथ नमूने की आवृत्ति बढ़ती है (इसे आमतौर पर एप्स प्रभाव के रूप में जाना जाता है ) पीपीटीTppT
क्रिस टेलर

@bgbg मैं इसी तरह की समस्या का सामना कर रहा हूं और अभी आपकी पोस्ट मिली है। क्या आप ओवरसैमलिंग और डेकोरेटिंग टाइम सीरीज़ डेटा पर कुछ संदर्भों का हवाला दे सकते हैं? मुझे लगता है कि यदि समय श्रृंखला में मेमोरी काफी कम है (यह दिखा सकता है कि फिटिंग एक अरिमा है), तो कोई बस "गैर-अतिव्यापी" नमूने ले सकता है और सामान्य क्रॉस-सत्यापन कर सकता है। किसी भी विचार की सराहना की।
राशिफल

9

http://robjhyndman.com/researchtips/crossvalidation/ में समय श्रृंखला के क्रॉस सत्यापन के लिए एक त्वरित टिप शामिल है। समय श्रृंखला डेटा के लिए यादृच्छिक वन का उपयोग करने के बारे में .... निश्चित रूप से नहीं, हालांकि यह एक अजीब पसंद की तरह लगता है कि मॉडल बूटस्ट्रैप नमूनों का उपयोग करके फिट किया गया है। पाठ्यक्रम की क्लासिक समय श्रृंखला विधियां हैं (उदाहरण के लिए ARIMA), जिसका उपयोग किया जा सकता है, जैसे कि न्यूरल नेट्स (उदाहरण उदाहरण पीडीएफ ) जैसी एमएल तकनीकें । शायद कुछ समय श्रृंखला विशेषज्ञ इस बात पर टिप्पणी कर सकते हैं कि समय श्रृंखला विशिष्ट एल्गोरिदम की तुलना में एमएल तकनीक कितनी अच्छी तरह काम करती है।


2
यह बहुत ज्यादा सिर पर कील ठोकता है। मैं मशीन विश्लेषण तकनीकों को समय श्रृंखला विश्लेषण पर लागू करने की कोशिश कर रहा हूं।
Zach

मुझे पहले पूर्वानुमान के लिए यादृच्छिक जंगलों का उपयोग करने में सफलता मिली है। बाहर की जाँच करें: biomedcentral.com/1471-2105/15/276
Captain_ahab

6

यहां क्रॉस-वैरिफाइड टाइम सीरीज़ मॉडल के लिए कुछ उदाहरण कोड दिए गए हैं। मैंने अपने ब्लॉग में इस कोड पर विस्तार किया , चीजों को गति देने और क्रॉस-सत्यापन में संभावित xreg शब्द के लिए अनुमति देने के लिए फोरच पैकेज को शामिल किया ।

यहाँ Rob Hyndman के ब्लॉग के कोड की एक प्रति है:

library(fpp) # To load the data set a10
plot(a10, ylab="$ million", xlab="Year", main="Antidiabetic drug sales")
plot(log(a10), ylab="", xlab="Year", main="Log Antidiabetic drug sales")

k <- 60 # minimum data length for fitting a model
n <- length(a10)
mae1 <- mae2 <- mae3 <- matrix(NA,n-k,12)
st <- tsp(a10)[1]+(k-2)/12

for(i in 1:(n-k))
{
  xshort <- window(a10, end=st + i/12)
  xnext <- window(a10, start=st + (i+1)/12, end=st + (i+12)/12)
  fit1 <- tslm(xshort ~ trend + season, lambda=0)
  fcast1 <- forecast(fit1, h=12)
  fit2 <- Arima(xshort, order=c(3,0,1), seasonal=list(order=c(0,1,1), period=12), 
      include.drift=TRUE, lambda=0, method="ML")
  fcast2 <- forecast(fit2, h=12)
  fit3 <- ets(xshort,model="MMM",damped=TRUE)
  fcast3 <- forecast(fit3, h=12)
  mae1[i,1:length(xnext)] <- abs(fcast1[['mean']]-xnext)
  mae2[i,1:length(xnext)] <- abs(fcast2[['mean']]-xnext)
  mae3[i,1:length(xnext)] <- abs(fcast3[['mean']]-xnext)
}

plot(1:12, colMeans(mae1,na.rm=TRUE), type="l", col=2, xlab="horizon", ylab="MAE",
     ylim=c(0.65,1.05))
lines(1:12, colMeans(mae2,na.rm=TRUE), type="l",col=3)
lines(1:12, colMeans(mae3,na.rm=TRUE), type="l",col=4)
legend("topleft",legend=c("LM","ARIMA","ETS"),col=2:4,lty=1)

परिणाम


हाय ज़च। मैंने समय श्रृंखला के साथ प्रतिगमन मॉडल के लिए उचित संख्या का पता लगाने के लिए Hyndman के कोड का थोड़ा अलग संस्करण लागू किया। दुर्भाग्य से, सीवी त्रुटि प्लॉट में कई स्थानीय मिनीमा दिखाई दिए, जो मुझे इस बारे में सवाल करते थे कि सही ढंग से शब्दों की संख्या का चयन कैसे करें। पूरी समस्या यहाँ वर्णित है । क्या आपने पहले भी कुछ इसी तरह का सामना किया है?
जौबरायलास

5

यदि आपके पास समय श्रृंखला डेटा है तो आपके पास "स्वतंत्रता समस्या की डिग्री" हो सकती है। उदाहरण के लिए यदि आपके पास प्रति घंटा अंतराल पर 4 अवलोकन हैं और फिर 1 मिनट के अंतराल पर 241 टिप्पणियों का उपयोग करने का निर्णय लेते हैं, तो आपके पास 241 अवलोकन हैं, लेकिन वे आवश्यक रूप से स्वतंत्र नहीं हैं। जब आप इन 241 मूल्यों / मापों को एक विश्लेषणात्मक पैकेज में जमा करते हैं, तो पैकेज उम्मीद कर सकता है कि ये 241 स्वतंत्र मूल्य हैं क्योंकि यह विशेष जादू करने के लिए आगे बढ़ता है। यदि आपके पास समय श्रृंखला डेटा है तो आपको अपने विश्लेषिकी को अपग्रेड करना पड़ सकता है। मुझे नहीं पता कि आप जिस कार्यक्रम का उल्लेख करते हैं, लेकिन यह मेरी ओर से एक उचित अनुमान है (मैं गलत हो सकता है!) कि यह परीक्षण है (एफ परीक्षण / टी परीक्षण ... आदि) शायद आपकी समस्या सेट पर लागू न हो।


1

मैं आपको पढ़ने के लिए 2 दिलचस्प प्रश्नपत्रों को पुनः प्राप्त कर सकता हूं जो ऑनलाइन हैं। 1.स्ट्रीमेड लर्निंग: वन-पास एसवीएम, पीयूष राय, हाल डूमो तृतीय, सुरेश वेंकटसुब्रमण्यन 2. स्ट्रींग के-साधन सन्निकटन, निर एलियन द्वारा

आशा है कि यह आपके विचारों को थोड़ा स्पष्ट करता है


क्या आप उन कागजात के लिंक प्रदान कर सकते हैं? धन्यवाद।
ज़ैक

Zach यहाँ पहला स्नोबर्ड .jvuzone.org/2008/abstracts/180.pdf है और दूसरा www1.cs.columbia.edu/~rjaiswal/ajmNIPS09.pdf है । आशा है कि यह मदद करता है
mariana soffer
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.