تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

مدل سری زمانی چیست؟ معرفی کامل Time Series برای تحلیل‌گران داده


۱۹ تیر ۱۴۰۴

مدل‌سازی سری‌های زمانی (Time Series Modeling) به تحلیل و پیش‌بینی داده‌هایی می‌پردازد که با گذر زمان تغییر می‌کنند؛ که می‌توان به دما، میزان فروش یا مصرف انرژی اشاره کرد. با استفاده از الگوریتم‌های آماری و یادگیری ماشین، می‌توان الگوهای تکرارشونده، روندها و نوسانات را در این داده‌ها شناسایی کرد. از این روش می‌توان در حوزه‌هایی مانند پیش‌بینی تقاضای بازار و مدیریت منابع، تحلیل داده‌های زیستی و بررسی شرایط آب‌وهوایی استفاده کرد. امروزه به لطف APIها و ابزارهای آماده، سازمان‌ها می‌توانند بدون نیاز به زیرساخت‌های سنگین، از مدل‌های سری زمانی برای تحلیل داده‌ها و تصمیم‌گیری دقیق‌تر استفاده کنند.

در ادامه این مقاله با لیارا همراه باشید تا با کاربردهای مدل‌سازی سری‌های زمانی، ابزارهای مورد نیاز و شیوه‌های پیاده‌سازی آن بهتر آشنا شوید.

همچنین، لیارا از جمله نخستین سرویس‌های میزبانی ابری ایرانی است که در زمینه ارائه خدمات مرتبط با هوش مصنوعی پیشتاز محسوب می‌شود. برای اطلاعات بیشتر، مستندات سرویس هوش مصنوعی لیارا را مشاهده کنید.

با هوش مصنوعی لیارا، دسترسی سریع و پایدار به API هوش مصنوعی داشته باشید.
✅ ارائه API هوش مصنوعی✅ ادغام آسان با سرویس‌ها و اپلیکیشن‌ها✅ مقیاس‌پذیری و امنیت بالا
خرید و راه‌اندازی سرویس هوش مصنوعی

آنچه در ادامه خواهید خواند:

  • مدل‌ سازی سری‌ های زمانی چیست؟
  • مفاهیم کلیدی در مدل‌ سازی سری زمانی
  • انواع مدل‌ های سری زمانی (Time Series)
  • معیارهای ارزیابی مدل سری زمانی
  • کاربردهای مدل‌ سازی سری زمانی
  • مراحل پیاده‌ سازی مدل‌ سازی سری‌ های زمانی
  • چالش‌ های رایج در مدل‌ سازی سری‌ های زمانی
  • ابزارها و کتابخانه های محبوب برای مدل‌ سازی سری‌ های زمانی
  • مثال کاربردی استفاده از API برای پیش‌ بینی فروش
  • سوالات متداول
  • جمع بندی

مدل‌ سازی سری‌ های زمانی چیست؟

مدل‌سازی سری‌های زمانی، استفاده از الگوریتم‌های یادگیری ماشین و روش‌های آماری برای تحلیل داده‌هایی است که در طول زمان تغییر می‌کنند. داده‌های سری زمانی، شامل مجموعه‌ای از مشاهدات مرتب‌شده بر اساس زمان هستند، که در آن متغیر زمان به‌عنوان متغیر مستقل عمل می‌کند. برخلاف مجموعه‌داده‌های معمولی که نقاط داده مستقل از هم هستند، داده‌های سری زمانی وابستگی درونی دارند؛ به این معنا که مقدار یک داده به داده‌های قبلی وابسته است.

در مدل‌سازی سری زمانی یک‌متغیره (Univariate)، تنها متغیر مستقل، زمان است و سایر متغیرها از داده‌های قبلی مشتق می‌شوند. اما در مدل‌سازی سری زمانی چندمتغیره (Multivariate)، متغیرهای مستقل بیشتری مانند شرایط آب‌وهوایی یا داده‌های جمعیت‌شناختی نیز وارد مدل می‌شوند.

مفاهیم کلیدی در مدل‌ سازی سری زمانی

مدل‌سازی سری‌های زمانی بر پایه‌ی ویژگی‌های زمانی بنا شده‌ است؛ یعنی ابعادی از داده‌ها که به زمان مرتبط هستند یا از آن مشتق می‌شوند. مفاهیم اصلی عبارتند از:

خود همبستگی (Autocorrelation)

