SData
ورود / ثبت‌نام

جستجو در SData

جستجوی سریع در SData

محصولات، دوره‌ها، داشبوردها و مقالات را در لحظه پیدا کنید

محصولات
دوره‌ها
داشبوردها
مقالات
حداقل 2 حرف برای شروع جستجو تایپ کنید
SData

مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی

دانیال رضوی
1402/03/16
مطالعه این مقاله حدود 26 دقیقه زمان می‌برد
9109 بازدید
مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی

مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی، دو نوع از مدل‌های پیش‌بینی سری‌های زمانی هستند که برای پیش‌بینی متغیرهای زمانی مانند فروش، قیمت و غیره استفاده می‌شوند.

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


 

مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی
 


مدل‌های ARIMA و ARMA ابزارهای آماری قدرتمندی برای تحلیل و پیش‌بینی سری‌های زمانی هستند. این مدل‌ها با استفاده از الگوهای موجود در داده‌های گذشته، مقادیر آینده را پیش‌بینی می‌کنند. تفاوت اصلی آن‌ها در نحوه مدیریت داده‌های غیرایستا است. در ادامه توضیح مختصری از هر مدل و کاربردهای آن‌ها آورده شده است:


 

1. مدل ARMA (AutoRegressive Moving Average)

 

مدل ARMA برای سری‌های زمانی ایستا طراحی شده است، یعنی داده‌هایی که میانگین و واریانس آن‌ها در طول زمان ثابت است.

 

  • اجزای مدل ARMA:
     

    • AR (AutoRegressive - خودرگرسیو): از مقادیر گذشته سری زمانی برای پیش‌بینی مقادیر آینده استفاده می‌کند. این بخش رابطه خطی بین مقدار فعلی و مقادیر قبلی را مدل‌سازی می‌کند.
    • MA (Moving Average - میانگین متحرک): از خطاهای پیش‌بینی مقادیر گذشته برای اصلاح پیش‌بینی مقادیر آینده استفاده می‌کند.

 

  • کاربردهای مدل ARMA:
     

    • پیش‌بینی داده‌های مالی مانند قیمت سهام.
    • پیش‌بینی تقاضا در زنجیره‌های تأمین.
    • پیش‌بینی تغییرات آب و هوا یا دما در سری‌های زمانی ایستا.

 

2. مدل ARIMA (AutoRegressive Integrated Moving Average)

 

مدل ARIMA برای سری‌های زمانی غیرایستا مناسب است که میانگین یا واریانس آن‌ها در طول زمان تغییر می‌کند. این مدل با استفاده از انتگرال‌گیری (Integration) داده‌های غیرایستا را به داده‌های ایستا تبدیل می‌کند.

 

  • اجزای مدل ARIMA:
     

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

 

  • کاربردهای مدل ARIMA:
     

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


 

تفاوت‌های اصلی بین ARMA و ARIMA:

 

ویژگی                   ARMA                                                       ARIMA
نوع داده برای سری‌های زمانی ایستا مناسب است. برای سری‌های زمانی غیرایستا کاربرد دارد.
انتگرال‌گیری نیازی به انتگرال‌گیری ندارد. از انتگرال‌گیری برای ایستا کردن داده‌ها استفاده می‌کند.
کاربردها سری‌های زمانی ساده و ایستا. سری‌های زمانی پیچیده و دارای روند یا فصلی بودن.

 

معرفی مدل‌های زمانی

 

در این بخش به معرفی مدل‌های زمانی می‌پردازیم.


 

مدل ARIMA:


مدل ARIMA به انگلیسی "Autoregressive Integrated Moving Average" یعنی خودرگرسیوی متوالی متغیرهای تصادفی است. این مدل با استفاده از ترکیبی از مدل‌های خودرگرسیوی AR(p)، میانگین متحرک MA(q) و انتگرال I(d)، برای پیش‌بینی سری‌های زمانی به کار می‌رود. هر یک از این مدل‌ها به شکل زیر تعریف می‌شوند:

 

- مدل AR(p):
 

