ARIMA برای پیش بینی سری های زمانی در پایتون
سری زمانی به عنوان مجموعه ای از نقاط داده که به ترتیب زمانی نمایه شده اند تعریف می شود. ترتیب زمانی می تواند روزانه، ماهانه یا حتی سالانه باشد. در زیر نمونهای از سری زمانی وجود دارد که تعداد مسافران یک شرکت هواپیمایی در ماه از سال 1949 تا 1960 را نشان میدهد.
موارد استفاده پیش بینی سری زمانی
پیشبینی سری زمانی فرآیند استفاده از یک مدل آماری برای پیشبینی مقادیر آینده یک سری زمانی بر اساس نتایج گذشته است.
- برای پیش بینی تعداد مشتریان جدید یا در حال افزایش.
- برای توضیح الگوهای فصلی در فروش.
- برای شناسایی رویدادهای غیرمعمول و تخمین میزان تأثیر آنها.
- برای برآورد تأثیر یک محصول جدید معرفی شده بر تعداد واحدهای فروخته شده.
←برای خرید کرک لایسنس تبلو Tableau با تمام ویژگی ها کلیک کنید
اجزای یک سری زمانی:
- روند: روند یک جهت کلی از داده های سری زمانی را در یک دوره زمانی طولانی نشان می دهد. یک روند می تواند افزایشی (به سمت بالا)، کاهشی (نزولی) یا افقی (ایستا) باشد.
- فصلی بودن: جزء فصلی روندی را نشان می دهد که در زمان، جهت و بزرگی تکرار می شود. برخی از نمونه ها شامل افزایش مصرف آب در تابستان به دلیل شرایط آب و هوایی گرم یا افزایش تعداد مسافران در تعطیلات هر سال است.
- جزء چرخه ای: اینها روندهایی هستند که در یک دوره زمانی معین تکرار نمی شوند. چرخه به دوره فراز و نشیب، رونق و رکود در یک سری زمانی اشاره دارد که بیشتر در چرخه های تجاری مشاهده می شود. این چرخهها نوسانات فصلی را نشان نمیدهند، اما معمولاً بسته به نوع سریهای زمانی در بازهای بین 3 تا 12 سال رخ میدهند.
- تغییرات نامنظم: اینها نوسانات در داده های سری زمانی هستند که با حذف تغییرات روند و چرخه ای قابل مشاهده می شوند. این تغییرات غیرقابل پیش بینی، نامنظم و ممکن است تصادفی باشند یا نباشند.
- تجزیه ETS : تجزیه ETS برای جداسازی اجزای مختلف یک سری زمانی استفاده می شود. اصطلاح ETS مخفف خطا، روند و فصلی است.
کد: تفکیک مجموعه داده مسافران هوایی ETS:
خروجی:
مدل ARIMA برای پیش بینی سری های زمانی
ARIMA مخفف Autoregressive Integrated Moving Average Model است و با سه پارامتر مرتبه (p, d, q) مشخص می شود.
- خودرگرسیون AR(p) – یک مدل رگرسیونی که از رابطه وابسته بین مشاهدات جاری و مشاهدات در دوره قبلی بهره برداری می کند. مولفه خودرگرسیون (AR(p)) به استفاده از مقادیر گذشته در معادله رگرسیون برای سری های زمانی اشاره دارد.
- I(d) ادغام – از مشاهدات متمایز (کم کردن یک مشاهده از یک مشاهده در نقطه زمانی قبلی) برای ثابت کردن سری زمانی استفاده می کند. هنگام تشکیل اختلاف، مقادیر جاری یک سری d برابر از مقادیر قبلی آنها کم می شود.
- MA(q) میانگین متحرک – مدلی که از وابستگی بین یک مشاهده و یک خطای باقیمانده از یک مدل میانگین متحرک اعمال شده برای مشاهدات با تاخیر استفاده می کند. یک جزء میانگین متحرک خطای مدل را به عنوان ترکیبی از عبارت های خطای قبلی نشان می دهد.
انواع مدل های ARIMA
- ARIMA: میانگین متحرک یکپارچه اتورگرسیو غیر فصلی
- SARIMA: برای ARIMA فصلی
- SARIMAX:برای ARIMA فصلی با متغیرهای برون زا
هرمی خودکار ARIMA
تابع auto_arima از کتابخانه pmdarima به ما کمک می کند تا بهینه ترین پارامترها را برای یک مدل ARIMA تعیین کنیم و یک مدل ARIMA برازش شده را برمی گرداند.
کد: تجزیه و تحلیل پارامتر برای مدل ARIMA
خروجی:
کد: مدل ARIMA را در مجموعه داده های AirPassengers قرار دهید
خروجی :
کد: پیش بینی های مدل ARIMA در برابر مجموعه آزمایشی
# Load specific evaluation tools
from sklearn.metrics import mean_squared_error
from statsmodels.tools.eval_measures import rmse
# Calculate root mean squared error
rmse(test[“# Passengers”], predictions)
# Calculate mean squared error
mean_squared_error(test[“# Passengers”], predictions)
خروجی:
کد: پیش بینی با استفاده از مدل ARIMA
مقاله های مرتبط:
1- مقدمه ای بر شبکه عصبی کانولوشن Convolution (CNN)
2- بهترین کتابخانه های پایتون برای یادگیری ماشین
3- کدام پایگاه داده برای یادگیری ماشینی بهتر است؟
4-داشبورد سازی در نرم افزار تبلو و تجسم داده ها