خود همبستگی، میزان شباهت مقادیر فعلی به مقادیر گذشته در یک سری زمانی را اندازه‌گیری می‌کند. اگر خودهمبستگی بالا باشد، به این معنی است که رفتار فعلی سری، الگوهایی مشابه با مقادیر قبلی خود دارد. این ویژگی می‌تواند وجود الگوهای تکرارشونده یا فصلی را مشخص کند.

خودهمبستگی ممکن است مثبت یا منفی باشد. در خودهمبستگی مثبت، مقادیر بالا به مقادیر بالاتر منتهی می‌شوند و بالعکس. در خودهمبستگی منفی، مقادیر بالا پس از مقادیر پایین ظاهر می‌شوند و برعکس.

فصلی بودن (Seasonality)

فصلی بودن، الگویی تکرارشونده در بازه‌های زمانی منظم است. به‌عنوان مثال، فروش عینک آفتابی در فصل بهار و تابستان افزایش می‌یابد، درحالی‌که فروش شال و روسری در پاییز و زمستان بیشتر می‌شود. مدل‌های پیش‌بینی سری زمانی از این الگوهای فصلی برای دقت بیشتر در پیش‌بینی‌ها استفاده می‌کنند.

ایستایی (Stationarity)

سری زمانی ایستا دارای ویژگی‌های آماری ثابت در طول زمان مانند میانگین و واریانس است. یک سری زمانی می‌تواند دارای نوسانات فصلی باشد اما تا زمانی که روند کلی افزایشی یا کاهشی نداشته باشد، ایستا محسوب می‌شود. برای مثال، روند افزایشی دمای جهانی به‌دلیل تغییرات اقلیمی، یک نمونه از سری زمانی غیرایستا است.

اکثر مدل‌های سری زمانی برای عملکرد مؤثر، نیاز به ایستایی دارند. آزمون دیکی-فولر (Dickey-Fuller) برای بررسی ایستایی استفاده می‌شود و در صورت نیاز، می‌توان داده‌ها را با روش‌هایی مانند تفاضل‌گیری (Differencing) ایستا کرد.

انواع مدل‌ های سری زمانی (Time Series)

برای پیش‌بینی سری‌های زمانی، می‌توان از مدل‌های مختلفی استفاده کرد. انتخاب مدل به نوع داده‌ها و هدف تحلیل بستگی دارد. برخی از مدل‌ها یک گام آینده را پیش‌بینی می‌کنند (One-step forecasting) و برخی دیگر پیش‌بینی‌های چندمرحله‌ای (Multistep forecasting) ارائه می‌دهند.

مدل‌های رایج شامل موارد زیر هستند:

ARIMA (میانگین متحرک تلفیقی خودرگرسیونی)

مدل ARIMA ترکیبی از سه مؤلفه‌ی کلیدی است:

  • خودرگرسیونی (AR): پیش‌بینی مقدار فعلی بر اساس مقادیر گذشته.
  • میانگین متحرک (MA): استفاده از خطاهای پیش‌بینی گذشته برای مدل‌سازی.
  • ادغام (I): استفاده از تفاضل‌گیری برای حذف روند و ایجاد ایستایی.

مدل‌های پیشرفته‌تر مانند SARIMA، مؤلفه‌های فصلی را نیز در نظر می‌گیرند. مدل SARIMAX امکان استفاده از متغیرهای خارجی (Exogenous Variables) مانند داده‌های بازار یا شرایط آب‌وهوایی را فراهم می‌کند.

مدل‌ های هموارسازی نمایی (Exponential Smoothing)

در این مدل‌ها، به مشاهدات اخیر وزن بیشتری داده می‌شود. انواع آن شامل:

  • SES (هموارسازی نمایی ساده): وزن‌دهی به داده‌های اخیر برای کاهش نویز.
  • DES (دوگانه): مناسب برای داده‌های دارای روند.
  • TES یا Holt-Winters: مناسب برای داده‌هایی که هم روند دارند و هم فصلی هستند.
  • TBATS: برای الگوهای فصلی پیچیده.

GARCH (مدل خودرگرسیو تعمیم‌یافته با واریانس ناهمگن شرطی)

این مدل مخصوص تحلیل نوسانات (Volatility) در داده‌های مالی است. در بازار بورس، برای تحلیل تغییرات سریع قیمت سهام استفاده می‌شود. اگر واریانس خطاها در طول زمان تغییر کند، داده‌ها ناهمگن (Heteroscedastic) تلقی می‌شوند.

