مدلهای ARIMA و ARMA در پیشبینی سریهای زمانی، دو نوع از مدلهای پیشبینی سریهای زمانی هستند که برای پیشبینی متغیرهای زمانی مانند فروش، قیمت و غیره استفاده میشوند.
در ادامه این مقاله از وبسایت اسدیتا، به توضیح این دو مدل میپردازیم. این مدلهای زمانی به ما کمک میکنند تا سریهای زمانی را به بهترین شکل ممکن و با دقت بالاتری پیشبینی کنیم.
در این بخش به معرفی مدلهای زمانی میپردازیم.
مدل 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 به انگلیسی "Autoregressive Moving Average" یعنی خودرگرسیوی متحرک متغیرهای تصادفی است. این مدل با استفاده از ترکیب دو مدل خودرگرسیوی AR(p) و میانگین متحرک MA(q)، برای پیشبینی سریهای زمانی به کار میرود. در این مدل، متغیر وابسته باید بدون تغییر مانده و استقلال خطاها باید تأیید شده باشد.
مدلهای ARIMA و ARMA از آنجایی که توانایی پیشبینی دقیقی از دادههای سری زمانی را دارند، در بسیاری از حوزههای کاربردی مانند اقتصاد، مالی، مهندسی صنایع و ... مورد استفاده قرار میگیرند.
مدلهای ARIMA و ARMA در پیشبینی سریهای زمانی در دادههای نامتوازن نیز باید بررسی شوند.
مدلهای ARIMA و ARMA برای پیشبینی سریهای زمانی با دادههای نامتوازن مناسب نیستند. در واقع، این مدلها برای پیشبینی سریهای زمانی با دادههایی که دارای توازن زمانی هستند (مثل دادههای ماهانه، فصلی و سالانه) طراحی شدهاند.
در صورتی که دادههای سری زمانی نامتوازن باشد، ممکن است پدیدههایی مانند پارامترهای ثابت، جایگزینی دادههای گم شده و ... وجود داشته باشد که باعث عدم قابلیت استفاده از مدلهای ARIMA و ARMA میشوند.
برای پیشبینی سریهای زمانی نامتوازن، بهتر است از روشهای دیگری مانند مدلهای مبتنی بر شبکههای عصبی، مدلهای مبتنی بر درخت تصمیم و ... استفاده کنید.
برای پیشبینی سریهای زمانی نامتوازن، میتوان از روشهای مختلفی استفاده کرد. در ادامه، چندین مدل برای پیشبینی سریهای زمانی نامتوازن را بررسی میکنیم
شبکههای عصبی میتوانند مدلهای قوی برای پیشبینی سریهای زمانی نامتوازن باشند. به عنوان مثال، میتوان از شبکههای بازگشتی مانند LSTM (Long Short-Term Memory) و GRU (Gated Recurrent Unit) استفاده کرد. این مدلها برای پیشبینی سریهای زمانی با دادههای نامتوازن بسیار قوی هستند.
مدلهای مبتنی بر درخت تصمیم نیز میتوانند برای پیشبینی سریهای زمانی نامتوازن مفید باشند. این مدلها با استفاده از یک درخت تصمیم، روشی برای تصمیمگیری در مورد پیشبینی مقدار سریهای زمانی ارائه میدهند.
میتوان مدلهای ARIMA و ARMA را نیز برای پیشبینی سریهای زمانی نامتوازن استفاده کرد. برای این منظور، میتوان از روشهای تعدیل شدهی این مدلها استفاده کرد که شامل مدلهای مبتنی بر ARIMAX و SARIMA میشوند.
این مدلها برای پیشبینی سریهای زمانی نامتوازن مفید هستند. در این مدلها، سری زمانی با استفاده از تجزیه ماتریس فاکتوریزاسیون به چندین عامل تقسیم میشود و هر عامل به صورت مستقل پیشبینی میشود.
این مدلها برای پیشبینی دقیق محدودهی قطعی (مانند بازهی اطمینان) مقادیر سریهای زمانی نامتوازن استفاده میشوند. این مدلها به دلیل داشتن محدودهی قطعی برای پیشبینی، بسیار مفید هستند.
در نهایت، انتخاب مدل مناسب برای پیشبینی سریهای زمانی نامتوازن، بسته به ماهیت دادهها و هدف پیشبینی که در نظر دارید متفاوت است.
در برخی موارد، ممکن است برای دقیقتر کردن پیشبینی، بتوانید از ترکیب چندین مدل مختلف استفاده کنید. در نتیجه مدلهای ARIMA و ARMA در پیشبینی سریهای زمانی میتوانند بسیار کاربردی باشند.
الگوریتم بوکس-جنکینز یا (Box-Jenkins algorithm) برای تعیین پارامترهای مدل ARIMA استفاده میشود. این الگوریتم شامل سه مرحله اصلی است: شناسایی، تخمین و تطبیق.
در این مرحله، ابتدا سعی میشود سری زمانی مورد نظر را به دو بخش تجزیه کنیم: الگوی معمولی و اختلالات نامطلوب.
سپس با استفاده از تحلیل خودکار (automated analysis) و توابع ACF و PACF، مدل خودرگرسیوی متوالی (AR)، مدل متوسط متحرک (MA) و مدل خودرگرسیوی متوالی و متوسط متحرک (ARMA) برای سری زمانی مشخص میشوند.
در این مرحله، با استفاده از دادههای سری زمانی، پارامترهای مدل ARIMA، شامل تأخیرهای خودرگرسیوی (p)، تأخیرهای متوسط متحرک (q) و درجهی انتگرال (d)، تخمین زده میشوند. برای تخمین پارامترهای مدل، از روشهای مختلفی مانند روش کمترین مربعات یا روش ماکسیمم درستنمایی استفاده میشود.
در این مرحله، پارامترهای مدل ARIMA با استفاده از دادههای سری زمانی تطبیق داده میشوند. برای این منظور، میتوان از روشهایی مانند الگوریتم کوک-ویلسون و یا الگوریتم نیوتون-رافسون استفاده کرد.
در کل، الگوریتم بوکس-جنکینز یک روش قدرتمند برای تعیین پارامترهای مدل ARIMA است که میتواند در پیشبینی سریهای زمانی با دقت بالا موثر باشد.
با این حال، برای استفاده موفق از این الگوریتم، نیاز به دانش قوی در زمینهی تحلیل سریهای زمانی و استفاده از نرمافزارهای مناسب مانند R و Python میباشد.
در کنار بررسی مدلهای ARIMA و ARMA در پیشبینی سریهای زمانی، بهتر است به چند نرم افزار در این زمینه اشاره کنیم.
برای استفاده از الگوریتم بوکس-جنکینز در تحلیل سریهای زمانی، ابزارهای مختلفی وجود دارند که میتوانید از آنها استفاده کنید. در ادامه، چندین نرمافزار مناسب برای استفاده از الگوریتم بوکس-جنکینز را برای شما معرفی میکنم:
R یک زبان برنامهنویسی و یک محیط آماری است که بسیار قدرتمند برای تحلیل دادههای آماری مانند سریهای زمانی است. بستهی forecast در R، ابزاری قدرتمند برای تحلیل سریهای زمانی است که شامل توابعی برای تعیین پارامترهای مدل ARIMA با استفاده از الگوریتم بوکس-جنکینز است.
Python نیز یک زبان برنامهنویسی قدرتمند است که میتواند برای تحلیل سریهای زمانی با استفاده از الگوریتم بوکس-جنکینز مورد استفاده قرار بگیرد.
بستههایی مانند statsmodels و pmdarima میتوانند به عنوان ابزارهای مناسب برای تحلیل سریهای زمانی با استفاده از الگوریتم بوکس-جنکینز در Python مورد استفاده قرار بگیرند.
SPSS یک نرمافزار تجاری قدرتمند برای تجزیه و تحلیل دادههای آماری است که شامل ابزارهای مختلفی برای تحلیل سریهای زمانی است. این نرمافزار از الگوریتم بوکس-جنکینز برای تعیین پارامترهای مدل ARIMA در تحلیل سریهای زمانی استفاده میکند.
SAS نیز یک نرمافزار تجاری برای تجزیه و تحلیل دادههای آماری است که شامل ابزارهای مختلفی برای تحلیل سریهای زمانی است. پروسهی تعیین پارامترهای مدل ARIMA با استفاده از الگوریتم بوکس-جنکینز در SAS بسیار ساده است.
در کل، این نرمافزارها ابزارهای قدرتمندی برای تحلیل سریهای زمانی با استفاده از الگوریتم بوکس-جنکینز ارائه میدهند. انتخاب نرمافزاری برای استفاده در تحلیل سریهای زمانی باید بر اساس نیازهای خاص شما و تجربهی شما در استفاده از آنها صورت گیرد.
در این مقاله در خصوص مدلهای ARIMA و ARMA در پیشبینی سریهای زمانی صحبت شد. شما میتوانید برای اطلاعات بیشتر در این خصوص به وبسایت اسدیتا مراجعه نمایید.