এই প্রশ্নে সম্ভবত একাধিক গুরুতর ভুল বোঝাবুঝি রয়েছে, তবে এটি গণনাগুলি সঠিকভাবে পরিচালিত করার জন্য নয়, বরং সময়কে কেন্দ্র করে কিছুটা বিবেচনায় রেখে শিখতে উদ্বুদ্ধ করা।
সময় সিরিজের প্রয়োগ বোঝার চেষ্টা করার সময়, দেখে মনে হয় যেন ডে-ট্রেন্ডিং ডেটা ভবিষ্যতের ভবিষ্যদ্বাণীগুলিকে অনুজ্ঞাযোগ্য করে তোলে। উদাহরণস্বরূপ, প্যাকেজ gtemp
থেকে সময় সিরিজটি astsa
দেখতে এমন দেখাচ্ছে:
ভবিষ্যদ্বাণীিত ভবিষ্যতের মানগুলি ষড়যন্ত্র করার সময় বিগত দশকে upর্ধ্বমুখী প্রবণতাটি ফ্যাক্টর করা উচিত।
যাইহোক, সময় সিরিজের ওঠানামা মূল্যায়ন করার জন্য ডেটাগুলিকে স্টেশনারি সময় সিরিজে রূপান্তর করা দরকার to আমি যদি এটির সাথে আলাদা করে আরিমা প্রক্রিয়া হিসাবে মডেল করি (আমার ধারণা এটি মাঝখানে হওয়ার কারণে এটি করা 1
হয়েছে order = c(-, 1, -)
):
require(tseries); require(astsa)
fit = arima(gtemp, order = c(4, 1, 1))
এবং তারপরে ভবিষ্যতের মানগুলি ( বছর) পূর্বাভাস দেওয়ার চেষ্টা করুন , আমি wardর্ধ্বমুখী প্রবণতা উপাদানটি মিস করছি:
pred = predict(fit, n.ahead = 50)
ts.plot(gtemp, pred$pred, lty = c(1,3), col=c(5,2))
অগত্যা নির্দিষ্ট আরিমা প্যারামিটারগুলির প্রকৃত অপ্টিমাইজেশনের স্পর্শ না করে আমি কীভাবে প্লটের পূর্বাভাসিত অংশের the র্ধ্বমুখী প্রবণতাটি পুনরুদ্ধার করতে পারি?
আমি সন্দেহ করি যে কোথাও কোনও ওএলএস "লুকানো" আছে, যা এই অ-অবস্থানের জন্য দায়বদ্ধ হবে?
আমি ধারণাটি পেরিয়ে এসেছি drift
, যা প্যাকেজটির Arima()
কার্যক্রমে অন্তর্ভুক্ত হতে পারে forecast
, একটি প্লাজেবল প্লট রেন্ডার করে:
par(mfrow = c(1,2))
fit1 = Arima(gtemp, order = c(4,1,1),
include.drift = T)
future = forecast(fit1, h = 50)
plot(future)
fit2 = Arima(gtemp, order = c(4,1,1),
include.drift = F)
future2 = forecast(fit2, h = 50)
plot(future2)
যা এর গণ্য প্রক্রিয়া হিসাবে বেশি অস্বচ্ছ। প্রবণতা কীভাবে প্লটের গণনার সাথে সংহত করা হয়েছে সে সম্পর্কে আমি কিছুটা বোঝার লক্ষ্য রেখেছি। সমস্যার মধ্যে একটি কি সেখানে কোনো drift
মধ্যে arima()
(ছোট হাতের)?
তুলনায়, ডেটাसेट ব্যবহার করে, ডেটাসেটের AirPassengers
শেষ পয়েন্টের বাইরে যাত্রীদের পূর্বাভাসের সংখ্যাটি এই upর্ধ্বমুখী প্রবণতার জন্য অ্যাকাউন্টিং প্লট করা হয়েছে:
কোড হল:
fit = arima(log(AirPassengers), c(0, 1, 1), seasonal = list(order = c(0, 1, 1), period = 12))
pred <- predict(fit, n.ahead = 10*12)
ts.plot(AirPassengers,exp(pred$pred), log = "y", lty = c(1,3))
উপলব্ধি করা একটি প্লট রেন্ডারিং।