LSTM (حافظه‌ بلندمدت کوتاه)

LSTM یک شبکه عصبی بازگشتی (RNN) برای مدل‌سازی توالی‌هاست. برخلاف مدل‌های آماری کلاسیک، LSTM می‌تواند وابستگی‌های بلندمدت در داده‌ها را به‌خوبی تشخیص دهد. این مدل‌ها به‌ویژه در پردازش زبان طبیعی (NLP) و تشخیص صوت و تصویر کاربرد دارند.

معیارهای ارزیابی مدل سری زمانی

برای سنجش دقت پیش‌بینی‌ها، معیارهای مختلفی استفاده می‌شود:

  • MSE (میانگین مربعات خطا)
  • RMSE (ریشه‌ی دوم میانگین مربعات خطا)
  • MAE (میانگین قدر مطلق خطا)
  • MAPE (میانگین درصدی خطا) – مناسب برای تحلیل میزان انحراف پیش‌بینی‌ها.

کاربردهای مدل‌ سازی سری زمانی

مدل‌های سری زمانی، ابزار کلیدی در تحلیل داده و تصمیم‌گیری‌های مبتنی بر داده هستند. برخی کاربردها عبارتند از:

  • شناسایی الگوها: مانند الگوهای فصلی یا روندهای بلندمدت.
  • کشف ناهنجاری‌ها: تشخیص رفتارهای غیرعادی که می‌تواند نشانه‌ای از خطا، اختلال یا فرصت جدید باشد.
  • پیش‌بینی روندها: پیش‌بینی مقادیر آینده بر اساس داده‌های تاریخی برای تصمیم‌گیری بهتر.

مراحل پیاده‌ سازی مدل‌ سازی سری‌ های زمانی

برای ساخت یک مدل سری زمانی قابل اعتماد، مراحل مشخصی وجود دارد:

۱. جمع‌ آوری و آماده‌ سازی داده‌ ها

  • اطمینان از وجود ترتیب زمانی صحیح
  • حذف یا مدیریت داده‌های گمشده (Missing Values)
  • در صورت نیاز، تبدیل داده‌ها به ایستا

۲. تحلیل مقدماتی داده‌ ها (EDA)

  • ترسیم نمودارهای خطی برای مشاهده روند، فصلی بودن و ناهنجاری‌ها
  • استفاده از نمودار خودهمبستگی (ACF) و خودهمبستگی جزئی (PACF) برای درک روابط زمانی

۳. انتخاب مدل مناسب

  • بر اساس ویژگی‌های داده‌ها (ایستایی، فصلی بودن، تعداد متغیرها و…)
  • تست چندین مدل و مقایسه آن‌ها با معیارهای ارزیابی

۴. آموزش و تنظیم مدل

  • تنظیم پارامترهای مدل با استفاده از داده‌های آموزش
  • استفاده از اعتبارسنجی متقاطع (Cross-Validation) زمانی در صورت نیاز

۵. ارزیابی و تست مدل

  • اندازه‌گیری عملکرد مدل روی داده‌های تست
  • بررسی پیش‌بینی‌های مدل با نمودارهای واقعی برای اطمینان از دقت

۶. استفاده در محیط عملیاتی (Production)

  • طراحی API یا سرویس برای ارائه پیش‌بینی‌ها به سایر بخش‌ها
  • مانیتورینگ مداوم برای به‌روزرسانی مدل در صورت تغییر الگوهای داده
مدل سری زمانی

چالش‌ های رایج در مدل‌ سازی سری‌ های زمانی

  • داده‌های گمشده یا ناقص: گاهی ثبت داده‌ها در زمان‌های مشخص انجام نشده و نیاز به پاک‌سازی یا برآورد دارد.
  • تغییرات ناگهانی در روند: مانند رخدادهای غیرمنتظره که پیش‌بینی‌پذیر نیستند (مثل کرونا یا بحران‌های مالی).
  • داده‌های با نویز بالا: باعث کاهش دقت مدل می‌شوند و نیازمند فیلتر یا روش‌های هموارسازی‌اند.
  • مسائل محاسباتی در مدل‌های یادگیری عمیق: مانند LSTM که به منابع پردازشی بالا نیاز دارند.

ابزارها و کتابخانه های محبوب برای مدل‌ سازی سری‌ های زمانی

