ক্রস-বৈধকরণের সময়-সিরিজ বিশ্লেষণ


37

শ্রেণিবিন্যাস এবং প্রতিরোধের জন্য ভবিষ্যদ্বাণীপূর্ণ মডেলগুলি তৈরি করতে আমি আরে ক্যারেট প্যাকেজটি ব্যবহার করছি । ক্র্যাট বৈধতা বা বুট স্ট্র্যাপিং দ্বারা মডেল হাইপার-পরামিতিগুলি সুর করার জন্য ক্যারেট একটি ইউনিফাইড ইন্টারফেস সরবরাহ করে। উদাহরণস্বরূপ, আপনি যদি শ্রেণিবিন্যাসের জন্য একটি সাধারণ 'নিকটতম প্রতিবেশী' মডেল তৈরি করছেন তবে আপনার কয়টি প্রতিবেশী ব্যবহার করা উচিত? 2? 10? 100? ক্যারেট আপনাকে আপনার ডেটা পুনরায় স্যাম্পল করে, বিভিন্ন পরামিতি ব্যবহার করে, এবং এরপরে ফলাফলকে একত্রিত করে সেরা ভবিষ্যদ্বাণীপূর্ণ নির্ভুলতা নির্ধারণ করতে সহায়তা করে।

আমি এই পদ্ধতির পছন্দ করি কারণ এটি মডেল হাইপার-প্যারামিটারগুলি বেছে নেওয়ার জন্য একটি শক্তিশালী পদ্ধতি সরবরাহ করে এবং আপনি একবার চূড়ান্ত হাইপার-প্যারামিটারগুলি বেছে নিলে শ্রেণিবদ্ধকরণের মডেলগুলির যথার্থতা ব্যবহার করে মডেলটি কীভাবে 'ভাল' হয় তার একটি ক্রস-বৈধতাযুক্ত অনুমান সরবরাহ করে এবং রিগ্রেশন মডেলগুলির জন্য আরএমএসই।

আমার কাছে এখন এমন কিছু সময়-সিরিজের ডেটা রয়েছে যা আমি সম্ভবত একটি এলোমেলো বন ব্যবহার করে একটি রিগ্রেশন মডেল তৈরি করতে চাই। তথ্যের প্রকৃতি বিবেচনা করে আমার মডেলের ভবিষ্যদ্বাণীপূর্ণ যথার্থতা মূল্যায়নের জন্য একটি ভাল কৌশল কী? যদি এলোমেলো বনগুলি সত্যই সময় সিরিজের ডেটাতে প্রয়োগ না করে তবে সময় সিরিজ বিশ্লেষণের জন্য সঠিক জড়ো মডেল তৈরির সর্বোত্তম উপায় কী?


আমি সত্যিই আকর্ষণীয় প্রশ্ন পেয়েছি। এটি অনুসরণ করার জন্য কোনও প্রশ্ন আমি চিহ্নিত করতে পারি কি?
মারিয়ানা সফর

1
@ আমারানা সফফার উপরের / নীচের তীরগুলির নীচে 'স্টার' আইকনটি ক্লিক করুন।
জাচ

4
- ক্যারেট এখন সময়-সিরিজ ক্রস বৈধতা সমর্থন r-bloggers.com/time-series-cross-validation-5
captain_ahab

1
@ জ্যাচ এটি একটি পুরানো পোস্ট তবে আমি ভাবছি যদি আপনার কোনও নতুন চিন্তাভাবনা থাকে? সিক্যুয়াল মডেল বৈধতা সম্পর্কে সাম্প্রতিক কোনও কাজ সম্পর্কে আপনি কি সচেতন?
horaceT

উত্তর:


10

"ক্লাসিকাল" কে-টাইম ক্রস-বৈধকরণের কৌশলটি ভিত্তিতে তৈরি হয় যে উপলব্ধ ডেটা সেটটিতে প্রতিটি নমুনা ব্যবহৃত হয় (কে -1) - একটি মডেলকে প্রশিক্ষণ দেওয়ার জন্য এবং এটি পরীক্ষা করার জন্য 1 বার। যেহেতু "ভবিষ্যতের" ডেটাতে টাইম সিরিজ মডেলগুলি বৈধ করা খুব গুরুত্বপূর্ণ, এই পদ্ধতির মডেলটির স্থায়িত্বের ক্ষেত্রে অবদান থাকবে না।

