প্রধান সম্পাদনা: ডেভ অ্যান্ড নিকের প্রতিক্রিয়ার জন্য আমি এ পর্যন্ত তাদেরকে ধন্যবাদ জানাতে চাই। সুসংবাদটি হ'ল আমি কাজ করার লুপ পেয়েছি (ব্যাচের পূর্বাভাসের বিষয়ে অধ্যাপক হাইডম্যানের পোস্ট থেকে মূলত ধার করা)। বকেয়া প্রশ্নগুলি একীভূত করতে:
ক) অটো.রিমার জন্য আমি কীভাবে সর্বাধিক সংখ্যক পুনরাবৃত্তি বৃদ্ধি করব - মনে হয় প্রচুর সংখ্যক বহির্মুখী ভেরিয়েবলের সাথে অটো.রিমা চূড়ান্ত মডেলটিতে রূপান্তরিত করার আগে সর্বাধিক পুনরাবৃত্তিকে আঘাত করছে। আমি যদি এই ভুল বুঝতে পারি তবে দয়া করে আমাকে সংশোধন করুন।
খ) নিকের একটি উত্তর হাইলাইট করে যে আমার প্রতি ঘন্টা ব্যবধানের জন্য ভবিষ্যদ্বাণীগুলি কেবল সেই ঘন্টার মধ্যে অন্তর থেকে নেওয়া হয় এবং আগের দিনের ঘটনাগুলি দ্বারা প্রভাবিত হয় না। আমার প্রবৃত্তি, এই ডেটা নিয়ে কাজ করা থেকে, আমাকে বলুন যে এটি প্রায়শই একটি গুরুত্বপূর্ণ সমস্যার কারণ না হয় তবে আমি কীভাবে এটি মোকাবেলা করতে পারি সে সম্পর্কে পরামর্শের জন্য উন্মুক্ত।
গ) ডেভ উল্লেখ করেছে যে আমার ভবিষ্যদ্বাণীকারী ভেরিয়েবলগুলি ঘিরে সীসা / পিছনের সময়গুলি সনাক্ত করতে আমার আরও অনেক পরিশীলিত পদ্ধতির প্রয়োজন। আর-এ এই বিষয়ে একটি প্রোগ্রাম্যাটিক পদ্ধতির সাথে কারও কি কোনও অভিজ্ঞতা আছে? আমি অবশ্যই আশা করি এর সীমাবদ্ধতা থাকবে তবে আমি এই প্রকল্পটি যথাসম্ভব নিতে চাই এবং আমি সন্দেহ করি না যে এটি অবশ্যই এখানে অন্যদেরও কাজে লাগবে।
২) নতুন ক্যোয়ারী তবে হাতে থাকা টাস্কের সাথে পুরোপুরি সম্পর্কিত - অর্ডার নির্বাচন করার সময় অটো.রিমা কি রেজিস্ট্রারগুলিকে বিবেচনা করে?
আমি একটি দোকানে পরিদর্শন পূর্বাভাস চেষ্টা করছি। চলন্ত ছুটি, লিপ বছর এবং ছড়িয়ে ছিটিয়ে থাকা ইভেন্টগুলি (মূলত আউটলিয়ার্স) এর জন্য আমার অ্যাকাউন্ট করার দক্ষতা প্রয়োজন; এই ভিত্তিতে আমি একত্রিত হয়েছি যে একাধিক seasonতু এবং সেই সাথে বর্ণিত বিষয়গুলির মডেল করার জন্য এক্সওজেনাস ভেরিয়েবলগুলি ব্যবহার করে আরিম্যাক্স আমার সেরা বাজি।
ডেটা 24 ঘন্টা প্রতি ঘন্টা অন্তর অন্তর্ভুক্ত রেকর্ড করা হয়। এটি আমার সমস্যাগুলিতে শূন্যের পরিমাণের কারণে সমস্যাযুক্ত হিসাবে প্রমাণিত হচ্ছে, বিশেষত দিনের বেলাতে যা খুব কম পরিমানে পরিদর্শন করে, কখনও কখনও দোকানটি খোলার পরে কখনই হয় না। এছাড়াও, প্রারম্ভের সময়গুলি তুলনামূলকভাবে ভুল।
এছাড়াও, 3 বছর + historicalতিহাসিক তথ্য সহ একটি সম্পূর্ণ সময়ের সিরিজ হিসাবে পূর্বাভাস দেওয়ার সময় গণনার সময় বিশাল। আমি অনুভব করেছি যে এটি দিনের প্রতিটি ঘন্টা পৃথক সময় সিরিজ হিসাবে গণনা করে এটি দ্রুততর করে তুলবে, এবং দিনের ব্যস্ত সময়ে এটি পরীক্ষা করার সময় উচ্চতর নির্ভুলতা পাওয়া যায় বলে মনে হয় তবে তা আবার প্রারম্ভিক / পরের ঘন্টাগুলির সাথে সমস্যা হিসাবে প্রমাণিত হয় যা ডোন ' t ধারাবাহিকভাবে দর্শন প্রাপ্ত। আমি বিশ্বাস করি যে অটো.রিমা ব্যবহার করে প্রক্রিয়াটি উপকৃত হবে তবে সর্বাধিক সংখ্যক পুনরাবৃত্তিতে পৌঁছানোর আগে এটি কোনও মডেলটিতে রূপান্তর করতে সক্ষম হবে বলে মনে হয় না (সুতরাং ম্যানুয়াল ফিট এবং সর্বাধিক ধারাটি ব্যবহার করা)।
আমি যখন 0 = 0 দেখার জন্য একটি বহির্মুখী পরিবর্তনশীল তৈরি করে 'অনুপস্থিত' ডেটা হ্যান্ডেল করার চেষ্টা করেছি আবারও, এটি দিনের ব্যস্ত সময়গুলির জন্য দুর্দান্ত কাজ করে যখন কেবল যখন কোনও দিনের জন্য ভিজিট বন্ধ থাকে না; এই দৃষ্টান্তগুলিতে, বহিরাগত পরিবর্তনশীল সফলভাবে সামনের দিকে পূর্বাভাসের জন্য হ্যান্ডেল করেছে এবং আগের দিনের বন্ধ হওয়ার প্রভাবটি সহ নয়। যাইহোক, আমি নিশ্চিত নই যে দোকানটি যেখানে উন্মুক্ত রয়েছে তবে সবসময় পরিদর্শন পাওয়া যায় না এমন নিবিড় ঘন্টাটির পূর্বাভাস দেওয়ার ক্ষেত্রে এই নীতিটি কীভাবে ব্যবহার করা যায়।
আর-তে ব্যাচের পূর্বাভাস সম্পর্কে প্রফেসর হেন্ডম্যানের পোস্টের সাহায্যে আমি ২৪ টি সিরিজের পূর্বাভাস দেওয়ার জন্য একটি লুপ স্থাপনের চেষ্টা করছি তবে এটি বেলা ১ টার পরে পূর্বাভাস দিতে চায় বলে মনে হচ্ছে না এবং কেন তা বুঝতে পারছিনা। আমি "অপটিমে ত্রুটি পেয়েছি (init [মাস্ক], আরমাফন, মেথড = আশাবাদী, হেসিয়ান = সত্য, নন-সসীম সসীম-পার্থক্য মান [1]" তবে সমস্ত সিরিজ সমান দৈর্ঘ্যের এবং আমি মূলত ব্যবহার করছি একই ম্যাট্রিক্স, আমি বুঝতে পারছি না কেন এটি হচ্ছে? এর অর্থ ম্যাট্রিক্স পুরো পদমর্যাদার নয়, না? আমি কীভাবে এটিকে এড়াতে পারি?
https://www.dropbox.com/s/26ov3xp4ayig4ws/Data.zip
date()
#Read input files
INPUT <- read.csv("Input.csv")
XREGFDATA <- read.csv("xreg.csv")
#Subset time series data from the input file
TS <- ts(INPUT[,2:25], f=7)
fcast <- matrix(0, nrow=nrow(XREGFDATA),ncol=ncol(TS))
#Create matrix of exogenous variables for forecasting.
xregf <- (cbind(Weekday=model.matrix(~as.factor(XREGFDATA$WEEKDAY)),
Month=model.matrix(~as.factor(XREGFDATA$MONTH)),
Week=model.matrix(~as.factor(XREGFDATA$WEEK)),
Nodata=XREGFDATA$NoData,
NewYearsDay=XREGFDATA$NewYearsDay,
GoodFriday=XREGFDATA$GoodFriday,
EasterWeekend=XREGFDATA$EasterWeekend,
EasterMonday=XREGFDATA$EasterMonday,
MayDay=XREGFDATA$MayDay,
SpringBH=XREGFDATA$SpringBH,
SummerBH=XREGFDATA$SummerBH,
Christmas=XREGFDATA$Christmas,
BoxingDay=XREGFDATA$BoxingDay))
#Remove intercepts
xregf <- xregf[,c(-1,-8,-20)]
NoFcast <- 0
for(i in 1:24) {
if(max(INPUT[,i+1])>0) {
#The exogenous variables used to fit are the same for all series except for the
#'Nodata' variable. This is to handle missing data for each series
xreg <- (cbind(Weekday=model.matrix(~as.factor(INPUT$WEEKDAY)),
Month=model.matrix(~as.factor(INPUT$MONTH)),
Week=model.matrix(~as.factor(INPUT$WEEK)),
Nodata=ifelse(INPUT[,i+1] < 1,1,0),
NewYearsDay=INPUT$NewYearsDay,
GoodFriday=INPUT$GoodFriday,
EasterWeekend=INPUT$EasterWeekend,
EasterMonday=INPUT$EasterMonday,
MayDay=INPUT$MayDay,
SpringBH=INPUT$SpringBH,
SummerBH=INPUT$SummerBH,
Christmas=INPUT$Christmas,
BoxingDay=INPUT$BoxingDay))
xreg <- xreg[,c(-1,-8,-20)]
ARIMAXfit <- Arima(TS[,i],
order=c(0,1,8), seasonal=c(0,1,0),
include.drift=TRUE,
xreg=xreg,
lambda=BoxCox.lambda(TS[,i])
,optim.control = list(maxit=1500), method="ML")
fcast[,i] <- forecast(ARIMAXfit, xreg=xregf)$mean
} else{
NoFcast <- NoFcast +1
}
}
#Save the forecasts to .csv
write(t(fcast),file="fcasts.csv",sep=",",ncol=ncol(fcast))
date()
আমি যেভাবে এটি নিয়ে যাচ্ছি এবং এই স্ক্রিপ্টটি কাজ করার দিকে যে কোনও সহায়তা করার জন্য আমি গঠনমূলক সমালোচনার পুরোপুরি প্রশংসা করব। আমি সচেতন যে এখানে অন্যান্য সফ্টওয়্যার উপলব্ধ রয়েছে তবে আমি এখানে আর এবং / অথবা এসপিএসএস ব্যবহারের জন্য কঠোরভাবে সীমাবদ্ধ ...
এছাড়াও, আমি এই ফোরামে খুব নতুন - আমি যথাসম্ভব সম্পূর্ণরূপে একটি ব্যাখ্যা দেওয়ার চেষ্টা করেছি, আমার করা পূর্ববর্তী গবেষণাটি প্রদর্শন করেছি এবং পুনরুত্পাদনযোগ্য উদাহরণও সরবরাহ করতে পারি; আমি আশা করি এটি যথেষ্ট যথেষ্ট তবে দয়া করে আমার পোস্টে উন্নত করার জন্য আমি সরবরাহ করতে পারি এমন আরও কিছু আছে কিনা তা আমাকে জানান।
সম্পাদনা: নিক প্রস্তাবিত যে আমি প্রথমে দৈনিক মোট ব্যবহার করি। আমার যুক্ত করা উচিত যে আমি এটি পরীক্ষা করেছি এবং এক্সওজেনাস ভেরিয়েবলগুলি দৈনিক, সাপ্তাহিক এবং বার্ষিক seasonতুতে ক্যাপচারের পূর্বাভাস দেয় produce এটি অন্যান্য কারণগুলির মধ্যে একটি ছিল যা আমি প্রতি ঘন্টাকে একটি পৃথক সিরিজ হিসাবে পূর্বাভাস দেওয়ার চিন্তা করেছিলাম যদিও নিক যেমন উল্লেখ করেছেন যে কোনও দিন বিকেল চারটার জন্য আমার পূর্বাভাস দিনের আগের ঘন্টাগুলি দ্বারা প্রভাবিত হবে না।
সম্পাদনা: 09/08/13, লুপের সাথে সমস্যাটি কেবল পরীক্ষার জন্য আমি যে মূল আদেশটি ব্যবহার করেছি তা করানো হয়েছিল। আমার খুব শীঘ্রই এটি স্পট করা উচিত ছিল এবং উপরে এই ডেটা দিয়ে অটো.আরারিমা চালানোর চেষ্টা করার বিষয়ে আরও জরুরীতা দেওয়া উচিত - উপরে পয়েন্ট ক) এবং ডি দেখুন)।