در این مدل، مقدار فعلی سری زمانی، به صورت خطی با مقادیر گذشته‌ی خود در یک بازه زمانی p، ارتباط دارد. به عبارت دیگر، مقدار فعلی سری زمانی، به صورت خطی با محصولات مقادیر گذشته‌ی خود در زمان t-1، t-2 و ... t-p، رابطه دارد.

 

- مدل MA(q):


در این مدل، مقدار فعلی سری زمانی، به صورت خطی با خطاهای گذشته‌ی خود در یک بازه زمانی q، ارتباط دارد. به عبارت دیگر، مقدار فعلی سری زمانی، به صورت خطی با خطاهای پیشین خود در زمان t-1، t-2 و ... t-q، رابطه دارد.

 

- مدل I(d):


مدل I(d) یک مدل انتگرال می‌باشد که برای حذف تغییرات مستقل زمانی (مانند میانگین)، به کار می‌رود. با اعمال این مدل، سری زمانی به یک سری زمانی استشماری تبدیل می‌شود که تغییرات مستقل زمانی آن حذف شده است.

 

با ترکیب این سه مدل، می‌توان مدل ARIMA را به صورت ARIMA(p,d,q) تعریف کرد که در آن p، مرتبه مدل AR، q، مرتبه مدل MA و d، مرتبه مدل I را نشان می‌دهد.


 

مدل ARMA:


مدل ARMA به انگلیسی "Autoregressive Moving Average" یعنی خودرگرسیوی متحرک متغیرهای تصادفی است. این مدل با استفاده از ترکیب دو مدل خودرگرسیوی AR(p) و میانگین متحرک MA(q)، برای پیش‌بینی سری‌های زمانی به کار می‌رود. در این مدل، متغیر وابسته باید بدون تغییر مانده و استقلال خطاها باید تأیید شده باشد.

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


 

آیا مدل‌های ARIMA و ARMA برای پیش‌بینی سری‌های زمانی با داده‌های نامتوازن مناسب هستند؟


مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی در داده‌های نامتوازن نیز باید بررسی شوند.

مدل‌های ARIMA و ARMA برای پیش‌بینی سری‌های زمانی با داده‌های نامتوازن مناسب نیستند. در واقع، این مدل‌ها برای پیش‌بینی سری‌های زمانی با داده‌هایی که دارای توازن زمانی هستند (مثل داده‌های ماهانه، فصلی و سالانه) طراحی شده‌اند.

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

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


 

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


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


 

مدل‌های مبتنی بر شبکه‌های عصبی:


شبکه‌های عصبی می‌توانند مدل‌های قوی برای پیش‌بینی سری‌های زمانی نامتوازن باشند. به عنوان مثال، می‌توان از شبکه‌های بازگشتی مانند LSTM (Long Short-Term Memory) و GRU (Gated Recurrent Unit) استفاده کرد. این مدل‌ها برای پیش‌بینی سری‌های زمانی با داده‌های نامتوازن بسیار قوی هستند.

 

مدل‌های مبتنی بر درخت تصمیم:


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

 

مدل‌های مبتنی بر ARIMA و ARMA با تعدیل شده:


می‌توان مدل‌های ARIMA و ARMA را نیز برای پیش‌بینی سری‌های زمانی نامتوازن استفاده کرد. برای این منظور، می‌توان از روش‌های تعدیل شده‌ی این مدل‌ها استفاده کرد که شامل مدل‌های مبتنی بر ARIMAX و SARIMA می‌شوند.

 

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


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

 

مدل‌های مبتنی بر رگرسیون کوانتیل:


این مدل‌ها برای پیش‌بینی دقیق محدوده‌ی قطعی (مانند بازه‌ی اطمینان) مقادیر سری‌های زمانی نامتوازن استفاده می‌شوند. این مدل‌ها به دلیل داشتن محدوده‌ی قطعی برای پیش‌بینی، بسیار مفید هستند.

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

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

 

الگوریتم بوکس-جنکینز را برای تعیین پارامترهای مدل ARIMA


الگوریتم بوکس-جنکینز یا (Box-Jenkins algorithm) برای تعیین پارامترهای مدل ARIMA استفاده می‌شود. این الگوریتم شامل سه مرحله اصلی است: شناسایی، تخمین و تطبیق.

 

مرحله شناسایی:


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