অনেক (সবচেয়ে?) সময় সিরিজের একটি গুরুত্বপূর্ণ সম্পত্তি হ'ল সংলগ্ন মানগুলির মধ্যে পারস্পরিক সম্পর্ক। আইরিশস্ট্যাট দ্বারা নির্দেশিত হিসাবে, আপনি যদি আগের মডেল প্রার্থীদের স্বতন্ত্র পরিবর্তনশীল হিসাবে রিডিংগুলি ব্যবহার করেন তবে এই পারস্পরিক সম্পর্ক (বা স্বতন্ত্রতার অভাব) একটি গুরুত্বপূর্ণ ভূমিকা পালন করে এবং কে-টাইম ক্রস বৈধকরণ কোনও ভাল ধারণা নয় বলে অন্য কারণ।

এই সমস্যাটি কাটিয়ে ওঠার একটি উপায় হ'ল ডেটা "ওভারসাম্পল" করা এবং এটি সজ্জিত করা। যদি সজ্জা প্রক্রিয়াটি সফল হয়, তবে সময় সিরিজে ক্রস বৈধতা ব্যবহার করা কম সমস্যাযুক্ত হয়ে ওঠে। এটি তবে ভবিষ্যতের ডেটা ব্যবহার করে মডেলটি বৈধ করার বিষয়টি সমাধান করবে না

ব্যাখ্যা

ভবিষ্যতে ডেটা মডেল যাচাই আমি মডেল নির্মাণের মানে, নতুন ডেটা মডেলটির নির্মাণ, টেস্টিং, ফাইন টিউনিং ইত্যাদি সময় উপলব্ধ ছিল না জন্য অপেক্ষা এবং যে তে এটি যাচাই নতুন তথ্য।

ডেটা ওভার স্যাম্পলিংয়ের দ্বারা আমি বোঝাতে চেয়েছি ব্যবহারিকভাবে প্রয়োজনের চেয়ে অনেক বেশি ফ্রিকোয়েন্সিতে সময় সিরিজের ডেটা সংগ্রহ করা। উদাহরণস্বরূপ: প্রতি 5 সেকেন্ডে স্টকের দাম স্যাম্পলিং, যখন আপনি সত্যিই প্রতি ঘন্টা পরিবর্তনের প্রতি আগ্রহী হন। এখানে যখন আমি "স্যাম্পলিং" বলি তার অর্থ "ইন্টারপোলটিং", "অনুমান" ইত্যাদি হয় না যদি উচ্চতর ফ্রিকোয়েন্সিতে ডেটাটি পরিমাপ করা যায় না, এই কৌশলটি অর্থহীন


ভবিষ্যতের ডেটাগুলিতে কোনও মডেলকে বৈধতা দেওয়ার 'শাস্ত্রীয়' উপায় কী? 'ওভারস্যাম্পলিং' বলতে কী বোঝ? ধন্যবাদ!
Zach

টিপিপিটি

@bgbg আমি খুব অনুরূপ সমস্যার মুখোমুখি হয়েছি এবং সবে আপনার পোস্টটি পেয়েছি। সময় সিরিজের ডেটা ওভারস্যাম্পলিং এবং সজ্জাবিজ্ঞানের বিষয়ে আপনি কিছু উল্লেখ উল্লেখ করতে পারেন? আমি মনে করি যদি সময়ের সিরিজের স্মৃতিশক্তি যথেষ্ট ছোট হয় (এটি একটি অ্যারিমা ফিটিং করতে পারে) তবে কেবল "নন-ওভারল্যাপিং" নমুনা নেওয়া যেতে পারে এবং সাধারণ ক্রস-বৈধকরণ করতে পারে। কোন চিন্তা প্রশংসা।
horaceT

9

http://robjhyndman.com/researchtips/crossuthoration/ এ সময় সিরিজের ক্রস বৈধকরণের জন্য একটি দ্রুত পরামর্শ রয়েছে। সময় সিরিজের ডেটাগুলির জন্য এলোমেলো বন ব্যবহার সম্পর্কে .... নিশ্চিত না যদিও বুটস্ট্র্যাপের নমুনাগুলি ব্যবহার করে মডেলটি লাগানো হয়েছে এমন একটি বিজোড় পছন্দ বলে মনে হচ্ছে। এখানে অবশ্যই ক্লাসিক টাইম সিরিজের পদ্ধতি রয়েছে (যেমন এআরআইএমএ) যা ব্যবহার করা যেতে পারে, যেমন নিউরাল নেটগুলির মতো এমএল কৌশলগুলি ( উদাহরণস্বরূপ পিডিএফ )। সময় সিরিজের নির্দিষ্ট অ্যালগরিদমের তুলনায় এমএল কৌশলগুলি কতটা ভাল কাজ করে তা নিয়ে সম্ভবত কিছু সিরিজ বিশেষজ্ঞ মন্তব্য করতে পারেন।


