11 روش کلاسیک پیش بینی سری زمانی در پایتون - بخش دوم :: بیسین - سایت تخصصی مهندسی آب

11 روش کلاسیک پیش بینی سری زمانی در پایتون - بخش دوم


از روش های یادگیری ماشین می توان برای طبقه بندی و پیش بینی مسائل سری زمانی استفاده کرد. قبل از کاوش در روشهای یادگیری ماشین برای سری های زمانی، بهتر است اطمینان حاصل کنید که آموزش روشهای پیش بینی سری زمانی خطی کلاسیک را به اتمام رسانده اید. روش های کلاسیک پیش بینی سری زمانی ممکن است بر روی روابط خطی متمرکز شده باشند، با این وجود، این روش ها پیچیده هستند و در طیف گسترده ای از مسائل عملکرد خوبی دارند، با این فرض که داده های شما به درستی آماده شده و روش به خوبی پیکربندی شده است.


در این پست، مجموعه ای از روش های کلاسیک برای پیش بینی سری های زمانی را می یابید که می توانید قبل از کاوش در روش های یادگیری ماشین، مساله پیش بینی خود را آزمایش کنید.


ساختار این پست به صورتی ساخته شده است تا اطلاعات کافی در مورد هر روش را در اختیار شما قرار دهد تا با یک مثال کد کار شروع کنید و جستجو کنید تا اطلاعات بیشتری در مورد روش کسب کنید. همه مثال ها در کد پایتون هستند و از کتابخانه Statsmodels استفاده می کنند. API های این کتابخانه برای مبتدیان مشکل است، بنابراین داشتن یک مثال کد کار به عنوان نقطه شروع پیشرفت شما را بسیار تسریع می کند.


بررسی اجمالی

این صفحه 11 روش مختلف پیش بینی سری زمانی کلاسیک را نشان می دهد. آن ها عبارت هستند از:

  • Autoregression (AR)
  • Moving Average (MA)
  • Autoregressive Moving Average (ARMA)
  • Autoregressive Integrated Moving Average (ARIMA)
  • Seasonal Autoregressive Integrated Moving-Average (SARIMA)
  • Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors (SARIMAX)
  • Vector Autoregression (VAR)
  • Vector Autoregression Moving-Average (VARMA)
  • Vector Autoregression Moving-Average with Exogenous Regressors (VARMAX)
  • Simple Exponential Smoothing (SES)
  • Holt Winter’s Exponential Smoothing (HWES)


هر روش به صورتی ثابت ارائه می شود. این شامل:

  • شرح. شرح مختصر و تکنیک دقیق.
  • کد پایتون یک نمونه کار کوتاه متناسب با مدل و پیش بینی در پایتون است.
  • اطلاعات بیشتر. منابع برای API و الگوریتم.

هر مثال کد در یک مجموعه داده ساده ساختاری نشان داده شده است که ممکن است برای این روش مناسب باشد یا نباشد. برای آزمایش روش، داده خود را با داده های مثال جایگزین کنید.


به یاد داشته باشید: هر روش نیاز به تنظیم مساله خاص شما دارد. در بسیاری از موارد، من نمونه هایی از نحوه پیکربندی و حتی شبکه کردن پارامترهای جستجو را در سایت دارم، و عملکرد جستجو را امتحان می کنم.


Vector Autoregression (VAR)

روش بردار خود همبسته (VAR) مرحله بعدی را در هر سری زمانی با استفاده از یک مدل AR مدل سازی می کند. این تعمیم AR به چندین سری زمانی موازی است، به عنوان مثال. سری های زمانی چند متغیره.


علامت گذاری برای مدل شامل تعیین ترتیب برای مدل AR(p) به عنوان پارامترهای یک تابع VAR است، به عنوان مثال VAR(p)


این روش برای سری های زمانی چند متغیره بدون روند و مولفه های فصلی مناسب است.


کد پایتون


