সময়-সিরিজ মডেল নির্বাচনের জন্য কে-ফোল্ড ক্রস-বৈধতা ব্যবহার করা


70

প্রশ্ন: আমি কোনও কিছুর বিষয়ে নিশ্চিত হতে চাই, সময় সিরিজের সাথে কে-ফোল্ড ক্রস-বৈধকরণের ব্যবহার কি সোজাসুজি, বা এটি ব্যবহার করার আগে কারও কি বিশেষ মনোযোগ দেওয়ার প্রয়োজন?

পটভূমি: আমি প্রতি 5 মিনিটে ডেটা নমুনা সহ 6 বছরের একটি টাইম সিরিজ (আধা-চিহ্নভুক্ত চেইন সহ) মডেলিং করছি। কয়েকটি মডেলের তুলনা করতে, আমি 6 বছরে ডেটা আলাদা করে একটি 6-গুণ ক্রস-বৈধতা ব্যবহার করছি, সুতরাং আমার প্রশিক্ষণ সেটগুলির (পরামিতিগুলি গণনা করার জন্য) দৈর্ঘ্য 5 বছর এবং পরীক্ষার সেটগুলির দৈর্ঘ্য 1 বছর। আমি টাইম অর্ডারটি বিবেচনায় নিচ্ছি না, তাই আমার বিভিন্ন সেটগুলি হ'ল:

  • ভাঁজ 1: প্রশিক্ষণ [1 2 3 4 5], পরীক্ষা [6]
  • ভাঁজ 2: প্রশিক্ষণ [1 2 3 4 6], পরীক্ষা [5]
  • ভাঁজ 3: প্রশিক্ষণ [1 2 3 5 6], পরীক্ষা [4]
  • ভাঁজ 4: প্রশিক্ষণ [1 2 4 5 6], পরীক্ষা [3]
  • ভাঁজ 5: প্রশিক্ষণ [1 3 4 5 6], পরীক্ষা [2]
  • ভাঁজ 6: প্রশিক্ষণ [2 3 4 5 6], পরীক্ষা [1]।

আমি হাইপোথিসিসটি তৈরি করছি যে প্রতি বছর একে অপরের থেকে পৃথক। আমি কীভাবে এটি যাচাই করতে পারি? সময় সিরিজের সাথে কে-ভাঁজ ক্রস-বৈধকরণের প্রয়োগযোগ্যতা দেখানোর কোনও রেফারেন্স রয়েছে কি?


এই নিবন্ধটি একবার দেখুন, যা আমি হেলফুল francescopochetti.com/…
হেনোক এস মেনজিস্টু

উত্তর:


69

সময়-সিরিজ (বা অন্যান্য অভ্যন্তরীণ অর্ডারযুক্ত ডেটা) ক্রস-বৈধকরণের জন্য সমস্যাযুক্ত হতে পারে। যদি কিছু প্যাটার্ন 3 সালে উত্থিত হয় এবং 4-6 বছর অবধি থাকে, তবে আপনার মডেল এটি ধরে নিতে পারে, যদিও এটি বছরের 1 এবং 2 বছরের অংশ ছিল না।

এমন একটি পদ্ধতির যা সময় সিরিজের জন্য মাঝে মাঝে আরও মূলসূত্রযুক্ত হয় ফরোয়ার্ড চেইন হয়, যেখানে আপনার পদ্ধতিটি এমন কিছু হবে:

  • ভাঁজ 1: প্রশিক্ষণ [1], পরীক্ষা [2]
  • ভাঁজ 2: প্রশিক্ষণ [1 2], পরীক্ষা [3]
  • ভাঁজ 3: প্রশিক্ষণ [1 2 3], পরীক্ষা [4]
  • ভাঁজ 4: প্রশিক্ষণ [1 2 3 4], পরীক্ষা [5]
  • ভাঁজ 5: প্রশিক্ষণ [1 2 3 4 5], পরীক্ষা [6]