در ادامه ابزارها و کتابخانه‌های که می‌توانید برای مدل‌سازی سری‌های زمانی از آن‌ها استفاده کنید را به شما معرفی خواهیم کرد.

Python

  • statsmodels برای مدل‌های آماری مانند ARIMA، SARIMA
  • prophet محصول متا (فیسبوک) برای پیش‌بینی‌های ساده و قابل تفسیر
  • pmdarima برای خودکارسازی انتخاب مدل ARIMA
  • scikit-learn برای پیش‌پردازش و مدل‌های پایه
  • tensorflow و keras برای شبکه‌های عصبی مانند LSTM

R

  • forecast, tsibble, fable, tseries برای مدل‌های سنتی و مدرن
  • مناسب برای تحلیلگران آماری و داده‌کاوان با تمرکز روی مدل‌های کلاسیک

مثال کاربردی استفاده از API برای پیش‌ بینی فروش

فرض کنید یک SaaS فروشگاه‌ساز آنلاین دارید و می‌خواهید فروش هر دسته‌بندی محصول را به‌صورت هفتگی پیش‌بینی کنید:

import requests
response = requests.post(
"https://your-timeseries-api.com/forecast",
json={
"series": [120, 130, 115, 160, 155, 180, 170],
"model": "auto_arima",
"forecast_horizon": 3
}
)

print(response.json())

با چنین APIای، بدون نیاز به تیم تخصصی علم داده، می‌توانید الگوریتم‌های پیشرفته را در ابزار خود استفاده کرده و تصمیم‌گیری دقیق‌تری انجام دهید.

سوالات متداول

در ادامه به سوالاتی که امکان دارد در این زمینه برای شما بدون پاسخ بماند، جواب‌های کوتاه اما مفیدی داده‌ایم که با استفاده از آن می‌توانید به سوال خود پاسخ صحیحی را بدهید.

مدل سری زمانی چیست و چه کاربردی دارد؟

مدل سری زمانی مدلی است که برای تحلیل داده‌هایی که در بازه‌های زمانی مشخص جمع‌آوری می‌شوند استفاده می‌شود و به پیش‌بینی مقادیر آینده این داده‌ها کمک می‌کند. کاربردهای آن شامل پیش‌بینی فروش، شرایط آب‌وهوایی، تحلیل نوسانات مالی و غیره است.

چه تفاوتی بین مدل سری زمانی یک‌متغیره و چندمتغیره وجود دارد؟

در مدل‌های یک‌متغیره تنها زمان به عنوان متغیر مستقل در نظر گرفته می‌شود، اما در مدل‌های چندمتغیره متغیرهای دیگری مثل شرایط آب‌وهوایی یا داده‌های اقتصادی نیز وارد مدل می‌شوند.

چرا ایستایی در داده‌های سری زمانی اهمیت دارد؟

اکثر مدل‌های سری زمانی برای عملکرد دقیق نیاز به داده‌های ایستا دارند؛ یعنی داده‌هایی که ویژگی‌های آماری آن‌ها در طول زمان ثابت بماند. در غیر این صورت مدل ممکن است نتایج نادرستی ارائه دهد.

چه ابزارهایی برای مدل‌سازی سری زمانی وجود دارد؟

ابزارهای رایج شامل کتابخانه‌های Python مانند statsmodels، Prophet، TensorFlow و Keras و همچنین کتابخانه‌های زبان R مثل forecast و tsibble هستند.

آیا برای استفاده از مدل‌های سری زمانی حتماً باید تیم تخصصی داشته باشیم؟

خیر، امروزه با وجود APIهای آماده و سرویس‌های ابری مانند لیارا، می‌توان بدون داشتن تیم تخصصی، مدل‌های سری زمانی را در برنامه‌ها و سیستم‌های خود به‌کار گرفت.

جمع بندی

مدل‌سازی سری‌های زمانی ابزاری قدرتمند برای تحلیل و پیش‌بینی داده‌های وابسته به زمان است که در زمینه‌های مختلفی مثل اقتصاد، سلامت و محیط زیست کاربرد دارد. با استفاده از مدل‌ها و الگوریتم‌های متنوع، می‌توان روندها و الگوهای پنهان را کشف و تصمیم‌گیری بهتری داشت. بهره‌گیری از APIها و ابزارهای آماده، این فناوری را در دسترس‌تر و کاربردی‌تر کرده است.

به اشتراک بگذارید