2
এই বেশ মাথায় পেরেক আঘাত। আমি সময় সিরিজ বিশ্লেষণে মেশিন লার্নিং কৌশলগুলি প্রয়োগ করার জন্য চেষ্টা করার চেষ্টা করছি।
জাচ

পূর্বে পূর্বাভাসের জন্য এলোমেলো বন ব্যবহার করে আমি সাফল্য পেয়েছি। : পরীক্ষা করে দেখুন biomedcentral.com/1471-2105/15/276
captain_ahab

6

ক্রস-বৈধকরণের সময় সিরিজের মডেলগুলির জন্য এখানে কয়েকটি উদাহরণ কোড রয়েছে । আমি আমার ব্লগে এই কোড উপর প্রসারিত , একত্রিত foreach প্যাকেজ গতি বাড়াতে জিনিস এবং ক্রস-বৈধতা মধ্যে একটি সম্ভাব্য xreg মেয়াদে অনুমতি দেয়।

রব হ্যান্ডম্যানের ব্লগ থেকে কোডটির একটি অনুলিপি এখানে দেওয়া হয়েছে:

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)

ফলাফল


হাই জ্যাচ সময় সিরিজের সাথে কোনও রিগ্রেশন মডেলটির জন্য উপযুক্ত সংখ্যার শর্তাদি সনাক্ত করতে আমি হাইলডম্যানের কোডের কিছুটা আলাদা সংস্করণ প্রয়োগ করেছি। দুর্ভাগ্যক্রমে, সিভি ত্রুটির প্লটটি বেশ কয়েকটি স্থানীয় মিনিমা দেখিয়েছিল যা কীভাবে পদগুলির সংখ্যাটি সঠিকভাবে নির্বাচন করতে হয় তা সম্পর্কে আমাকে প্রশ্ন করেছিল। পুরো সমস্যাটি এখানে বর্ণিত হয়েছে । আপনি কি এর আগেও এরকম কিছু মুখোমুখি হয়েছেন?
jroberayalas

5

আপনার যদি সময় সিরিজের ডেটা থাকে তবে আপনার কাছে "স্বাধীনতার সমস্যার ডিগ্রি" থাকতে পারে। উদাহরণস্বরূপ যদি আপনার প্রতি ঘন্টা পর্যায়ক্রমে 4 টি পর্যবেক্ষণ হয় এবং তারপরে 1 মিনিট বিরতিতে 241 টি পর্যবেক্ষণ ব্যবহার করার সিদ্ধান্ত নেন, আপনার 241 টি পর্যবেক্ষণ রয়েছে তবে সেগুলি অগত্যা স্বতন্ত্র নয়। আপনি যখন বিশ্লেষণাত্মক প্যাকেজে এই 241 মান / পরিমাপ জমা দেন, প্যাকেজটি আশা করতে পারে যে এটি 241 স্বতন্ত্র মান হিসাবে এটি নির্দিষ্ট যাদু করার জন্য এগিয়ে যায়। আপনার কাছে সময় সিরিজের ডেটা থাকলে আপনার বিশ্লেষণগুলি আপগ্রেড করতে হতে পারে। আপনি যে প্রোগ্রামটি উল্লেখ করেছেন তা আমি জানি না তবে এটি আমার পক্ষ থেকে একটি যুক্তিসঙ্গত অনুমান (আমি ভুল হতে পারি!) এটির পরীক্ষাগুলি (এফ টেস্ট / টি পরীক্ষা ... ইত্যাদি) সম্ভবত আপনার সমস্যা সেটটিতে প্রয়োগ হয় না।


1

অনলাইনে পড়ার জন্য আমি আপনাকে দুটি আকর্ষণীয় কাগজপত্র পুনঃসামরণ করতে পারি 1. স্ট্রিমড লার্নিং: পিয়ুশ রাই, ওয়াল দাওমি তৃতীয়, সুরেশ ভেঙ্কটাসুব্রাহ্মণিয়ান্য দ্বারা স্ট্রিমিং কে-মানে আনুমানিক, নীর আইলন দ্বারা প্রবাহিত

আশা করি এটি আপনাকে আপনার ধারণাগুলি একটু স্পষ্ট করে দিয়েছে


আপনি কি এই কাগজপত্রের লিঙ্ক প্রদান করতে পারেন? ধন্যবাদ।
Zach

জ্যাক এখানে প্রথম snowbird.djvuzone.org/2008/abstracts/180.pdf এবং অন্যান্য হয় www1.cs.columbia.edu/~rjaiswal/ajmNIPS09.pdf । আশা করি এটি সাহায্য করবে
মারিয়ানা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.