Loading [MathJax]/jax/output/CommonHTML/jax.js

Data Smoothing Techniques (Moving Average, Exponential Smoothing)

Machine Learning - টাইম সিরিজ (Time Series) Time Series Data Preprocessing |
123
123

টাইম সিরিজ ডেটা বিশ্লেষণ করার সময়, অনেক সময় ডেটার মধ্যে অস্থিরতা বা অস্থায়ী পরিবর্তন থাকে, যা মূল প্রবণতা বা প্যাটার্নের সাথে সম্পর্কিত নয়। এই ধরনের অস্থিরতা দূর করার জন্য ডেটা স্মুথিং (Data Smoothing) পদ্ধতি ব্যবহার করা হয়, যা ডেটার শোর বা র্যান্ডম ভ্যারিয়েশন কমাতে সাহায্য করে। এর ফলে ডেটার underlying ট্রেন্ড এবং সিজনাল প্যাটার্ন স্পষ্টভাবে দেখা যায়।

স্মুথিং টেকনিক দুটি প্রধান ধরনের:

  1. মুভিং এভারেজ (Moving Average)
  2. এক্সপোনেনশিয়াল স্মুথিং (Exponential Smoothing)

১. মুভিং এভারেজ (Moving Average)

বর্ণনা: মুভিং এভারেজ হল একটি সাধারণ পদ্ধতি যেখানে ডেটার একটি নির্দিষ্ট উইন্ডো (window) ব্যবহার করে ডেটার গড় হিসাব করা হয়। এটি একটি টাইম সিরিজের অস্থিরতা কমাতে সাহায্য করে এবং ডেটার ট্রেন্ড স্পষ্ট করে তোলে।

ধরন:

  1. সাধারণ মুভিং এভারেজ (Simple Moving Average, SMA): এই পদ্ধতিতে, ডেটার গত কয়েকটি পরিমাপের গড় নেওয়া হয়, যেটি সময়ের সাথে প্রতিনিয়ত আপডেট হয়।
  2. ওয়েটেড মুভিং এভারেজ (Weighted Moving Average, WMA): এখানে বিভিন্ন সময়সীমার মানগুলোর জন্য আলাদা ওজন (weight) নির্ধারণ করা হয়, যাতে সাম্প্রতিক মানগুলোর বেশি গুরুত্ব দেয়া হয়।

উদাহরণ: যদি আমরা 5 দিনের মুভিং এভারেজ ব্যবহার করি, তবে প্রতিটি দিনের গড় হবে গত 5 দিনের মানের গড়।

গাণিতিক সূত্র (SMA):

SMAt=Xt1+Xt2++Xtkk

যেখানে, Xt হল টাইম সিরিজের মান এবং k হল উইন্ডোর আকার (যেমন, 5 দিন)।

Python কোড উদাহরণ (SMA):

import pandas as pd
import numpy as np

# Sample time series data
data = [10, 20, 30, 40, 50, 60, 70]
df = pd.DataFrame(data, columns=['Value'])

# Apply 3-day moving average
df['3-day MA'] = df['Value'].rolling(window=3).mean()

২. এক্সপোনেনশিয়াল স্মুথিং (Exponential Smoothing)

বর্ণনা: এক্সপোনেনশিয়াল স্মুথিং একটি উন্নত স্মুথিং পদ্ধতি, যেখানে সর্বশেষ পর্যবেক্ষণ বা ডেটা পয়েন্টকে আরও বেশি গুরুত্ব দেওয়া হয়। এটি একটি ওজনযুক্ত গড় পদ্ধতি যেখানে পুরানো ডেটার ওজন কমিয়ে নতুন ডেটার ওজন বাড়ানো হয়। এক্সপোনেনশিয়াল স্মুথিং পদ্ধতিতে, প্রতিটি পরবর্তী পরিমাপের জন্য গড় হিসাব করা হয় এবং সেই গড়ের উপর একটি ধীরে ধীরে কমতে থাকা এক্সপোনেনশিয়াল ফ্যাক্টর প্রয়োগ করা হয়।

ধরন:

  1. সাধারণ এক্সপোনেনশিয়াল স্মুথিং (Simple Exponential Smoothing): যখন টাইম সিরিজে ট্রেন্ড বা সিজনাল প্যাটার্ন না থাকে, তখন এই পদ্ধতি ব্যবহার করা হয়।
  2. ট্রেন্ড-কোরেক্টেড এক্সপোনেনশিয়াল স্মুথিং (Holt’s Linear Trend Model): এই পদ্ধতিতে ডেটায় ট্রেন্ড থাকলে সেটি সংশোধন করা হয়।
  3. সিজনাল এক্সপোনেনশিয়াল স্মুথিং (Holt-Winters Seasonal Model): সিজনাল প্যাটার্ন থাকলে এই পদ্ধতি ব্যবহার করা হয়।

গাণিতিক সূত্র (Simple Exponential Smoothing):

St=αXt+(1α)St1

যেখানে:

  • St হল স্মুথড মান,
  • Xt হল বর্তমান পর্যবেক্ষণ,
  • St1 হল পূর্ববর্তী স্মুথড মান,
  • α হল স্মুথিং প্যারামিটার (0 থেকে 1 এর মধ্যে থাকে)।

Python কোড উদাহরণ (Exponential Smoothing):

import pandas as pd
from statsmodels.tsa.holtwinters import ExponentialSmoothing

# Sample time series data
data = [10, 20, 30, 40, 50, 60, 70]
df = pd.DataFrame(data, columns=['Value'])

# Apply Exponential Smoothing
model = ExponentialSmoothing(df['Value'], trend='add', seasonal='add', seasonal_periods=3)
fit_model = model.fit()
df['Exponential Smoothing'] = fit_model.fittedvalues

তুলনা: মুভিং এভারেজ বনাম এক্সপোনেনশিয়াল স্মুথিং

বৈশিষ্ট্যমুভিং এভারেজ (Moving Average)এক্সপোনেনশিয়াল স্মুথিং (Exponential Smoothing)
গাণিতিক পদ্ধতিগড় হিসাব করাএক্সপোনেনশিয়াল ফ্যাক্টর ব্যবহার করা
ওজনসমানভাবে সব মানের ওজন দেওয়াসাম্প্রতিক মানগুলোর ওজন বেশি
ব্যবহারসাধারণত ট্রেন্ড বা সিজনালিটি ছাড়া ডেটায়ট্রেন্ড বা সিজনালিটির জন্য উপযুক্ত
সরলতাসহজ এবং কম্পিউটেশনালভাবে সস্তাএকটু জটিল এবং বেশি কম্পিউটেশনাল
ডেটা প্রতি প্রতিক্রিয়াধীরদ্রুত প্রতিক্রিয়া

সারাংশ

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

Content added By
Promotion