ARIMA (AutoRegressive Integrated Moving Average) মডেল হলো একটি জনপ্রিয় টাইম সিরিজ বিশ্লেষণ পদ্ধতি, যা অটো-রিগ্রেসিভ (AR), ইন্টিগ্রেশন (I), এবং মুভিং অ্যাভারেজ (MA) উপাদানগুলির সমন্বয়ে কাজ করে। ARIMA মডেলটি পূর্ববর্তী সময়ের মান, পার্থক্য (differencing), এবং গড়ের ভিত্তিতে ভবিষ্যতের মান পূর্বাভাস করতে ব্যবহৃত হয়। এটি বিশেষভাবে স্টেশনারি টাইম সিরিজ ডেটার জন্য উপযুক্ত এবং নন-স্টেশনারি ডেটাকে স্টেশনারি করতে সাহায্য করে।
ARIMA মডেলটি ৩টি প্রধান অংশ নিয়ে গঠিত:
- AR (AutoRegressive): পূর্ববর্তী ডেটা পয়েন্টগুলির উপর নির্ভরশীলতা।
- I (Integrated): টাইম সিরিজের পার্থক্য (differencing) নিয়ে কাজ করে, যাতে এটি স্টেশনারি হয়।
- MA (Moving Average): পূর্ববর্তী ত্রুটির (error) উপর ভিত্তি করে ভবিষ্যত মান অনুমান।
ARIMA মডেলের ফর্মুলা:
ARIMA মডেলের সাধারণ ফর্ম হলো:
এখানে:
- = বর্তমান সময়ের মান
- = কনস্ট্যান্ট
- = AR প্যারামিটার
- = ত্রুটি (error) বা শক (shock) যা মুভিং অ্যাভারেজ পদ্ধতির মাধ্যমে গণনা করা হয়
- = MA প্যারামিটার
- = AR ল্যাগের সংখ্যা
- = পার্থক্য (differencing) প্যারামিটার
- = MA ল্যাগের সংখ্যা
ARIMA মডেলের উপাদানগুলো:
- AR (AutoRegressive) - অটো রিগ্রেসিভ:
- বর্ণনা: AR মডেলটি টাইম সিরিজের পূর্ববর্তী মানের উপর নির্ভরশীল। এটি ডেটার বর্তমান মানকে পূর্ববর্তী সময়ের মানের একটি লিনিয়ার ফাংশন হিসেবে মডেল করে।
- ফর্মুলা:
- ব্যবহার: AR মডেলটি সঠিকভাবে টাইম সিরিজের স্বতন্ত্র পূর্বাভাস তৈরি করতে সহায়ক হয়।
- I (Integrated) - ইন্টিগ্রেশন:
- বর্ণনা: এটি স্টেশনারিটি অর্জন করতে ব্যবহৃত হয়। টাইম সিরিজের ট্রেন্ড বা সিজনাল প্যাটার্ন সরাতে পার্থক্য (differencing) পদ্ধতি ব্যবহার করা হয়।
- ফর্মুলা: , যেখানে হল পার্থক্যের অর্ডার। এটি একটি সময়ের সিরিজের ট্রেন্ড বা সিজনাল প্যাটার্ন সরানোর জন্য ব্যবহৃত হয়।
- ব্যবহার: ডেটা যদি স্টেশনারি না হয়, তবে মানকে বৃদ্ধি করে স্টেশনারিটি অর্জন করা হয়।
- MA (Moving Average) - মুভিং অ্যাভারেজ:
- বর্ণনা: MA মডেলটি পূর্ববর্তী ত্রুটির (error) উপর ভিত্তি করে বর্তমান মান পূর্বাভাস করে। এটি পূর্ববর্তী ত্রুটির একটি লিনিয়ার সমষ্টি হিসেবেই ভবিষ্যতের মান অনুমান করে।
- ফর্মুলা:
- ব্যবহার: MA মডেলটি ভবিষ্যতের ত্রুটি বা শকের উপর ভিত্তি করে আরও নির্ভুল পূর্বাভাস তৈরি করতে সহায়ক।
ARIMA মডেল ব্যবহার করার ধাপসমূহ:
১. স্টেশনারিটি পরীক্ষা:
- ARIMA মডেলটি স্টেশনারি টাইম সিরিজের জন্য কাজ করে, তাই প্রথমেই টাইম সিরিজের স্টেশনারিটি পরীক্ষা করতে হবে।
- Augmented Dickey-Fuller (ADF) test ব্যবহার করা হয় স্টেশনারিটি পরীক্ষা করার জন্য।
২. ডিফারেন্সিং:
- যদি টাইম সিরিজ স্টেশনারি না হয়, তবে পার্থক্য (differencing) ব্যবহার করে এটি স্টেশনারি করা হয়। সাধারণত, ১ বা ২ বার পার্থক্য গ্রহণ করা হয়।
৩. প্যারামিটার নির্বাচন:
- ARIMA মডেলটি তিনটি প্যারামিটার নিয়ে কাজ করে: (AR ল্যাগ), (difference), এবং (MA ল্যাগ)। প্যারামিটারগুলির মান নির্বাচন করা হয় অটোকরিলেশন প্লট (ACF) এবং পারশোন ক্রস-কোরিলেশন প্লট ব্যবহার করে।
৪. মডেল ফিটিং:
- নির্বাচিত প্যারামিটারগুলির ভিত্তিতে ARIMA মডেলটি ফিট করা হয়। এটি মডেল তৈরি এবং পরবর্তী মানের পূর্বাভাস দিতে সহায়ক।
৫. ভবিষ্যত পূর্বাভাস:
- ফিট করা মডেলটি ব্যবহার করে ভবিষ্যতের মানের পূর্বাভাস তৈরি করা হয়।
ARIMA মডেলের উদাহরণ (Python)
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
import matplotlib.pyplot as plt
# Sample time series data
data = {'Date': pd.date_range(start='2020-01-01', periods=10, freq='D'),
'Value': [100, 120, 130, 125, 135, 145, 155, 160, 150, 145]}
df = pd.DataFrame(data)
df.set_index('Date', inplace=True)
# Fit ARIMA model
model = ARIMA(df['Value'], order=(1,1,1)) # p=1, d=1, q=1
model_fit = model.fit()
# Make predictions
forecast = model_fit.forecast(steps=5)
# Plot original data and forecast
plt.plot(df.index, df['Value'], label='Original Data')
plt.plot(pd.date_range(start='2020-01-11', periods=5, freq='D'), forecast, label='Forecast', color='red')
plt.legend()
plt.show()
ARIMA মডেলের উপকারিতা:
- স্টেশনারি ডেটার জন্য উপযুক্ত: ARIMA মডেলটি স্টেশনারি টাইম সিরিজ ডেটার জন্য খুব কার্যকর।
- ভবিষ্যত পূর্বাভাস: ARIMA মডেল ভবিষ্যতের মানের সঠিক পূর্বাভাস তৈরি করতে সহায়ক।
সীমাবদ্ধতা:
- স্টেশনারিটি প্রয়োজন: ARIMA মডেলটি শুধুমাত্র স্টেশনারি ডেটার উপর কাজ করে। নন-স্টেশনারি ডেটার জন্য সঠিক পূর্বাভাস তৈরি করতে কিছু অতিরিক্ত প্রক্রিয়া (যেমন ডিফারেন্সিং) প্রয়োজন।
- লিনিয়ার সম্পর্ক: ARIMA মডেলটি শুধুমাত্র লিনিয়ার সম্পর্ক বিশ্লেষণ করতে সক্ষম, তাই নন-লিনিয়ার সম্পর্ক থাকলে এটি কার্যকর নাও হতে পারে।
সারাংশ
ARIMA (AutoRegressive Integrated Moving Average) মডেলটি টাইম সিরিজ বিশ্লেষণের একটি শক্তিশালী মডেল যা অটো-রিগ্রেসিভ (AR), ইন্টিগ্রেশন (I), এবং মুভিং অ্যাভারেজ (MA) উপাদানগুলির সমন্বয়ে কাজ করে। এটি টাইম সিরিজের পূর্ববর্তী মান এবং ত্রুটির ওপর ভিত্তি করে ভবিষ্যতের মান পূর্বাভাস করতে ব্যবহৃত হয়। ARIMA মডেলটি স্টেশনারি টাইম সিরিজের জন্য উপযুক্ত এবং বিভিন্ন প্রক্রিয়া ব্যবহার করে নন-স্টেশনারি ডেটাকে স্টেশনারি করতে সহায়ক।
ARIMA (AutoRegressive Integrated Moving Average) মডেল হলো টাইম সিরিজ বিশ্লেষণের একটি অত্যন্ত জনপ্রিয় এবং শক্তিশালী মডেল, যা অটো-রিগ্রেসিভ (AR), ইন্টিগ্রেটেড (I), এবং মুভিং অ্যাভারেজ (MA) উপাদানগুলির সমন্বয়ে তৈরি। ARIMA মডেলটি মূলত ট্রেন্ড, সিজনালিটি এবং অন্যান্য অস্থির পরিবর্তনসমূহের সাথে কাজ করতে পারে এবং ভবিষ্যতের পূর্বাভাসের জন্য ব্যবহৃত হয়।
ARIMA মডেলটি সময়ের সাথে ডেটার প্যাটার্ন এবং সম্পর্ক চিহ্নিত করার জন্য গড়, ভ্যারিয়েন্স এবং কভেরিয়েন্সের ভিত্তিতে কাজ করে। এটি সাধারণত স্টেশনারি টাইম সিরিজ ডেটার জন্য কার্যকর। তবে, যদি ডেটা স্টেশনারি না হয়, তাহলে ইন্টিগ্রেটেড (I) অংশটি ডেটাকে স্টেশনারি করতে সাহায্য করে।
ARIMA মডেলের কম্পোনেন্টস (AR, I, MA)
ARIMA মডেলটি তিনটি প্রধান উপাদান নিয়ে গঠিত:
- AR (AutoRegressive)
- I (Integrated)
- MA (Moving Average)
১. AR (AutoRegressive) - অটো-রিগ্রেসিভ
- বর্ণনা: AR অংশটি পূর্ববর্তী সময়ের মানের (ল্যাগ) উপর ভিত্তি করে বর্তমান সময়ের মান অনুমান করে। অর্থাৎ, এটি টাইম সিরিজের বর্তমান মান এবং পূর্ববর্তী মানগুলির মধ্যে সম্পর্ক নির্ধারণ করে।
ফর্মুলা:
এখানে, হলো বর্তমান মান, হলো পূর্ববর্তী সময়ের মান, হলো AR মডেলের প্যারামিটার, এবং হলো হোয়াইট নয়েজ বা র্যান্ডম ত্রুটি।
- ব্যবহার: AR অংশটি ব্যবহার করে ডেটার পূর্ববর্তী মানের উপর ভিত্তি করে বর্তমান মানের পূর্বাভাস তৈরি করা হয়।
২. I (Integrated) - ইন্টিগ্রেটেড
- বর্ণনা: I অংশটি টাইম সিরিজের স্টেশনারিটি অর্জন করতে ব্যবহৃত হয়। সাধারণত, টাইম সিরিজ ডেটা স্টেশনারি না থাকলে ডিফারেন্সিং (differencing) পদ্ধতি ব্যবহার করে ডেটাকে স্টেশনারি করা হয়। ইন্টিগ্রেশন মানে হল, পূর্ববর্তী সময়ের মানগুলির পার্থক্য নেওয়া, যাতে ডেটা স্টেশনারি হয়।
ফর্মুলা:
এটি d সংখ্যক বার ডিফারেন্সিং (paralleling "I" value) প্রয়োগ করতে পারে।
- ব্যবহার: I অংশটি ডেটার ট্রেন্ড সরাতে এবং স্টেশনারিটি অর্জন করতে ব্যবহৃত হয়। এর মাধ্যমে টাইম সিরিজ ডেটাকে পরিস্কার এবং সহজে বিশ্লেষণযোগ্য করা হয়।
৩. MA (Moving Average) - মুভিং অ্যাভারেজ
- বর্ণনা: MA অংশটি পূর্ববর্তী ত্রুটির (error terms) উপর ভিত্তি করে বর্তমান মান অনুমান করে। এটি টাইম সিরিজের পূর্ববর্তী ত্রুটির গড় ব্যবহার করে মডেলের পূর্বাভাস তৈরি করে। MA মডেলটি সাধারণত পূর্ববর্তী ত্রুটির জন্য একটি গড় মান ধারণ করে, যা বর্তমান সময়ে ভবিষ্যত প্রক্ষেপণ করতে ব্যবহৃত হয়।
ফর্মুলা:
এখানে, হলো বর্তমান মান, হলো ত্রুটি, হলো MA মডেলের প্যারামিটার, এবং হলো মুভিং অ্যাভারেজ ল্যাগ।
- ব্যবহার: MA অংশটি ত্রুটির গড় ব্যবহার করে টাইম সিরিজের পরিবর্তনগুলি শোধরানোর জন্য ব্যবহৃত হয়।
ARIMA মডেলের সাধারণ ফর্ম
ARIMA মডেলটি সাধারণত ARIMA(p, d, q) আকারে লেখা হয়, যেখানে:
- p: AR অংশের জন্য ল্যাগের সংখ্যা (অর্থাৎ, কতগুলি পূর্ববর্তী মান ব্যবহার করা হবে)।
- d: I অংশের জন্য ডিফারেন্সিং সংখ্যক (কতবার ডিফারেন্সিং প্রয়োজন)।
- q: MA অংশের জন্য ল্যাগের সংখ্যা (অর্থাৎ, কতগুলি পূর্ববর্তী ত্রুটি ব্যবহার করা হবে)।
ARIMA মডেলের উদাহরণ:
ধরা যাক, আপনার কাছে একটি টাইম সিরিজ ডেটা রয়েছে এবং আপনি এর ভবিষ্যৎ মান পূর্বাভাস করতে চান। আপনি যদি ARIMA(1, 1, 1) মডেলটি ব্যবহার করেন, তাহলে:
- p = 1 (অর্থাৎ, AR অংশে একটি ল্যাগ থাকবে),
- d = 1 (অর্থাৎ, ডিফারেন্সিং একবার প্রয়োজন),
- q = 1 (অর্থাৎ, MA অংশে একটি ত্রুটি ল্যাগ থাকবে)।
এই মডেলটি পূর্ববর্তী মান এবং পূর্ববর্তী ত্রুটির সাথে সম্পর্কিত থাকবে, এবং একবার ডিফারেন্সিং করার মাধ্যমে স্টেশনারিটি অর্জন করবে।
ARIMA মডেলের সুবিধা:
- প্রচলিত এবং শক্তিশালী: ARIMA মডেলটি টাইম সিরিজের পূর্বাভাসের জন্য অত্যন্ত জনপ্রিয় এবং শক্তিশালী।
- স্টেশনারি ডেটার জন্য উপযুক্ত: ARIMA মডেলটি স্টেশনারি টাইম সিরিজ ডেটার জন্য খুব ভালো কাজ করে।
- কমপ্লেক্স প্যাটার্ন সামলানো: AR, I, এবং MA অংশগুলি মিলে জটিল প্যাটার্ন এবং প্রবণতাগুলির পূর্বাভাস তৈরি করতে সক্ষম।
সারাংশ
ARIMA মডেল একটি শক্তিশালী টাইম সিরিজ বিশ্লেষণ এবং পূর্বাভাসের পদ্ধতি যা অটো-রিগ্রেসিভ (AR), ইন্টিগ্রেটেড (I), এবং মুভিং অ্যাভারেজ (MA) উপাদানের সমন্বয়ে কাজ করে। এটি ডেটার স্টেশনারিটি নিশ্চিত করতে এবং পূর্ববর্তী মান ও ত্রুটির ভিত্তিতে ভবিষ্যতের মান অনুমান করতে ব্যবহৃত হয়। ARIMA মডেলটি টাইম সিরিজের জন্য অত্যন্ত জনপ্রিয় এবং কার্যকর মডেল, বিশেষত স্টেশনারি ডেটার ক্ষেত্রে।
ARIMA (AutoRegressive Integrated Moving Average) মডেলটি টাইম সিরিজ ডেটা বিশ্লেষণ ও পূর্বাভাসের জন্য একটি শক্তিশালী এবং জনপ্রিয় মডেল। এটি AutoRegressive (AR), Integrated (I) এবং Moving Average (MA) অংশের সমন্বয়ে গঠিত। ARIMA মডেলটি সাধারণত ট্রেন্ড এবং সিজনালিটি ছাড়া টাইম সিরিজের জন্য ব্যবহার করা হয় এবং ডেটার স্থিতিশীলতা (stationarity) নিশ্চিত করতে বিভিন্ন পদ্ধতি ব্যবহার করে।
ARIMA মডেলটি তিনটি প্রধান উপাদান দ্বারা গঠিত:
- AR (AutoRegressive): পূর্ববর্তী মানের উপর ভিত্তি করে বর্তমান মানের পূর্বাভাস।
- I (Integrated): টাইম সিরিজকে স্টেশনারি করার জন্য পার্থক্য গ্রহণ।
- MA (Moving Average): পূর্ববর্তী ত্রুটি বা রেসিডুয়াল ত্রুটির উপর ভিত্তি করে পূর্বাভাস।
ARIMA মডেলটির সাধারণ ফর্ম:
এখানে:
- হল বর্তমান পর্যবেক্ষণ,
- হল AR প্যারামিটার,
- হল MA প্যারামিটার,
- হল ত্রুটি (error term),
- , , এবং হল যথাক্রমে AR, I, MA এর অর্ডার।
ARIMA মডেল ব্যবহার করার ধাপগুলি:
ধাপ ১: ডেটা প্রস্তুত করা (Data Preprocessing)
- মিসিং ভ্যালু হ্যান্ডলিং: মিসিং ডেটা পূর্ণ করার জন্য উপযুক্ত পদ্ধতি (যেমন ফরওয়ার্ড/ব্যাকওয়ার্ড ফিলিং, গড় ইম্পুটেশন) ব্যবহার করা।
- স্টেশনারিটি চেক করা: ARIMA মডেলটি শুধুমাত্র স্টেশনারি ডেটার জন্য কাজ করে, তাই টাইম সিরিজ ডেটার স্টেশনারিটি পরীক্ষা করা প্রয়োজন। যদি ডেটা স্টেশনারি না হয়, তবে ডিফারেন্সিং বা অন্যান্য ট্রান্সফর্মেশন প্রয়োগ করা হতে পারে।
- ল্যাগ পিরিয়ড নির্ধারণ করা: টাইম সিরিজের মধ্যে সম্পর্ক বিশ্লেষণ করার জন্য অটো-কোর্লেশন (ACF) এবং পারশোনাল কোর্লেশন (PACF) প্লট তৈরি করতে হবে।
ধাপ ২: ARIMA মডেলের অর্ডার নির্বাচন
ARIMA মডেলটি ৩টি প্যারামিটার দ্বারা নির্ধারিত হয়:
- p (AR): অটো-রিগ্রেসিভ অর্ডার (পূর্ববর্তী সময়ের পর্যবেক্ষণের সংখ্যা),
- d (I): ডিফারেন্সিং বা ইন্টিগ্রেটেড অর্ডার (ডেটাকে স্টেশনারি করার জন্য প্রয়োগ করা),
- q (MA): মুভিং এভারেজ অর্ডার (পূর্ববর্তী ত্রুটি মানের সংখ্যা)।
প্যারামিটার নির্বাচন করার জন্য:
- ACF (Autocorrelation Function): এটি MA অংশের অর্ডার নির্ধারণ করতে সাহায্য করে।
- PACF (Partial Autocorrelation Function): এটি AR অংশের অর্ডার নির্ধারণ করতে সাহায্য করে।
ধাপ ৩: ARIMA মডেল ফিটিং
প্রয়োজনীয় প্যারামিটারগুলি নির্বাচন করার পরে, ARIMA মডেলটি ডেটায় ফিট করতে হবে। ARIMA ফাংশন ব্যবহার করে এটি করা যায়।
ধাপ ৪: মডেল মূল্যায়ন এবং পূর্বাভাস
মডেলটি ফিট হওয়ার পরে, তার কার্যকারিতা পরীক্ষা করতে হবে এবং পূর্বাভাস তৈরি করা উচিত। মডেলটি ফিট করার পর Residual বিশ্লেষণ করা উচিত, যাতে ত্রুটি গুলো হোয়াইট নয়েজ (random noise) হয়।
Python-এ ARIMA মডেল ব্যবহার করার উদাহরণ:
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.tsa.stattools import adfuller
# টাইম সিরিজ ডেটা লোড করা
data = pd.read_csv('time_series_data.csv', index_col='Date', parse_dates=True)
# স্টেশনারিটি পরীক্ষা
result = adfuller(data['Value'])
print(f'ADF Statistic: {result[0]}')
print(f'p-value: {result[1]}')
# ACF এবং PACF প্লট তৈরি করা
plot_acf(data['Value'])
plot_pacf(data['Value'])
plt.show()
# ARIMA মডেল তৈরি এবং ফিট করা
model = ARIMA(data['Value'], order=(1, 1, 1)) # (p, d, q) = (1, 1, 1)
fitted_model = model.fit()
# মডেলের সারাংশ দেখানো
print(fitted_model.summary())
# ভবিষ্যত পূর্বাভাস
forecast = fitted_model.forecast(steps=10)
print(f'Forecasted Values: {forecast}')
ধাপের ব্যাখ্যা:
- ডেটা লোড: টাইম সিরিজ ডেটাকে CSV ফাইল থেকে লোড করা হয়েছে।
- স্টেশনারিটি পরীক্ষা: ADF (Augmented Dickey-Fuller) টেস্ট ব্যবহার করে ডেটার স্টেশনারিটি পরীক্ষা করা হয়।
- ACF ও PACF প্লট: AR এবং MA প্যারামিটার নির্ধারণের জন্য ACF এবং PACF প্লট তৈরি করা হয়।
- ARIMA মডেল ফিটিং: ARIMA মডেলটি (1,1,1) অর্ডার দিয়ে ডেটায় ফিট করা হয়।
- ফোরকাস্ট: মডেলটি থেকে 10 দিনের পূর্বাভাস করা হয়েছে।
ARIMA মডেলটির সুবিধা:
- সহজ এবং শক্তিশালী: ARIMA মডেলটি টাইম সিরিজ বিশ্লেষণের জন্য শক্তিশালী এবং সহজ।
- লিনিয়ার সম্পর্কের জন্য উপযুক্ত: এটি লিনিয়ার টাইম সিরিজের জন্য বেশ কার্যকরী।
- স্টেশনারিটি সমস্যা সমাধান: ARIMA ডেটার স্টেশনারিটি নিশ্চিত করতে বিভিন্ন পদ্ধতি যেমন ডিফারেন্সিং ব্যবহার করে।
সারাংশ
ARIMA মডেলটি টাইম সিরিজ ডেটার পূর্বাভাস তৈরি করতে ব্যবহৃত হয়, যা AutoRegressive, Integrated, এবং Moving Average অংশের সমন্বয়ে গঠিত। টাইম সিরিজের স্টেশনারিটি নিশ্চিত করার পরে, ARIMA মডেলের উপযুক্ত প্যারামিটার নির্বাচন করে এটি ডেটায় ফিট করা হয় এবং ভবিষ্যতের মান পূর্বাভাস করা হয়। ARIMA একটি শক্তিশালী মডেল যা লিনিয়ার টাইম সিরিজের জন্য কার্যকর।
ARIMA মডেল (AutoRegressive Integrated Moving Average) একটি অত্যন্ত জনপ্রিয় টাইম সিরিজ মডেল যা AR (AutoRegressive), I (Integrated), এবং MA (Moving Average) অংশগুলির সমন্বয়ে তৈরি। ARIMA মডেলের মূল সুবিধা হলো এটি ডেটার ট্রেন্ড এবং সিজনালিটি কাটিয়ে একটি স্টেশনারি টাইম সিরিজ মডেল তৈরি করতে সক্ষম।
ARIMA মডেলের তিনটি প্রধান প্যারামিটার থাকে, যেগুলো p, d, এবং q দ্বারা নির্দেশিত হয়। এই প্যারামিটারগুলো সঠিকভাবে নির্বাচন করা টাইম সিরিজ মডেলিংয়ের একটি গুরুত্বপূর্ণ পদক্ষেপ, যা মডেলের কার্যকারিতা এবং পূর্বাভাসের সঠিকতা নির্ধারণ করে।
ARIMA মডেলের প্যারামিটারসমূহ (p, d, q)
- p (AutoRegressive term):
- p হলো অটো-রিগ্রেসিভ (AR) অংশের অর্ডার, যা বর্তমান মানের পূর্ববর্তী মানের উপর নির্ভরশীলতা নির্দেশ করে। এটি নির্ধারণ করে যে, কতগুলি পূর্ববর্তী পর্যবেক্ষণ (ল্যাগ) বর্তমান পর্যবেক্ষণের জন্য গুরুত্বপূর্ণ হবে।
- p-এর মান নির্বাচনে অটো-কোর্লেশন প্লট (ACF) এবং পারশোনাল কোইফিশিয়েন্ট ব্যবহার করা হয়।
- d (Differencing term):
- d হলো ডিফারেন্সিং (integration) এর সংখ্যা, যা টাইম সিরিজ ডেটাকে স্টেশনারি করার জন্য ব্যবহৃত হয়। এটি টাইম সিরিজের ট্রেন্ড এবং সিজনাল প্যাটার্ন সরাতে ব্যবহৃত হয়।
- যদি ডেটা স্টেশনারি না হয়, তবে d এর মান সাধারণত ১ বা ২ হয়, যা পার্থক্য বের করে টাইম সিরিজকে স্টেশনারি করে।
- q (Moving Average term):
- q হলো মুভিং অ্যাভারেজ (MA) অংশের অর্ডার, যা পূর্ববর্তী ত্রুটি বা রেসিডুয়ালদের উপর নির্ভরশীলতা নির্দেশ করে।
- q-এর মান নির্বাচনে পার্থক্য দেখা যায়, এবং সাধারণত মুভিং অ্যাভারেজের প্যারামিটারটির জন্য অটো-কোর্লেশন ফাংশন (PACF) বা মুভিং অ্যাভারেজের বর্ণনা ব্যবহৃত হয়।
p, d, q নির্বাচন করার পদ্ধতি
ARIMA মডেলের p, d, এবং q নির্বাচন করতে নিচের ধাপগুলো অনুসরণ করা হয়:
১. ডেটার স্টেশনারিটি পরীক্ষা করা (d নির্বাচন)
প্রথমেই টাইম সিরিজের স্টেশনারিটি চেক করা হয়। যদি টাইম সিরিজে ট্রেন্ড থাকে, তবে d মান বৃদ্ধি করা হয়, যাতে ডেটা স্টেশনারি হয়। ADF (Augmented Dickey-Fuller) টেস্ট বা KPSS টেস্ট ব্যবহার করে স্টেশনারিটি পরীক্ষা করা হয়। সাধারণত:
- d = 0: যদি ডেটা স্টেশনারি হয়।
- d = 1: যদি ডেটা একটি পার্থক্য (first differencing) প্রয়োজন।
- d = 2: যদি দ্বিতীয় পার্থক্য (second differencing) প্রয়োজন।
২. p এবং q নির্বাচন (ACF ও PACF গ্রাফের মাধ্যমে)
- p নির্বাচন (AR part): PACF (Partial Autocorrelation Function) গ্রাফ ব্যবহার করে p নির্বাচন করা হয়। PACF গ্রাফে প্রথম আছড়ানো (significant spike) যেখানে ঘটে, সেখানে p এর মান নির্ধারণ করা হয়।
- q নির্বাচন (MA part): ACF (Autocorrelation Function) গ্রাফ ব্যবহার করে q নির্বাচন করা হয়। ACF গ্রাফে প্রথম significant আছড়ানো যেখানে ঘটে, সেখানে q এর মান নির্ধারণ করা হয়।
৩. প্যারামিটার পছন্দের জন্য AIC এবং BIC টেস্ট
AIC (Akaike Information Criterion) এবং BIC (Bayesian Information Criterion) হল দুটি জনপ্রিয় মেট্রিক্স, যা মডেলটির দক্ষতা পরিমাপ করতে ব্যবহৃত হয়। কম AIC এবং BIC মান নির্দেশ করে যে মডেলটি ভালো কাজ করছে। বিভিন্ন p, d, এবং q কম্বিনেশন নিয়ে এই মানগুলোর তুলনা করা হয়।
৪. ভালো ARIMA মডেল নির্বাচন করা
শেষে, সঠিক ARIMA মডেলটি নির্বাচন করতে প্রয়োজনীয় প্যারামিটারগুলি নির্বাচন করা হয়, যেটি ডেটার উপর সর্বোচ্চ পূর্বাভাস ক্ষমতা প্রদান করে এবং কম AIC এবং BIC মান দেয়।
উদাহরণ:
ধরা যাক, আমাদের কাছে একটি টাইম সিরিজ ডেটা আছে এবং আমরা একটি ARIMA মডেল তৈরি করতে চাই।
- d নির্বাচন: যদি ডেটা ট্রেন্ড প্রদর্শন করে, তাহলে প্রথমে d = 1 নির্বাচন করা হয় এবং ADF টেস্ট দ্বারা স্টেশনারিটি পরীক্ষা করা হয়।
- p নির্বাচন: PACF গ্রাফ দেখে প্রথম significant lag চিহ্নিত করে p নির্বাচন করা হয়।
- q নির্বাচন: ACF গ্রাফ দেখে প্রথম significant lag চিহ্নিত করে q নির্বাচন করা হয়।
ধরা যাক, PACF এবং ACF থেকে আমরা p = 2 এবং q = 1 নির্বাচন করি। তাহলে, আমাদের ARIMA মডেল হবে ARIMA(2, 1, 1)।
সারাংশ
ARIMA মডেলের p, d, এবং q প্যারামিটারগুলি সঠিকভাবে নির্বাচন করা টাইম সিরিজ মডেলিংয়ের একটি গুরুত্বপূর্ণ পদক্ষেপ। ডেটার স্টেশনারিটি নিশ্চিত করতে d নির্বাচন করা হয়, এবং পূর্ববর্তী মান (AR) এবং ত্রুটি (MA) নির্ধারণ করতে p এবং q নির্বাচিত হয়। PACF, ACF, এবং AIC/BIC টেস্ট ব্যবহার করে এই প্যারামিটারগুলো নির্বাচন করা হয়।
ARIMA (AutoRegressive Integrated Moving Average) মডেল একটি শক্তিশালী টাইম সিরিজ মডেল যা ডেটার স্বাভাবিক প্রবণতা এবং ধারা (trend) বোঝাতে ব্যবহৃত হয়। ARIMA মডেলটির তিনটি প্রধান উপাদান থাকে:
- AR (AutoRegressive): পূর্ববর্তী মানের উপর ভিত্তি করে বর্তমান মান অনুমান করা।
- I (Integrated): টাইম সিরিজের অ-স্টেশনারি অংশকে স্টেশনারিতে রূপান্তরিত করার জন্য ডিফারেন্সিং।
- MA (Moving Average): পূর্ববর্তী ত্রুটি বা ভুলের ভিত্তিতে বর্তমান মানের অনুমান করা।
ARIMA মডেল নির্বাচন করতে, সাধারণত AIC (Akaike Information Criterion) এবং BIC (Bayesian Information Criterion) নামক দুটি পরিমাপক ব্যবহার করা হয়। এই দুটি সূচক ব্যবহার করে মডেলের পারফরম্যান্স এবং জটিলতা বিবেচনা করা হয়।
১. AIC (Akaike Information Criterion)
AIC একটি পরিমাপ যা মডেলের ফিটনেস (goodness of fit) এবং জটিলতা (complexity) এর মধ্যে একটি ভারসাম্য তৈরি করে। এটি মডেলের প্যারামিটারগুলির সংখ্যা এবং ডেটার সাথে মডেলের ফিটনেস বিবেচনায় নিয়ে তৈরি করা হয়। AIC এর ফর্মুলা:
এখানে:
- হলো মডেলের প্যারামিটার সংখ্যা।
- হলো মডেলের লগ-লাইকেলিহুড (likelihood)।
একটি ছোট AIC মান একটি ভালো মডেল নির্দেশ করে, কারণ এটি একটি কম জটিল মডেল তৈরি করার চেষ্টা করে, যা ডেটার সাথে ভালভাবে ফিট করে।
২. BIC (Bayesian Information Criterion)
BIC, বা Schwarz Criterion, AIC এর মতো একটি তথ্য সূচক যা মডেল নির্বাচন করতে ব্যবহৃত হয়। BIC কমপ্লেক্সিটি এবং ফিটনেসের মধ্যে ভারসাম্য বজায় রাখে, তবে এটি AIC এর চেয়ে আরও বেশি শাস্তি দেয় বড় মডেলের জন্য। BIC এর ফর্মুলা:
এখানে:
- হলো ডেটার সাইজ।
- হলো মডেলের প্যারামিটার সংখ্যা।
- হলো মডেলের লগ-লাইকেলিহুড (likelihood)।
BIC এর ছোট মান একটি ভালো মডেল নির্দেশ করে, তবে এটি ছোট মডেলকে প্রাধান্য দেয় এবং বড় মডেলের জন্য শাস্তি বেশি দেয়।
৩. ARIMA মডেল নির্বাচন AIC এবং BIC ব্যবহার করে
ARIMA মডেল নির্বাচন করার সময়, আমরা বিভিন্ন AR, I, এবং MA প্যারামিটারসমূহের জন্য AIC এবং BIC মান হিসাব করি এবং সবচেয়ে কম AIC/BIC মান সহ মডেলটি নির্বাচন করি। এভাবে বিভিন্ন প্যারামিটার কনফিগারেশনের মধ্যে সেরা মডেলটি নির্বাচন করা যায়।
পদ্ধতি:
- প্রথমে ARIMA মডেলের জন্য বিভিন্ন প্যারামিটার কনফিগারেশন চেষ্টা করা হয়, যেমন AR(1), AR(2), MA(1), MA(2), এবং তাদের মধ্যে I (ডিফারেন্সিং) প্যারামিটার নির্বাচন করা হয়।
- প্রতিটি মডেলের জন্য AIC এবং BIC মান হিসাব করা হয়।
- সবচেয়ে কম AIC বা BIC সহ মডেলটি নির্বাচন করা হয়।
Python উদাহরণ:
import numpy as np
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.tools.eval_measures import aic, bic
# Sample time series data
data = pd.Series([100, 120, 130, 125, 160, 170, 180, 185, 190, 200])
# Define a range of p, d, q parameters
p_values = [0, 1, 2]
d_values = [0, 1]
q_values = [0, 1, 2]
# Create a dictionary to store AIC and BIC for each combination
aic_values = {}
bic_values = {}
for p in p_values:
for d in d_values:
for q in q_values:
try:
model = ARIMA(data, order=(p, d, q))
model_fit = model.fit()
# Store AIC and BIC values
aic_values[(p, d, q)] = model_fit.aic
bic_values[(p, d, q)] = model_fit.bic
except:
continue
# Find the best model with the lowest AIC and BIC
best_aic_model = min(aic_values, key=aic_values.get)
best_bic_model = min(bic_values, key=bic_values.get)
print(f"Best AIC Model: {best_aic_model}, AIC: {aic_values[best_aic_model]}")
print(f"Best BIC Model: {best_bic_model}, BIC: {bic_values[best_bic_model]}")
৪. AIC এবং BIC এর তুলনা
- AIC এবং BIC উভয়ই মডেল নির্বাচন করতে ব্যবহৃত হয়, তবে AIC মডেল ফিটনেস এবং জটিলতা নিয়ে কাজ করে, যেখানে BIC বড় মডেলগুলির জন্য বেশি শাস্তি দেয় এবং ছোট মডেলগুলিকে প্রাধান্য দেয়।
- সাধারণভাবে, AIC একটি কমপ্লেক্সিটি ভীতি কমিয়ে মডেলের পারফরম্যান্সের দিকে মনোযোগ দেয়, এবং BIC অতিরিক্ত প্যারামিটার যোগ করার শাস্তি দেয়।
সারাংশ
ARIMA মডেল নির্বাচন করতে AIC এবং BIC একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। AIC এবং BIC উভয়ই মডেলের ফিটনেস এবং জটিলতার মধ্যে একটি ভারসাম্য তৈরি করতে সাহায্য করে, তবে BIC বৃহত্তর মডেলগুলিকে বেশি শাস্তি দেয়। মডেল নির্বাচন প্রক্রিয়ায়, সবচেয়ে কম AIC/BIC মান সহ মডেলটি নির্বাচন করা হয়, যা ডেটার জন্য সেরা পারফরম্যান্স প্রদান করে।
Read more