تأثیر Arima و Sarimax در مدل های پیش بینی سری زمانی ساختمان

پیش بینی آینده ممکن است مانند یک شاهکار جادو به نظر برسد ، اما با پیش بینی سریال های زمانی ، این علمی است که همه ما می توانیم یاد بگیریم. پیش بینی فروش ماه آینده ، پیش بینی قیمت سهام یا برنامه ریزی برای استفاده از انرژی ، رویکردهای سری زمانی راه هایی را برای درک داده هایی که دائماً در حال تغییر هستند فراهم می کند. دو روش برای نتایج پیش بینی دقیق بدون تلاش بیشتر از ابتدایی ترین روش ها – Arima & Sarimax می درخشند. در این وبلاگ ، ما بحث خواهیم کرد که این مدل ها چیست ، چگونه قرار است آنها کار کنند و چرا آنچه در پیش بینی نقش دارند ، تحول در تجزیه و تحلیل پیش بینی کننده است ، همراه با نمونه ای آسان برای خواندن نحوه استفاده از آن در برنامه نویسی پایتون. ما همچنین شما را به یک پروژه دستی هدایت خواهیم کرد که می توانید آن را به تنهایی امتحان کنید! بنابراین ، با این مقدمه ، بیایید به دنیای بعدی تجزیه و تحلیل پیش بینی پیش بینی کنیم!
پیش بینی سریال های زمانی و Arima/Sarimax چیست؟
پیش بینی سری زمانی مانند الگوهای خواندن در یک جدول زمانی است تا حدس بزنید که چه اتفاقی می افتد. برای پیش بینی دمای فردا یا پیگیری فروش برای پیش بینی تقاضای تعطیلات ، به عنوان مطالعه داده های آب و هوا گذشته فکر کنید. یک سری زمانی فقط نقاط داده است که به مرور زمان جمع آوری می شود – مانند قیمت سهام روزانه یا بازدیدهای ماهانه وب سایت.
- ARIMA (میانگین متحرک یکپارچه خودکار): این مدل سه ایده را ترکیب می کند: به مقادیر گذشته (Autoregression) نگاه می کند ، روندها را صاف می کند (تفاوت) و خطاهای اخیر (میانگین حرکت) را در نظر می گیرد. این برای داده هایی با الگوهای مانند رشد پایدار یا چرخه بسیار عالی است ، اما هیچ اثرات فصلی به عهده نمی گیرد.
- Sarimax (Arima فصلی با متغیرهای اگزوژن): Sarimax با افزودن پشتیبانی از الگوهای فصلی (مانند سنبله های فروش تعطیلات) و عوامل خارجی (مانند آب و هوا یا تبلیغات) بر روی Arima ساخته می شود. این پسر عموی انعطاف پذیر Arima است که برای داده های پیچیده در دنیای واقعی مناسب است. این مدل ها مانند توپ های کریستالی برای داده ها هستند – آنها گذشته را تجزیه و تحلیل می کنند تا پیش بینی های هوشمندانه و قابل اعتماد را انجام دهند.
چرا Arima و Sarimax ماده
پیش بینی فقط مربوط به حدس زدن نیست ؛ این در مورد تصمیم گیری های آگاهانه است. Arima و Sarimax می درخشند زیرا آنها:
- رسیدگی به الگوهای خوب: آنها روند ، چرخه و حتی فراز و نشیب های فصلی را در داده ها مانند فروش ماهانه یا تغییر آب و هوا سالانه ضبط می کنند. -** استفاده از آن آسان است: ** با کتابخانه های پایتون مانند statsmodels ، می توانید مدل های قوی را بدون دکترا در ریاضی بسازید.
- سازگار با پیچیدگی: Arima برای داده های ساده تر کار می کند ، در حالی که Sarimax با روندهای فصلی و تأثیرات خارجی برخورد می کند و طیف گسترده ای از سناریوها را پوشش می دهد.
- صرفه جویی در وقت و هزینه: پیش بینی های دقیق به معنای برنامه ریزی بهتر است – خواه موجودی موجودی یا منابع بودجه آن باشد. از مشاغل گرفته تا محققان ، این مدل ها ابزاری برای تبدیل داده ها به بینش های عملی هستند.
چگونه Arima و Sarimax کار می کنند؟
ساختن یک مدل پیش بینی مانند آموزش یک کامپیوتر برای مشاهده الگوهای در دنباله ای از اعداد است. در اینجا نحوه انجام Arima و Sarimax آمده است:
- داده ها را آماده کنید: داده های سری زمانی (به عنوان مثال ، فروش ماهانه) را جمع آوری کرده و بررسی کنید که آیا “ثابت” است (پایدار ، بدون روند وحشی). اگر اینطور نیست ، آن را با استفاده از تکنیک هایی مانند تفاوت تنظیم کنید.
- مدل را انتخاب کنید: ARIMA را برای داده های غیر فصلی یا Sarimax برای داده های فصلی با عوامل خارجی احتمالی (مانند کمپین های بازاریابی) انتخاب کنید.
- پارامترها را تنظیم کنید: تنظیمات مدل را تعریف کنید ، مانند چند مقادیر گذشته یا خطایی که باید در نظر بگیرید. ابزارهایی مانند auto_arima می توانند به انتخاب خودکار این کمک کنند.
- متناسب با مدل: برای یادگیری الگوهای خود ، آن را بر روی داده های خود آموزش دهید ، مانند چگونگی افزایش فروش قبل از تعطیلات.
- پیش بینی: از مدل برای پیش بینی مقادیر آینده ، کامل با فواصل اطمینان استفاده کنید تا عدم اطمینان را نشان دهید.
- ارزیابی کردن: پیش بینی ها را با داده های واقعی (در صورت وجود) مقایسه کنید تا صحت را بررسی کنید و در صورت لزوم اصلاح کنید. این فرآیند داده های تاریخی را برای آینده به نقشه راه تبدیل می کند و برنامه ریزی هوشمندانه تر و آسان تر می کند.
ساخت آن: یک مثال کد ساده
بیایید Arima را با یک مثال پایتون با استفاده از statsmodels و pmdarima در عمل ببینیم. ما فروش ماهانه را برای یک مجموعه داده کوچک پیش بینی می کنیم و آن را دوستانه مبتدی اما واقع بینانه نگه می داریم. (Sarimax یک فرآیند مشابه را دنبال می کند اما داده های فصلی و خارجی را اضافه می کند – ما توجه خواهیم کرد که چگونه آن را گسترش دهیم.)
# Import libraries
import pandas as pd
import numpy as np
from pmdarima import auto_arima
from statsmodels.tsa.arima.model import ARIMA
import warnings
warnings.filterwarnings("ignore")
# Sample dataset: monthly sales (in thousands)
data = pd.Series([
120, 130, 125, 140, 145, 150, 160, 155, 170, 180, 175, 190
], index=pd.date_range(start="2023-01-01", periods=12, freq='M'))
# Step 1: Fit ARIMA model with auto_arima to find best parameters
model = auto_arima(data, seasonal=False, trace=False, error_action='ignore',
suppress_warnings=True)
# Step 2: Train ARIMA model with selected parameters
arima_model = ARIMA(data, order=model.order).fit()
# Step 3: Forecast the next 3 months
forecast = arima_model.forecast(steps=3)
forecast_index = pd.date_range(start="2024-01-01", periods=3, freq='M')
# Step 4: Print results
print("3-Month Sales Forecast:")
for date, value in zip(forecast_index, forecast):
print(f"{date.strftime('%Y-%m')}: {value:.1f} thousand")
توجه: برای Sarimax ، فصلی_رد (به عنوان مثال ، (0،1،0،12)) و داده های برونزا را اضافه کنید
خروجی:
3-Month Sales Forecast:
2024-01: 192.5 thousand
2024-02: 194.8 thousand
2024-03: 196.2 thousand
چه اتفاقی می افتد؟
- تنظیم داده ها: ما از یک سری کوچک از 12 رقم فروش ماهانه (در هزاران نفر) با روند صعودی روشن استفاده می کنیم.
- AUTO ARIMA: Auto_arima بهترین پارامترهای ARIMA (به عنوان مثال ، سفارش = (1،1،1)) را برای متناسب با داده ها انتخاب می کند و ما را از تنظیم دستی نجات می دهد.
- اتصالات مدل: مدل ARIMA روند فروش را مانند افزایش مداوم طی ماهها می آموزد.
- پیش بینی: این فروش را برای سه ماه آینده پیش بینی می کند ، و تخمین رشد مداوم (به عنوان مثال ، 192.5 در ژانویه 2024).
- Sarimax توجه: برای استفاده از Sarimax ، پارامترهای فصلی (به عنوان مثال برای چرخه های سالانه) و داده های خارجی (به عنوان مثال ، تبلیغات تعطیلات) اضافه می کنید ، اما این روند مشابه است.
چرا Arima و Sarimax از هم ایستاده اند
در مقایسه با سایر روشهای پیش بینی ، Arima و Sarimax نقاط قوت منحصر به فردی را ارائه می دهند:
- ضبط الگوی:آنها روندها ، چرخه ها و فصلی را بهتر از مدل های ساده مانند میانگین حرکت می کنند ، که پویایی پیچیده را نادیده می گیرند.
- انعطاف پذیری: Arima مناسب داده های غیر فصلی است ، در حالی که Sarimax با عوامل فصلی و خارجی برخورد می کند و آنها را برای بسیاری از مجموعه داده ها متنوع می کند.
- تفسیر: پارامترهای آنها (به عنوان مثال ، Autoregression ، میانگین حرکت) نشان می دهد که مدل “فکر می کند” ، برخلاف روش های جعبه سیاه مانند یادگیری عمیق.
- سهولت استفاده: با ابزارهایی مانند Statsmodels و Pmdarima ، بر خلاف شبکه های عصبی که به تنظیم سنگین نیاز دارند ، می توانید به سرعت مدل کنید.
گفته می شود ، آنها الگوهای خطی و ثابت بودن را فرض می کنند ، بنابراین برای داده های هرج و مرج (به عنوان مثال ، قیمت رمزنگاری) ، گزینه های دیگری مانند پیامبر یا LSTM ها ممکن است بهتر عمل کنند. با این وجود ، Arima و Sarimax برای پیش بینی قابل اعتماد انتخاب می شوند.
برنامه های دنیای واقعی
پیش بینی های قدرت Arima و Sarimax در سراسر صنایع:
- خرده فروشی: پیش بینی فروش برای بهینه سازی موجودی ، مانند برنامه ریزی سهام جمعه سیاه بر اساس روندهای گذشته.
- دارایی: پیش بینی قیمت سهام یا کالاها ، به معامله گران کمک می کند تا شرط بندی های آگاهانه ای را انجام دهند (هرچند دقت ناپایداری را محدود می کند).
- انرژی: تقاضای برق را برای تعادل بارهای شبکه ، به ویژه در قله های فصلی تخمین بزنید.
- مراقبت های بهداشتی: پذیرش بیمار در بیمارستانهای کارکنان ، مانند فصل آنفولانزا.
- بازاریابی: پیش بینی عملکرد کمپین (به عنوان مثال ، بازدیدهای وب سایت پس از تبلیغات) برای تخصیص بودجه باهوش تر
به عنوان مثال ، یک خرده فروش ممکن است از Sarimax برای پیش بینی فروش تعطیلات ، فاکتورسازی در الگوهای سالهای گذشته و تبلیغات فعلی استفاده کند و هزاران نفر را در هزینه های اضافی صرفه جویی کند.
خودتان آن را امتحان کنید
آماده پیش بینی آینده هستید؟ این پروژه دستی را بررسی کنید: پیش بینی سری زمانی با مدل های ARIMA و SARIMAX در پایتون. این زمین بازی دوستانه مبتدی به میزبانی دوره آنلاین AI ، به شما امکان می دهد تا با داده های ARIMA ، SARIMAX و سری زمانی واقعی آزمایش کنید. پیش بینی فروش ، دما یا قیمت سهام ، تنظیمات مدل ترفند را امتحان کنید و پیش بینی های خود را ببینید که به زندگی می رسد – این یک روش عملی برای تسلط بر پیش بینی است. پرش کنید و شروع به کاوش در سریال های زمان!
نکاتی برای پیش بینی بهتر
آیا می خواهید مدل های خود را حتی واضح تر کنید؟ در اینجا چند ایده وجود دارد:
- ثابت بودن را بررسی کنید: برای اطمینان از آماده شدن داده های شما برای ARIMA/SARIMAX ، از تست هایی مانند ADF (Dickey-Fuller تقویت شده) استفاده کنید ، یا از آن استفاده کنید.
- اضافه کردن فصلی: برای Sarimax ، دوره های فصلی را آزمایش کنید (به عنوان مثال ، 12 برای داده های ماهانه) برای گرفتن چرخه های سالانه.
- داده های اگزوژن را درج کنید: شامل عوامل خارجی (به عنوان مثال ، تعطیلات ، آب و هوا) در Sarimax برای پیش بینی های غنی تر است.
- اعتبار سنجی مدل ها: تقسیم داده ها به مجموعه های آموزش و آزمایش برای اندازه گیری دقت ، با استفاده از معیارهایی مانند RMSE (خطای میانگین مربع).
- آزمایش: پارامترهای مختلف را به صورت دستی امتحان کنید یا از Auto_arima با دامنه های وسیع تر استفاده کنید تا بهترین تناسب را پیدا کنید.
- تجسم: پیش بینی های مربوط به داده های واقعی برای مشاهده خطاها و ایجاد اعتماد به مدل شما. این مراحل می تواند پیش بینی های شما را از خوب به بزرگ ، آماده برای چالش های دنیای واقعی بالا ببرد.
پایان
Arima و Sarimax مانند ماشین های زمانی برای داده ها هستند و الگوهای گذشته را به پیش بینی های قابل اعتماد برای آینده تبدیل می کنند. این که آیا شما در حال پیش بینی فروش ، منابع برنامه ریزی و یا تجزیه و تحلیل روند هستید ، این مدل ها پیش بینی سری زمانی را در دسترس و قدرتمند قرار می دهند. با یک اسکریپت ساده پایتون ، می توانید توانایی آنها را برای مشاهده روندها ، رسیدگی به فصلی بودن و ترکیب عوامل بیرونی ، ارائه بینش هایی که تصمیمات هوشمندانه تری دارند ، استفاده کنید. از خرده فروشان گرفته تا محققان ، هرکسی که با داده های مبتنی بر زمان کار می کند می تواند از این ابزارها بهره مند شود. با پروژه مرتبط با بالا شروع کنید ، ویرایشگر کد خود را آتش بزنید و ببینید که چگونه Arima و Sarimax می توانند داده های شما را به یک توپ کریستالی تبدیل کنند – پیش بینی خوشحال!