ভবিষ্যদ্বাণীক সময়ে আপনি যে পরিস্থিতিটি দেখতে পাবেন সেটিকে আরও নিখুঁতভাবে মডেল করবে, যেখানে আপনি অতীতের ডেটাগুলিতে মডেল করবেন এবং আগাম ডেটাতে ভবিষ্যদ্বাণী করবেন। এটি আপনাকে ডেটার আকারের উপর আপনার মডেলিংয়ের নির্ভরতার একটি ধারণাও দেয়।


1
ধন্যবাদ। আমি বুঝতে পেরেছি, যেমন জাচ বলেছিলেন, এটি করার পক্ষে এটি প্রচলিত উপায়। এবং আমি বুঝতে পারি কেন। আমার যে সমস্যাটি রয়েছে তা হ'ল এটি সত্য যে এটি ডেটার আকারের প্রকরণকে বিবেচনা করবে, সুতরাং আমি আমার মডেলের "সত্য" সাধারণীকরণের ত্রুটিটি পাব না। তবে একটি মিশ্র ত্রুটি: সাধারণীকরণ এবং ডেটা আকার। আপনি কি কিছু অন্যান্য রেফ (এমহাইন্ডম্যান ব্যতীত) জানেন যা সময় সিরিজের ক্রস-বৈধতা নিয়ে কাজ করে? আমাকে ভুল করবেন না এটি আমি বিশ্বাস করি না আপনি কী বলছেন এবং এম হেইডম্যান কী বলছেন, এটি সঠিকভাবে বোঝায়। আমি
সাধারণভাবে

আমি আশঙ্কা করি আমি এই জাতীয় রেফারেন্সটি জানি না, তবে অন্য কেউ যদি জানতে পারে তবে আমি এটি দেখতে আগ্রহী।
কেন উইলিয়ামস

1
@ ওয়াইন, আমি বোঝাতে চাইছি যে এই সমাধানটি প্রতিটি ভাগে আরও বেশি বেশি বছর প্রশিক্ষণের ডেটা ব্যবহার করে। আমার ডেটাতে অবশ্যই বছরের মধ্যে পার্থক্য রয়েছে, তবে কোনও আপত্তি প্রবণতা বা seasonতুসত্তা নেই।
মিকাল এস

3
@ মিকায়েল: আপনি ভাঁজ 1: ট্রেন [1 2] পরীক্ষা [3] ব্যবহার করতে পারেন; ভাঁজ 2: ট্রেন [2 3] পরীক্ষা [4]; ভাঁজ 3: ট্রেন [3 4] পরীক্ষা [5], ইত্যাদি, যদি আপনি প্রতিটি ভাঁজ সহ আরও এবং আরও বেশি ডেটা ব্যবহার সম্পর্কে উদ্বিগ্ন হন। আমার ধারণাটি হ'ল একটি আধা-এমসির কৌশল নিয়ে আপনি কোনও প্রবণতা না থাকলেও আশেপাশের বছরগুলিকে সত্যই ছড়িয়ে দিতে পারেন না।
ওয়েইন

3
@ মিক্যালস: আমি এই পেপারটি সাইনডাইরেক্ট / সাইন্স / আর্টিকেল / পিআইআই / এস 10020025511006773 খুঁজে পেয়েছি এবং ভেবেছি এটি আগ্রহী হতে পারে। তারা এই 'ক্যানোনিকাল' পদ্ধতির সাথে অন্য দুটি পদ্ধতির সাথে তুলনা করে - একটি 'ব্লক বুস্ট্রেপ' এবং একটি 'ছাড়ুন নির্ভর' পদ্ধতির।
thebigdog

26

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

বিষয়গুলি স্বজ্ঞাত করতে, এখানে এর জন্য একটি চিত্র রয়েছে:

এখানে চিত্র বর্ণনা লিখুন

সমতুল্য আর কোডটি হবে:

i <- 36    #### Starting with 3 years of monthly training data 
pred_ets <- c()
pred_arima <- c()
while(i <= nrow(dt)){
  ts <- ts(dt[1:i, "Amount"], start=c(2001, 12), frequency=12)

  pred_ets <- rbind(pred_ets, data.frame(forecast(ets(ts), 3)$mean[1:3]))
	  pred_arima <- rbind(pred_arima, data.frame(forecast(auto.arima(ts), 3)$mean[1:3]))

  i = i + 3
}
names(pred_arima) <- "arima"
names(pred_ets) <- "ets"

pred_ets <- ts(pred_ets$ets, start=c(2005, 01), frequency = 12)
	pred_arima <- ts(pred_arima$arima, start=c(2005, 01), frequency =12)

accuracy(pred_ets, ts_dt)
accuracy(pred_arima, ts_dt)

আর ব্যবহার করে লজিস্টিক রিগ্রেশন এর মতো পদ্ধতির জন্য কী কী উপায় আছে?
hlyates

1
@ শুটিং, আমার বোঝার মধ্যে এটি সম্ভব, আপনার কেবলমাত্র উপরের কোডটি কিছুটা পরিবর্তন করতে হবে। Pred_lr অন্তর্ভুক্ত করুন (লজিস্টিক রিগ্রেশন দ্বারা পূর্বাভাস) এবং সে অনুযায়ী কলামগুলির নাম পরিবর্তন করুন।
যতীন গার্গ

22

সময়-সিরিজ ক্রস-বৈধকরণ করার "ক্যানোনিকাল" উপায় (কমপক্ষে @ রব হ্যান্ডম্যানের বর্ণনা অনুসারে) ডেটাসেটের মাধ্যমে "রোল" করা।

অর্থাৎ,

  • ভাঁজ 1: প্রশিক্ষণ [1], পরীক্ষা [2]
  • ভাঁজ 2: প্রশিক্ষণ [1 2], পরীক্ষা [3]
  • ভাঁজ 3: প্রশিক্ষণ [1 2 3], পরীক্ষা [4]
  • ভাঁজ 4: প্রশিক্ষণ [1 2 3 4], পরীক্ষা [5]
  • ভাঁজ 5: প্রশিক্ষণ [1 2 3 4 5], পরীক্ষা [6]

মূলত, আপনার প্রশিক্ষণ সেটে পরীক্ষা সেটের পরে ঘটে এমন তথ্য থাকা উচিত নয়।


13

বেশিরভাগ পরিস্থিতিতে টাইম সিরিজ ক্রস বৈধতার জন্য "ভবিষ্যত" ডেটাগুলির ব্লক ব্যবহার করে কোনও ভুল নেই। বেশিরভাগ পরিস্থিতিতে আমি स्थिर ডেটার জন্য মডেলগুলি উল্লেখ করি, যা আমরা সাধারণত ব্যবহার করি এমন মডেল। উদাহরণস্বরূপ, যখন আপনি কোনও> সাথে দিয়ে একটি সিরিজ ফিট করেন, আপনি সিরিজের পার্থক্য গ্রহণ করেন এবং অবশিষ্ট তথ্যগুলিতে স্থির তথ্যের জন্য একটি মডেল ফিট করেন।d > 0 dARIMA(p,d,q)d>0d

