ARIMA মডেলের জন্য AIC, BIC ব্যবহার করে Model Selection

Autoregressive Integrated Moving Average (ARIMA) মডেল - টাইম সিরিজ (Time Series) - Machine Learning

417

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 এর ফর্মুলা:

AIC=2k2log(L)AIC = 2k - 2 \log(L)

এখানে:

  • kk হলো মডেলের প্যারামিটার সংখ্যা।
  • LL হলো মডেলের লগ-লাইকেলিহুড (likelihood)।

একটি ছোট AIC মান একটি ভালো মডেল নির্দেশ করে, কারণ এটি একটি কম জটিল মডেল তৈরি করার চেষ্টা করে, যা ডেটার সাথে ভালভাবে ফিট করে।


২. BIC (Bayesian Information Criterion)

BIC, বা Schwarz Criterion, AIC এর মতো একটি তথ্য সূচক যা মডেল নির্বাচন করতে ব্যবহৃত হয়। BIC কমপ্লেক্সিটি এবং ফিটনেসের মধ্যে ভারসাম্য বজায় রাখে, তবে এটি AIC এর চেয়ে আরও বেশি শাস্তি দেয় বড় মডেলের জন্য। BIC এর ফর্মুলা:

BIC=log(n)k2log(L)BIC = \log(n)k - 2 \log(L)

এখানে:

  • nn হলো ডেটার সাইজ।
  • kk হলো মডেলের প্যারামিটার সংখ্যা।
  • LL হলো মডেলের লগ-লাইকেলিহুড (likelihood)।

BIC এর ছোট মান একটি ভালো মডেল নির্দেশ করে, তবে এটি ছোট মডেলকে প্রাধান্য দেয় এবং বড় মডেলের জন্য শাস্তি বেশি দেয়।


৩. ARIMA মডেল নির্বাচন AIC এবং BIC ব্যবহার করে

ARIMA মডেল নির্বাচন করার সময়, আমরা বিভিন্ন AR, I, এবং MA প্যারামিটারসমূহের জন্য AIC এবং BIC মান হিসাব করি এবং সবচেয়ে কম AIC/BIC মান সহ মডেলটি নির্বাচন করি। এভাবে বিভিন্ন প্যারামিটার কনফিগারেশনের মধ্যে সেরা মডেলটি নির্বাচন করা যায়।

পদ্ধতি:

  1. প্রথমে ARIMA মডেলের জন্য বিভিন্ন প্যারামিটার কনফিগারেশন চেষ্টা করা হয়, যেমন AR(1), AR(2), MA(1), MA(2), এবং তাদের মধ্যে I (ডিফারেন্সিং) প্যারামিটার নির্বাচন করা হয়।
  2. প্রতিটি মডেলের জন্য AIC এবং BIC মান হিসাব করা হয়।
  3. সবচেয়ে কম 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 মান সহ মডেলটি নির্বাচন করা হয়, যা ডেটার জন্য সেরা পারফরম্যান্স প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...