دانیال رضوی

مطالعه این مقاله حدود 25 دقیقه زمان ‌می‌برد.
1402/03/16
5304



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

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

 

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

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

 

1. مدل ARMA (AutoRegressive Moving Average)

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

 

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

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

 

تفاوت‌های اصلی بین 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 در پیش‌بینی سری‌های زمانی صحبت شد. شما می‌توانید برای اطلاعات بیشتر در این خصوص به وبسایت اس‌دیتا مراجعه نمایید.

 

کلمات مرتبط :




برچسب‌ها:

مد

مقالات مرتبط


آمار و الگوریتم‌ های خوشه‌بندی: ترکیب تحلیل و اتوماسیون نقش آمار در بهبود الگوریتم‌ های یادگیری نظارت‌ نشده آمار و ارزیابی عملکرد الگوریتم‌ های یادگیری نظارت‌ شده کاربرد آمار در مدل‌ سازی داده‌ های حجیم برای هوش مصنوعی آمار و طبقه‌ بندی داده‌ ها در الگوریتم‌ های یادگیری ماشین تکنیک‌ های آمار چندمتغیره در تحلیل داده‌ های پیچیده تحلیل آماری داده‌ های آموزشی برای بهبود عملکرد مدل‌ های هوش مصنوعی چگونه آمار به هوش مصنوعی در تشخیص الگوها کمک می‌کند؟ کاربرد آمار در مصورسازی نتایج مدل‌های یادگیری ماشین نقش آمار در ارزیابی الگوریتم‌ های پردازش زبان طبیعی آمار و یادگیری ماشین: ترکیبی برای بهبود پیش‌بینی‌ ها چگونه تحلیل آماری میتواند تشخیص تقلب توسط هوش مصنوعی را تقویت کند؟ کاربرد تحلیل آماری سری‌ های زمانی در هوش مصنوعی آمار و یادگیری تقویتی: تحلیل یکپارچه مقایسه روش‌ های آماری و الگوریتم‌ های هوش مصنوعی در پیشبینی نقش توزیع‌ های آماری در بهینه‌ سازی مدل‌ های هوش مصنوعی آمار در فرآیند انتخاب ویژگی‌ های مهم برای هوش مصنوعی استفاده از روش‌ های آمار بیزی در یادگیری ماشین تأثیر داده‌های آماری ناسازگار بر عملکرد هوش مصنوعی تکنیک‌ های آمار استنباطی برای پیشبینی در هوش مصنوعی چگونه داده‌ های آماری به بهبود مدل‌ های هوش مصنوعی کمک میکنند؟ نقش احتمال و آمار در الگوریتم‌ های یادگیری عمیق مدل‌ سازی آماری برای بهبود دقت شبکه‌ های عصبی چرا اصفهان نصف جهان است؟ حقایق آماری که باید بدانید! اصفهان و آینده آن از نگاه آمار؛ چه چیزهایی در راه است؟ این راز حرفه‌ای‌هاست! چرا آمار و دیتا کلید تصمیم‌گیری هوشمند است؟ آمار و دیتا یا حدس و گمان؟ کدام روش موفقیت‌آمیزتر است؟ تحلیل آمار و دیتا به زبان ساده: از کجا شروع کنیم؟ آمار و دیتا در زندگی روزمره: آیا از ارزش آن باخبرید؟ چگونه با استفاده از آمار و دیتا، فروش خود را چند برابر کنید؟ آیا آمار و دیتا می‌تواند آینده بازار شما را پیش‌بینی کند؟ چگونه آمار و دیتا می‌تواند تصمیم‌گیری‌های شما را متحول کند؟ آمار و دیتا چیست و چرا موفقیت کسب‌وکارها به آن وابسته است؟ مدل های رگرسیون و طبقه بندی برای پیشبینی‌ها بررسی تکنولوژی‌های نوین در تحلیل داده‌ها متوسط طول عمر در ایران تفاوت بین انحراف معیار و واریانس در آمار و کاربردهای هرکدام تفاوت بین میانگین، میانه و مد در آمار و کاربردهای هرکدام تفاوت بین همبستگی و علیت در آمار و روش‌های تخمین هرکدام مفاهیم پایه تحلیل عاملی و نحوه عملکرد آن مقدمه‌ای بر علم داده مفاهیم و اصول اولیه طبقه‌بندی جهانی درآمد داشبورد میانگین حسابی داشبورد میانه آمار فروش سهام عدالت سهم فارغ‌التحصیلان از بیکاران کشور چقدر است؟ تحلیل داده و ضرورت استفاده از آن در کسب‌وکارها نرخ بیکاری زنان نسبت به مردان کدام مداد رنگی به صرفه‌تر است؟ آمار مهاجرت ایران

داشبورد‌های مرتبط