سپس با استفاده از تحلیل خودکار (automated analysis) و توابع ACF و PACF، مدل خودرگرسیوی متوالی (AR)، مدل متوسط متحرک (MA) و مدل خودرگرسیوی متوالی و متوسط متحرک (ARMA) برای سری زمانی مشخص می‌شوند.

 

مرحله تخمین:


در این مرحله، با استفاده از داده‌های سری زمانی، پارامترهای مدل ARIMA، شامل تأخیرهای خودرگرسیوی (p)، تأخیرهای متوسط متحرک (q) و درجه‌ی انتگرال (d)، تخمین زده می‌شوند. برای تخمین پارامترهای مدل، از روش‌های مختلفی مانند روش کمترین مربعات یا روش ماکسیمم درست‌نمایی استفاده می‌شود.

 

مرحله تطبیق:


در این مرحله، پارامترهای مدل ARIMA با استفاده از داده‌های سری زمانی تطبیق داده می‌شوند. برای این منظور، می‌توان از روش‌هایی مانند الگوریتم کوک-ویلسون و یا الگوریتم نیوتون-رافسون استفاده کرد.

در کل، الگوریتم بوکس-جنکینز یک روش قدرتمند برای تعیین پارامترهای مدل ARIMA است که می‌تواند در پیش‌بینی سری‌های زمانی با دقت بالا موثر باشد.

با این حال، برای استفاده موفق از این الگوریتم، نیاز به دانش قوی در زمینه‌ی تحلیل سری‌های زمانی و استفاده از نرم‌افزارهای مناسب مانند R و Python می‌باشد.


 

یک نرم‌افزار مناسب برای استفاده از الگوریتم بوکس-جنکینز


در کنار بررسی مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی، بهتر است به چند نرم افزار در این زمینه اشاره کنیم.

برای استفاده از الگوریتم بوکس-جنکینز در تحلیل سری‌های زمانی، ابزارهای مختلفی وجود دارند که می‌توانید از آنها استفاده کنید. در ادامه، چندین نرم‌افزار مناسب برای استفاده از الگوریتم بوکس-جنکینز را برای شما معرفی می‌کنم:

 

R:


R یک زبان برنامه‌نویسی و یک محیط آماری است که بسیار قدرتمند برای تحلیل داده‌های آماری مانند سری‌های زمانی است. بسته‌ی forecast در R، ابزاری قدرتمند برای تحلیل سری‌های زمانی است که شامل توابعی برای تعیین پارامترهای مدل ARIMA با استفاده از الگوریتم بوکس-جنکینز است.

 

Python:


Python نیز یک زبان برنامه‌نویسی قدرتمند است که می‌تواند برای تحلیل سری‌های زمانی با استفاده از الگوریتم بوکس-جنکینز مورد استفاده قرار بگیرد.

بسته‌هایی مانند statsmodels و pmdarima می‌توانند به عنوان ابزارهای مناسب برای تحلیل سری‌های زمانی با استفاده از الگوریتم بوکس-جنکینز در Python مورد استفاده قرار بگیرند.

 

SPSS:


SPSS یک نرم‌افزار تجاری قدرتمند برای تجزیه و تحلیل داده‌های آماری است که شامل ابزارهای مختلفی برای تحلیل سری‌های زمانی است. این نرم‌افزار از الگوریتم بوکس-جنکینز برای تعیین پارامترهای مدل ARIMA در تحلیل سری‌های زمانی استفاده می‌کند.

 

SAS:


SAS نیز یک نرم‌افزار تجاری برای تجزیه و تحلیل داده‌های آماری است که شامل ابزارهای مختلفی برای تحلیل سری‌های زمانی است. پروسه‌ی تعیین پارامترهای مدل ARIMA با استفاده از الگوریتم بوکس-جنکینز در SAS بسیار ساده است.

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


 

سخن آخر


در این مقاله در خصوص مدل‌های ARIMA و ARMA در پیش‌بینی سری‌های زمانی صحبت شد. شما می‌توانید برای اطلاعات بیشتر در این خصوص به وبسایت اس‌دیتا مراجعه نمایید.


 

کلمات مرتبط :
 

  • مدل arim
  • arima چیست
  • آموزش مدل arima
  • arima

برچسب‌ها


انتخاب پالت رنگی