# VAR example
from statsmodels.tsa.vector_ar.var_model import VAR
from random import random
# contrived dataset with dependency
data = list()
for i in range(100):
    v1 = i + random()
    v2 = v1 + random()
    row = [v1, v2]
    data.append(row)
# fit model
model = VAR(data)
model_fit = model.fit()
# make prediction
yhat = model_fit.forecast(model_fit.y, steps=1)
print(yhat)


اطلاعات بیشتر

statsmodels.tsa.vector_ar.var_model.VAR API

statsmodels.tsa.vector_ar.var_model.VARResults API

بردار خودهمبستگی در ویکی پدیا


Vector Autoregression Moving-Average (VARMA)

بردار خود همبسته میانگین متحرک (VARMA) مرحله بعدی را در هر سری زمانی با استفاده از یک مدل ARMA مدل سازی می کند. این تعمیم ARMA به چندین سری زمانی موازی است، به عنوان مثال. سری های زمانی چند متغیره.


علامت گذاری برای مدل شامل تعیین ترتیب برای مدل های AR(p) و MA(q) به عنوان پارامترهای یک عملکرد VARMA است، به عنوان مثال. VARMA (p, q) همچنین می توان از مدل VARMA برای توسعه مدل های VAR یا VMA استفاده کرد.


این روش برای سری های زمانی چند متغیره بدون روند و مولفه های فصلی مناسب است.


کد پایتون


# VARMA example
from statsmodels.tsa.statespace.varmax import VARMAX
from random import random
# contrived dataset with dependency
data = list()
for i in range(100):
    v1 = random()
    v2 = v1 + random()
    row = [v1, v2]
    data.append(row)
# fit model
model = VARMAX(data, order=(1, 1))
model_fit = model.fit(disp=False)
# make prediction
yhat = model_fit.forecast()
print(yhat)


اطلاعات بیشتر

statsmodels.tsa.statespace.varmax.VARMAX API

statsmodels.tsa.statespace.varmax.VARMAX نتایج

بردار خودهمبستگی در ویکی پدیا


Vector Autoregression Moving-Average with Exogenous Regressors (VARMAX)

بردار خودهمبسته میانگین متحرک با رگرسورهای برون زا (VARMAX) پسوندی از مدل VARMA است که شامل مدل سازی متغیرهای برون زا نیز می باشد. این یک نسخه چند متغیره از روش ARMAX است.


متغیرهای برون متغیر نیز نامیده می شوند و می توان آنها را به عنوان توالی ورودی موازی در نظر گرفت که دارای مشاهدات در همان مراحل زمانی با سری اصلی هستند. سری های اصلی به عنوان داده های درون زا نامیده می شوند تا آنها را از توالی (های) برونزا مقایسه کنند. مشاهدات مربوط به متغیرهای برونزا در هر مرحله به طور مستقیم در مدل گنجانده می شود و به همان روشی که توالی درون زای اولیه (به عنوان مثال به عنوان فرایند AR، MA و غیره) مدلسازی نمی شود.


از روش VARMAX همچنین می توان برای مدل سازی مدلهای فرعی با متغیرهای برونزا، مانند VARX و VMAX استفاده کرد.


این روش برای سری های زمانی چند متغیره بدون روند و مولفه های فصلی با متغیرهای برون زای مناسب است.


کد پایتون


# VARMAX example
from statsmodels.tsa.statespace.varmax import VARMAX
from random import random
# contrived dataset with dependency
data = list()
for i in range(100):
    v1 = random()
    v2 = v1 + random()
    row = [v1, v2]
    data.append(row)
data_exog = [x + random() for x in range(100)]
# fit model
model = VARMAX(data, exog=data_exog, order=(1, 1))
model_fit = model.fit(disp=False)
# make prediction
data_exog2 = [[100]]
yhat = model_fit.forecast(exog=data_exog2)
print(yhat)


اطلاعات بیشتر

statsmodels.tsa.statespace.varmax.VARMAX API

