برنامه نویسی

مدل های سری زمانی – جامعه dev

در اینجا یک مقاله به سبک شکل با عنوان وجود دارد “راهنمای کامل مدل های سری زمانی” – ایده آل برای یک پست dev.to:


مدل سازی سری زمانی هنگام کار با داده های فهرست بندی شده به ترتیب زمان ضروری است – فکر کنید قیمت سهام ، الگوهای آب و هوا یا رشد تولید ناخالص داخلی.

در اینجا راهنمای کامل نقطه ای برای مدل های سری زمانی-از روشهای کلاسیک گرفته تا یادگیری عمیق-آورده شده است.


series سریال زمانی چیست؟

  • دنباله ای از نقاط داده جمع آوری شده یا در فواصل زمانی خاص.
  • زمان یک مؤلفه مهم است – سفارش.
  • مثال: دمای روزانه ، فروش ماهانه ، ترافیک وب ساعتی.

🔍 ویژگی های کلیدی سری زمانی

  • روند: حرکت بلند مدت به سمت بالا یا رو به پایین.
  • فصلی: الگوهای منظم (به عنوان مثال ، تقاضای سه ماهه).
  • الگوهای چرخه ای: چرخه های نامنظم در طی سالها.
  • سر و صدا: تغییرات تصادفی که نمی توان توضیح داد.

🛠 مدل های سری زمانی کلاسیک

1 AR (خودکار)

  • ارزش فعلی را بر اساس پیش بینی می کند ارزشهای گذشتهبشر
  • مثال: AR (1):

$ $
y_t = \ phi_1 y_ {t-1} + \ epsilon_t
\]$ $

2 MA (میانگین متحرک)

  • کاربردهای خطاهای پیش بینی گذشته برای پیش بینی ارزشهای آینده.
  • مثال: MA (1):

$ $
y_t = \ mu + \ theta_1 \ epsilon_ {t-1} + \ epsilon_t
\]$ $

3 سلاح (AR + MA)

  • اجزای متوسط ​​خود را در حال حرکت و متحرک ترکیب می کند.
  • برای داده های ثابت خوب کار می کند.

4 ARIMA (میانگین متحرک یکپارچه خودکار)

  • اضافه کردن متمایز برای رسیدگی به روندها (داده های غیر ثابت).
  • نماد: Arima (P ، D ، Q)

5 ساریما (آریما فصلی)

  • اضافه کردن فصلی شرایط به آریما.
  • نماد: Arima (P ، D ، Q) (P ، D ، Q)[s]

🔮 مدل های هموار سازی نمایی

6 هموار سازی نمایی ساده

  • بهترین برای داده های بدون روند/فصلی.
  • میانگین وزنی با وزنهای کاهش نمایی.

7 روند خطی هولت

  • روند را با دو معادله ضبط می کند: سطح و روند.

8 Holt-Winters (هموار سازی سه گانه)

  • اضافه کردن فصلی به روش هولت.
  • از هر دو فصلی افزودنی و چند برابر پشتیبانی می کند.

models مدل های مبتنی بر یادگیری ماشین

9 مدلهای رگرسیون

  • از ویژگی های تاخیر استفاده کنید (به عنوان مثال ، t-1با t-2) به عنوان ورودی به یک الگوریتم رگرسیون.
  • الگوریتم ها: رگرسیون خطی ، جنگل تصادفی ، xgboost

10 رگرسیون بردار پشتیبانی (SVR)

  • قوی به Outliers ؛ برای الگوهای غیرخطی خوب است.

11 knn برای سریال های زمانی

  • پیش بینی های غیر پارامتری ، شباهت.

🧠 یادگیری عمیق برای سریال های زمانی

12 RNN (شبکه عصبی مکرر)

  • در رسیدگی به سکانس ها خوب است – اما از شیب ناپدید شده رنج می برد.

13 LSTM (حافظه کوتاه مدت بلند)

  • محدودیت های RNN را با دروازه های حافظه حل می کند.
  • محبوب برای پیش بینی دنباله طولانی.

14 GRU (واحد مکرر دروازه)

  • ساده تر از LSTM ، عملکرد مشابه.

15 1D CNN برای سری زمانی

  • الگوهای کوتاه مدت را با استفاده از فیلترهای حلقوی تشخیص می دهد.

16 مدل های ترانسفورماتور

  • قدرتمند برای سکانس های طولانی.
  • مکانیسم توجه اجازه می دهد تا پردازش موازی (به عنوان مثال ، اطلاعات ، ترانسفورماتور زمان).

📦 مدل های ترکیبی و تخصصی

17 فیس بوک

  • روند ، فصلی ، تعطیلات.
  • API بسیار کاربر پسند.

18 var (وکتور autoregression)

  • چند متغیره – متغیرهای سری زمانی را با هم پیش بینی می کند.

19. مدل های فضایی ایالتی / فیلترهای کالمن

  • برای سیستم های پویا ؛ در سیستم های کنترل ، روباتیک استفاده می شود.

معیارهای ارزیابی مدل

  • مایه: میانگین خطای مطلق
  • RMSE: خطای مربع میانگین ریشه
  • مگس کردن: میانگین خطای درصد مطلق
  • AIC/BIC: برای انتخاب مدل (به ویژه Arima)

🧪 نکاتی برای کار با سری زمانی

  • همیشه برای ثابت بودن بررسی کنیدبشر
  • استفاده کردن ویندوزهای نورد برای اعتبار سنجی
  • نه داده ها به طور تصادفی – به سفارش زمان احترام بگذارید.
  • استفاده کردن توطئه های تاخیر ، ACF/PACF برای تشخیص الگوی.
  • مجدداً برای بینش روند/فصلی مجدداً مجدداً تجزیه یا تجزیه کنید.

🧰 کتابخانه های محبوب

  • پایتون:

    • statsmodels
    • pmdarima
    • prophet
    • scikit-learn
    • tslearn
    • darts (از مدل های کلاسیک ، ML و DL پشتیبانی می کند)

🏁 نهایی

  • هیچ مدل یک اندازه متناسب با یک اندازه-با Arima یا Winters Holt شروع کنید ، سپس در صورت لزوم به ML/DL بروید.
  • درک خود را رفتار داده ها قبل از انتخاب یک مدل.
  • آزمایش ، اعتبارسنجی و نظارت در تولید – رانش سری زمانی واقعی است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا