টাইম সিরিজ বিশ্লেষণে শিফটিং এবং ল্যাগ ফিচার তৈরি করা খুবই গুরুত্বপূর্ণ। এগুলো টাইম সিরিজ মডেলিংয়ের জন্য অতিরিক্ত তথ্য তৈরি করতে সহায়ক, যেমন ভবিষ্যতের মান পূর্বের মানের উপর নির্ভর করে থাকে।
১. টাইম সিরিজ শিফটিং (Time Series Shifting)
শিফটিং হল একটি পদ্ধতি, যার মাধ্যমে টাইম সিরিজের ডেটাকে এক বা একাধিক সময় পয়েন্ট পেছনে (lag) বা সামনে (lead) সরানো হয়। এটি টাইম সিরিজের অতীত ডেটা ভবিষ্যতের ডেটার সাথে সম্পর্কিত করতে ব্যবহৃত হয়। সাধারণত, শিফটিং এর মাধ্যমে পূর্ববর্তী সময়ের মানকে বর্তমান সময়ের সাথে সংযুক্ত করা হয়।
উদাহরণ:
ধরা যাক, একটি কোম্পানির দৈনিক বিক্রয়ের ডেটা রয়েছে এবং আপনি পূর্ববর্তী দিনের বিক্রয় মানকে বর্তমান দিনে অন্তর্ভুক্ত করতে চান।
import pandas as pd
# Sample time series data
data = {'Date': ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05'],
'Sales': [100, 120, 150, 130, 160]}
df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
# Shifting data by 1 day
df['Sales_Shifted'] = df['Sales'].shift(1) # Shifts the sales data by 1 day
print(df)
আউটপুট:
Date Sales Sales_Shifted
0 2020-01-01 100 NaN
1 2020-01-02 120 100.0
2 2020-01-03 150 120.0
3 2020-01-04 130 150.0
4 2020-01-05 160 130.0
এখানে, shift(1) ফাংশনটি বিক্রয়ের মানকে ১ দিন পিছিয়ে দিয়েছে। প্রথম সারির জন্য কোন আগের মান নেই, তাই সেটি NaN।
২. ল্যাগ ফিচার তৈরি করা (Lag Features)
ল্যাগ ফিচার তৈরি করা হল একটি সাধারণ কৌশল যা পূর্ববর্তী সময়ের মানকে (lag) বর্তমান সময়ের সাথে যুক্ত করতে ব্যবহৃত হয়। ল্যাগ ফিচার টাইম সিরিজ মডেলিংয়ে পূর্ববর্তী ডেটার থেকে বৈশিষ্ট্য তৈরি করার জন্য ব্যবহৃত হয়।
ল্যাগ ফিচার সাধারণত একটি বা একাধিক সময় পয়েন্ট পূর্বের মানকে বর্তমান সময়ে ব্যবহারের জন্য তৈরি করা হয়। যেমন 1 ল্যাগ (lag=1), 2 ল্যাগ (lag=2) ইত্যাদি।
উদাহরণ:
ধরা যাক, আপনি গত ৩ দিনের বিক্রয়ের তথ্যের উপর ভিত্তি করে পরবর্তী দিনের বিক্রয় পূর্বাভাস করতে চান।
# Creating lag features
df['Sales_Lag_1'] = df['Sales'].shift(1) # Lag of 1 day
df['Sales_Lag_2'] = df['Sales'].shift(2) # Lag of 2 days
df['Sales_Lag_3'] = df['Sales'].shift(3) # Lag of 3 days
print(df)
আউটপুট:
Date Sales Sales_Lag_1 Sales_Lag_2 Sales_Lag_3
0 2020-01-01 100 NaN NaN NaN
1 2020-01-02 120 100.0 NaN NaN
2 2020-01-03 150 120.0 100.0 NaN
3 2020-01-04 130 150.0 120.0 100.0
4 2020-01-05 160 130.0 150.0 120.0
এখানে, Sales_Lag_1, Sales_Lag_2, এবং Sales_Lag_3 এর মাধ্যমে আমরা ১, ২, এবং ৩ দিনের পূর্ববর্তী বিক্রয়ের মানকে বর্তমান দিনের বিক্রয়ের সাথে যুক্ত করেছি।
৩. ল্যাগ ফিচারের ব্যবহারের সুবিধা
- সিজনাল এবং ট্রেন্ড প্যাটার্ন: পূর্ববর্তী সময়ের মানের উপর ভিত্তি করে ভবিষ্যতের মান পূর্বাভাস করা সহজ হয়।
- ডিপ লার্নিং মডেল: টাইম সিরিজের ডিপ লার্নিং মডেল (যেমন LSTM) এ ল্যাগ ফিচারগুলো ব্যবহার করা হয় যা পরবর্তী সময়ের জন্য পূর্বাভাস দিতে সহায়ক।
- অনুপ্রেরণামূলক: অতীত থেকে ডেটা শিখে, মডেল ভবিষ্যতের জন্য কার্যকরী সিদ্ধান্ত নিতে সহায়ক হয়।
সারাংশ
টাইম সিরিজ ডেটাতে শিফটিং এবং ল্যাগ ফিচার তৈরি গুরুত্বপূর্ণ, কারণ এগুলো অতীতের তথ্য থেকে ভবিষ্যতের জন্য মূল্যবান বৈশিষ্ট্য তৈরি করতে সাহায্য করে। শিফটিং দ্বারা আপনি পূর্ববর্তী সময়ের ডেটাকে বর্তমানের সাথে সংযুক্ত করতে পারেন, এবং ল্যাগ ফিচার তৈরি করে অতীতের এক বা একাধিক মান ব্যবহার করে ভবিষ্যতের পূর্বাভাস করতে পারেন।
Read more