statsmodels.tsa.statespace.varmax.VARMAX نتایج

بردار خودهمبستگی در ویکی پدیا


Simple Exponential Smoothing (SES)

روش هموار سازی نمایی ساده (SES) گام زمان بعدی را به عنوان یک تابع خطی وزنی نمایی مشاهدات در مراحل زمان قبلی، مدل می کند.


این روش برای سری های زمانی تک متغیره بدون روند و مولفه های فصلی مناسب است.


کد پایتون


# SES example
from statsmodels.tsa.holtwinters import SimpleExpSmoothing
from random import random
# contrived dataset
data = [x + random() for x in range(1, 100)]
# fit model
model = SimpleExpSmoothing(data)
model_fit = model.fit()
# make prediction
yhat = model_fit.predict(len(data), len(data))
print(yhat)


اطلاعات بیشتر

statsmodels.tsa.holtwinters.SimpleExpSmoothing API

statsmodels.tsa.holtwinters.HoltWintersResults API

هموار سازی نمایی در ویکی پدیا


Holt Winter’s Exponential Smoothing (HWES)

هموار سازی نمایی Holt Winter (HWES) همچنین با توجه به روندها و فصلی بودن، مرحله بعدی را به عنوان یک تابع خطی وزنی از مشاهدات در گام های زمان قبلی، مدل های هموار سازی نمایی سه گانه نامیده است.


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


کد پایتون


# HWES example
from statsmodels.tsa.holtwinters import ExponentialSmoothing
from random import random
# contrived dataset
data = [x + random() for x in range(1, 100)]
# fit model
model = ExponentialSmoothing(data)
model_fit = model.fit()
# make prediction
yhat = model_fit.predict(len(data), len(data))
print(yhat)


اطلاعات بیشتر

statsmodels.tsa.holtwinters.ExponentialSmoothing API

statsmodels.tsa.holtwinters.HoltWintersResults API

هموار سازی نمایی در ویکی پدیا


خواندن بیشتر

اگر می خواهید عمیق تر شوید، این بخش منابع بیشتری را در این زمینه فراهم می کند.


Statsmodels: API تجزیه و تحلیل سری زمانی

Statsmodels: تجزیه و تحلیل سری زمانی با استفاده از روش های فضایی بخشی


خلاصه

در این پست، مجموعه ای از روش های کلاسیک پیش بینی سری زمانی را کشف کرده اید که می توانید آنها را آزمایش کرده و بر روی مجموعه داده های سری زمانی خود تنظیم کنید.




پروژه تخصصی در لینکدین




نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی


درباره بهترين هاي بيسيـــن بدانيد...

Bird

يکي از مهمترين اهداف اين سايت تهيه آموزش هاي روان از ابزارهاي کاربردي علوم آب است.

اهميت مطالعات محيطي با ابزارهاي نوين در چيست؟

امروز با فارغ التحصيلي جمع کثير دانشجويان سالهاي گذشته و حال، با گذر از کمي گرايي ديگر صرف وجود مدارک دانشگاهي حرف اول را در بازار کار نمي زند؛ بلکه سنجش ديگري ملاک؛ و شايسته سالاري به ناچار! باب خواهد شد. يکي از مهم ترين لوازم توسعه علمي در هر کشور و ارائه موضوعات ابتکاري، بهره گيري از ابزار نوين است، بيسين با همکاري مخاطبان مي تواند در حيطه علوم آب به معرفي اين مهم بپردازد.

جستجو در بيسين


بیسین - سایت تخصصی مهندسی آب

سایت مهندسی آب بیسین با معرفی مهم ترین و کاربردی ترین نرم افزارها و مدل های شبیه سازی در حیطه مهندسی آب، تلاش به تهیه خدمات یکپارچه و محلی از محاسبات هیدرولوژیکی و هیدرولیکی می کند

W3Schools


اطلاعات سايت

  • behzadsarhadi@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: SubBasin
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09190622992-098

W3Schools