মডেল নির্বাচন সরঞ্জাম হিসাবে কাজ করতে ক্রস বৈধকরণের জন্য, আপনার প্রশিক্ষণ এবং পরীক্ষার ডেটাগুলির মধ্যে আনুমানিক স্বাধীনতা প্রয়োজন। সময় সিরিজের ডেটা নিয়ে সমস্যা হ'ল সংলগ্ন ডেটা পয়েন্টগুলি প্রায়শই অত্যন্ত নির্ভরশীল, তাই স্ট্যান্ডার্ড ক্রস বৈধকরণ ব্যর্থ হবে। এই জন্য প্রতিকার হয় একটা ফাঁক ছেড়ে , পরীক্ষা নমুনা ও প্রশিক্ষণ নমুনার মধ্যে পরীক্ষা নমুনা উভয় পক্ষের । পরীক্ষার নমুনার আগে আপনাকেও যে ফাঁক ছাড়তে হবে তার কারণ হ'ল নির্ভরতা হ'ল সামঞ্জস্যিক যখন আপনি সময় বা পিছনে পিছনে যান (পরস্পরের সম্পর্ক সম্পর্কে ভাবেন)।

এই পদ্ধতির বলা হয় ক্রস বৈধকরণ ( ছেড়ে দিন , পরীক্ষার নমুনার দুপাশে পর্যবেক্ষণগুলি মুছুন ) এবং এই কাগজে বর্ণিত হয়েছে is আপনার উদাহরণে, এটি দেখতে এরকম হবে:v hhvvh

  • ভাঁজ 1: প্রশিক্ষণ [1 2 3 4 5 ঘন্টা], পরীক্ষা [6]
  • ভাঁজ 2: প্রশিক্ষণ [1 2 3 4 ঘন্টা এইচ 6], পরীক্ষা [5]
  • ভাঁজ 3: প্রশিক্ষণ [1 2 3h h5 6], পরীক্ষা [4]
  • ভাঁজ 4: প্রশিক্ষণ [1 2 ঘন্টা এইচ 4 5 6], পরীক্ষা [3]
  • ভাঁজ 5: প্রশিক্ষণ [1 ঘন্টা এইচ 3 4 5 6], পরীক্ষা [2]
  • ভাঁজ 6: প্রশিক্ষণ [এইচ 2 3 4 5 6], পরীক্ষা [1]

এইচটি নির্দেশ করে যে প্রশিক্ষণের নমুনার h পর্যবেক্ষণগুলি সেই দিকে মোছা হয়েছে।


3

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

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

" সময় সিরিজের পূর্বাভাস মডেলগুলি মূল্যায়ন: পারফরম্যান্স অনুমানের পদ্ধতিগুলির উপর একটি অভিজ্ঞতামূলক গবেষণা " সেরকুইরা এট আল দ্বারা। এই মূল্যায়নের সাথে একমত তবে, অ-স্টেশনারি সময়-সিরিজের জন্য, তারা পরিবর্তে হোল্ড-আউট-এ একটি পরিবর্তন ব্যবহার করার পরামর্শ দেয় যার নাম রেপ-হোল্ডআউট। রিপ-হোল্ডআউটে, পরীক্ষার ডেটার সূচনা চিহ্নিত করতে aসময়-সিরিজে একটি পয়েন্ট বেছে নেওয়া হয় Y। পয়েন্টটি aএকটি উইন্ডোর মধ্যে থাকা নির্ধারিত হয়। এটি নীচের চিত্রে চিত্রিত হয়েছে:

পুনরুদ্ধার চিত্রণ

এই উল্লিখিত কাগজটি দীর্ঘ এবং নিঃসন্দেহে সর্বজনীনভাবে উপলব্ধ কোড সহ এই প্রশ্নের উত্তরে উল্লিখিত প্রায় সমস্ত অন্যান্য পদ্ধতির পরীক্ষা করে । এর মধ্যে পরীক্ষামূলক তথ্যের আগে এবং পরে ফাঁকগুলি অন্তর্ভুক্ত করার জন্য @ ম্যাথিয়াস শ্মিট্টব্লাইচার দাবি অন্তর্ভুক্ত রয়েছে। এছাড়াও, আমি কেবল কাগজ সংক্ষিপ্ত করেছি। কাগজের আসল উপসংহারে সময়-সিরিজের মডেলগুলি মূল্যায়নের জন্য সিদ্ধান্তের সাথে জড়িত!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.