راهنمای جامع تحلیل سری های زمانی

گره منبع: 1878658

تصویر سری زمانی

  • یک سری زمانی نشان دهنده یک سری سفارشات مبتنی بر زمان است. سال ها، ماه ها، هفته ها، روزها، ساعت ها، دقیقه ها و ثانیه ها خواهد بود
  • سری زمانی مشاهده ای از توالی زمان گسسته بازه های متوالی است.
  • سری زمانی یک نمودار در حال اجرا است.
  • متغیر زمان/ویژگی متغیر مستقل است و از متغیر هدف برای پیش‌بینی نتایج پشتیبانی می‌کند.
  • تجزیه و تحلیل سری زمانی (TSA) در زمینه های مختلف برای پیش بینی های مبتنی بر زمان استفاده می شود - مانند پیش بینی آب و هوا، مالی، پردازش سیگنال، حوزه مهندسی - سیستم های کنترل، سیستم های ارتباطات.
  • از آنجایی که TSA شامل تولید مجموعه ای از اطلاعات در یک توالی خاص است، آن را از تحلیل های مکانی و دیگر متمایز می کند.
  • با استفاده از مدل‌های AR، MA، ARMA و ARIMA می‌توانیم آینده را پیش‌بینی کنیم.

مقدمه ای بر تحلیل سری های زمانی

تجزیه و تحلیل سری زمانی روشی برای مطالعه ویژگی های متغیر پاسخ با توجه به زمان، به عنوان متغیر مستقل است. برای تخمین متغیر هدف به نام پیش بینی یا پیش بینی، از متغیر زمان به عنوان نقطه مرجع استفاده کنید. در این مقاله به تفصیل اهداف، مفروضات، اجزای TSA (ایستا و غیر ثابت) بحث خواهیم کرد. همراه با الگوریتم TSA و موارد استفاده خاص در پایتون.

  1. تجزیه و تحلیل سری زمانی (TSA) و فرض آن چیست

  2. چگونه تجزیه و تحلیل کنیم)؟
  3. اهمیت تحلیل سری های زمانی و انواع آن.
  4. اجزای سری زمانی
  5. محدودیت های سری های زمانی چیست؟
  6. مطالعه تفصیلی انواع داده های سری زمانی.
  7. بحث در مورد اجزای ثابت و غیر ثابت
  8. تبدیل غیر ثابت به ثابت
  9. چرا از تجزیه و تحلیل سری زمانی در علم داده و یادگیری ماشین استفاده می شود؟
  10. تجزیه و تحلیل سری زمانی در علم داده و یادگیری ماشین
  11. پیاده سازی مدل خودکار رگرسیون
  12. پیاده سازی میانگین متحرک (WEIGHTS – SIMPLE MOVING AVERAGE)
  13. آشنایی با ARMA و ARIMA
  14. مراحل پیاده سازی برای ARIMA
  15. تجزیه و تحلیل سری زمانی - جریان فرآیند (شکاف مجدد)

تجزیه و تحلیل سری زمانی چیست؟

تعریف: اگر می بینید، تعاریف بسیار بیشتری برای TSA وجود دارد. اما آن را ساده کنید.

یک سری زمانی چیزی نیست جز دنباله ای از نقاط داده مختلف که به ترتیب متوالی برای یک دوره زمانی معین رخ داده اند.

اهداف:

  • برای درک اینکه سری های زمانی چگونه کار می کنند، چه عواملی بر متغیر(های) خاصی در مقاطع زمانی مختلف تأثیر می گذارند.
  • تجزیه و تحلیل سری های زمانی پیامدها و بینش ویژگی های مجموعه داده داده شده را ارائه می دهد که در طول زمان تغییر می کند.
  • پشتیبانی از استخراج پیش بینی مقادیر آینده متغیر سری زمانی.
  • مفروضات: یک و تنها فرض وجود دارد که «ایستا» است، به این معنی که مبدأ زمان بر ویژگی‌های فرآیند تحت عامل آماری تأثیر نمی‌گذارد.

چگونه سری های زمانی را تجزیه و تحلیل کنیم؟

به هر حال گام‌های سریع در اینجا برای مرجع شماست. بعداً در این مقاله به تفصیل این موضوع را مشاهده خواهید کرد.

  • جمع آوری داده ها و پاکسازی آن
  • آماده سازی تجسم با توجه به زمان در مقابل ویژگی کلیدی
  • رعایت ایستایی سریال
  • ایجاد نمودارها برای درک ماهیت آن.
  • ساختمان مدل – AR، MA، ARMA و ARIMA
  • استخراج بینش از پیش بینی

اهمیت سری های زمانی و انواع آن

TSA ستون فقرات پیش‌بینی و تحلیل پیش‌بینی است، مخصوصاً بیانیه‌های مسئله مبتنی بر زمان.

  • تجزیه و تحلیل مجموعه داده های تاریخی و الگوهای آن
  • درک و تطبیق وضعیت فعلی با الگوهای برگرفته از مرحله قبل.
  • شناخت عامل یا عوامل موثر بر متغیر(های) خاص در دوره های مختلف.

با کمک "سری های زمانی" می توانیم تحلیل ها و نتایج متعددی را بر اساس زمان آماده کنیم.

  • پیش بینی
  • تقسیم بندی
  • طبقه بندی
  • تحلیل توصیفی
  • تحلیل مداخله

مولفه های تجزیه و تحلیل سری های زمانی

  • روند
  • فصلی بودن
  • چرخه ای
  • بی نظمی
  • روند: که در آن هیچ بازه ثابتی وجود ندارد و هر گونه واگرایی در مجموعه داده داده شده یک جدول زمانی پیوسته است. روند منفی یا مثبت یا منفی خواهد بود
  • فصلی بودن: که در آن بازه منظم یا ثابت در یک جدول زمانی پیوسته در مجموعه داده جابجا می شود. منحنی زنگی یا دندان اره خواهد بود
  • چرخه ای: که در آن فاصله ثابت، عدم قطعیت در حرکت و الگوی آن وجود ندارد
  • بی نظمی: موقعیت‌ها/رویدادها/سناریوها و جهش‌های غیرمنتظره در یک بازه زمانی کوتاه.
مولفه های تجزیه و تحلیل سری های زمانی

محدودیت‌های تحلیل سری زمانی چیست؟

سری های زمانی دارای محدودیت های ذکر شده در زیر هستند، ما باید در طول تجزیه و تحلیل خود از آنها مراقبت کنیم.

  • مشابه سایر مدل‌ها، مقادیر از دست رفته توسط TSA پشتیبانی نمی‌شوند
  • نقاط داده باید در رابطه خود خطی باشند.
  • تبدیل داده ها اجباری است، بنابراین کمی گران است.
  • مدل ها بیشتر روی داده های تک متغیری کار می کنند.

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

بیایید انواع داده سری های زمانی و تأثیر آنها را مورد بحث قرار دهیم. هنگام بحث در مورد انواع داده TS، دو نوع عمده وجود دارد.

  • ایستا
  • غیر ثابت

6.1 ایستا: یک مجموعه داده باید از قوانین زیر پیروی کند، بدون اینکه جزء روند، فصلی، چرخه‌ای و بی‌نظمی سری‌های زمانی باشد.

  • مقدار MEAN آنها باید در طول تجزیه و تحلیل در داده ها کاملاً ثابت باشد
  • VARIANCE باید با توجه به بازه زمانی ثابت باشد
  • کوواریانس رابطه بین دو متغیر را اندازه گیری می کند.

6.2 غیر ثابتy: این درست برعکس Stationary است.

میانگین، واریانس و کوواریانس سری های زمانی

روش های بررسی ثابت بودن 

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

7.1 آزمون آماری: دو تست برای تست ثابت بودن یا نبودن مجموعه داده وجود دارد.

  • تست دیکی-فولر (ADF) تقویت شده
  • آزمون Kwiatkowski-Phillips-Schmidt-Shin (KPSS).

7.1.1 Dickey-Fuller Augmented (ADF) تست یا تست ریشه واحد: تست ADF محبوب ترین تست آماری و با مفروضات زیر است.

  • فرضیه صفر (H0): سری غیر ثابت است
  • فرضیه جایگزین (HA): سری ثابت است
    • p-value > 0.05 رد نشد (H0)
    • p-value <= 0.05 قبول (H1)

7.1.2 Kwiatkowski–Phillips–Schmidt–Shin (KPSS): این آزمون‌ها برای آزمایش یک فرضیه NULL (HO) استفاده می‌شوند، که سری‌های زمانی را ثابت در اطراف یک روند قطعی در برابر جایگزین یک ریشه واحد درک می‌کند. از آنجایی که TSA به دنبال داده های ثابت برای تجزیه و تحلیل بیشتر خود است، ما باید مطمئن شویم که مجموعه داده باید ثابت باشد.

تبدیل غیر ثابت به ثابت

بیایید به سرعت در مورد چگونگی تبدیل غیر ثابت به ثابت برای مدل سازی سری زمانی موثر بحث کنیم. دو روش اصلی برای این تبدیل وجود دارد.

  • بی روند
  • متمایز کردن
  • دگرگونی

8.1 کاهش روند: این شامل حذف اثرات روند از مجموعه داده داده شده و نشان دادن تنها تفاوت در مقادیر از روند است. همیشه اجازه می دهد تا الگوهای چرخه ای شناسایی شوند.

متغیر Detrending

8.2 تفاوت: این یک تبدیل ساده از سری به یک سری زمانی جدید است که از آن برای حذف وابستگی سری به زمان و تثبیت میانگین سری زمانی استفاده می کنیم، بنابراین روند و فصلی بودن در طول این تبدیل کاهش می یابد.

Yt= Yt – Yt-1

Yt = ارزش با زمان

دیترند و تفکیک استخراج ها

عدم تمایل و تفاوت

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

متدولوژی میانگین متحرک

روش متداول سری زمانی، میانگین متحرک است. این روش با تغییرات کوتاه مدت تصادفی ساده است. ارتباط نسبی با اجزای سری های زمانی.

میانگین متحرک (MA) (یا) میانگین چرخشی: که در آن MA با میانگین گیری داده های سری های زمانی، در دوره های k محاسبه کرده است.

بیایید انواع میانگین متحرک را ببینیم:

  • میانگین متحرک ساده (SMA)،
  • میانگین متحرک تجمعی (CMA)
  • میانگین متحرک نمایی (EMA)

9.1 میانگین متحرک ساده (SMA)

SMA میانگین وزن نشده نقاط M یا N قبلی است. انتخاب نقاط داده پنجره کشویی، بسته به میزان هموارسازی ترجیح داده می شود، زیرا افزایش مقدار M یا N، هموارسازی را به هزینه دقت بهبود می بخشد.

میانگین متحرک ساده

برای درک بهتر، از دمای هوا استفاده خواهید کرد.

وارد کردن پانداها به صورت pd از matplotlib وارد کردن pyplot به عنوان plt از statsmodels.graphics.tsaplots وارد کنید plot_acf df_temperature = pd.read_csv('temperature_TSA.csv', encoding='utf-8') df_temperature.head()
رئیس Dataframe
df_temperature.info()
اطلاعات چارچوب داده
# تنظیم شاخص برای ستون سال df_temperature.set_index('Any', inplace=True) df_temperature.index.name = 'year' # میانگین سالانه دمای هوا - محاسبه df_temperature['average_temperature'] = df_temperature.mean(axis=1) # رها کردن ستون های ناخواسته و تنظیم مجدد datafreame df_temperature = df_temperature[['average_temperature']] df_temperature.head()
دمای میانگین
# SMA در یک دوره 10 و 20 ساله df_temperature['SMA_10'] = df_temperature.average_temperature.rolling(10, min_periods=1).mean() df_temperature['SMA_20'] = df_temperature.average_mod=min. 20).mean()
# سبز = میانگین دمای هوا، قرمز = 10 سال، رنگ های نارنجی برای رنگ های طرح خط = ['سبز'، 'قرمز'، 'نارنجی'] # خط خط df_temperature.plot(color=colors, linewidth=3, figsize= (12,6،14)) plt.xticks(fontsize=14) plt.yticks(fontsize=10) plt.legend(labels =['میانگین دمای هوا'، '20 سال SMA'، '14 سال SMA']، fontsize=20) plt.title('میانگین سالانه دمای هوا در شهر', fontsize=16) plt.xlabel('Year', fontsize=16) plt.ylabel('دمای هوا [°C]', fontsize=XNUMX)

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

9.2 میانگین متحرک تجمعی (CMA)

CMA میانگین وزن نشده مقادیر گذشته تا زمان کنونی است.

میانگین متحرک تجمعی
# CMA دمای هوا df_temperature['CMA'] = df_temperature.average_temperature.expanding().mean()
# سبز -میانگین دمای هوا و رنگ‌های نارنجی -CMA = ['سبز'، 'نارنجی'] # خط نمودار df_temperature[['average_temperature', 'CMA']].plot(color=colors, linewidth=3, figsize=( 12,6،14)) plt.xticks(fontsize=14) plt.yticks(fontsize=14) plt.legend(labels =['Average Air Temperature', 'CMA'], fontsize=20) plt.title('The yearly میانگین دمای هوا در شهر، fontsize=16) plt.xlabel('Year', fontsize=16) plt.ylabel('دمای هوا [°C]', fontsize=XNUMX)

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

9.3 میانگین متحرک نمایی (EMA)

EMA عمدتاً برای شناسایی روندها و فیلتر کردن نویز استفاده می شود. وزن عناصر با گذشت زمان به تدریج کاهش می یابد. این بدان معناست که به داده های اخیر وزن می دهد، نه به داده های تاریخی. در مقایسه با SMA، EMA سریعتر تغییر می کند و حساس تر است.

α –> عامل صاف کننده.

  • مقداری بین 0,1 دارد.
  • وزن اعمال شده در دوره اخیر را نشان می دهد.

Lets میانگین های متحرک نمایی را با ضریب هموارسازی 0.1 و 0.3 در مجموعه داده داده شده اعمال خواهیم کرد.

پس از اعمال فاکتور صاف کننده
# دمای هوای EMA # ضریب هموارسازی - 0.1 df_temperature['EMA_0.1'] = df_temperature.average_temperature.ewm(alpha=0.1, adjust=False).mean() # ضریب هموارسازی - 0.3 df_temperature['EMA_0.3. ] = df_temperature.average_temperature.ewm(alpha=0.3، adjust=False).mean()
# سبز - میانگین دمای هوا، قرمز- ضریب صاف کننده - 0.1، زرد - ضریب هموارسازی - 0.3 رنگ = ['سبز'، 'قرمز'، 'زرد'] df_temperature[['average_temperature', 'EMA_0.1', 'EMA_0.3 .3']].plot(color=colors, linewidth=12,6, figsize=(0.8), alpha=14) plt.xticks(fontsize=14) plt.yticks(fontsize=0.1) plt.legend(labels= ['Average air temperature', 'EMA - alpha=0.3', 'EMA - alpha=14'], fontsize=20) plt.title('The میانگین سالانه دمای هوا در شهر', fontsize=16) plt.xlabel( 'Year', fontsize=16) plt.ylabel('Temperature [°C]', fontsize=XNUMX)
میانگین دمای سالانه هوا در شهر

تجزیه و تحلیل سری زمانی در علم داده و یادگیری ماشین

هنگام برخورد با TSA در علم داده و یادگیری ماشین، چندین گزینه مدل در دسترس است. که در آن خودرگرسیون – میانگین متحرک (ARMA) با [p، d، و q] مدل می‌شود.

  • P==> تأخیرهای اتورگرسیو
  • q== تاخیر میانگین متحرک
  • d==> تفاوت در ترتیب

قبل از اینکه با آریما آشنا شویم، ابتدا باید اصطلاحات زیر را بهتر درک کنید.

  • تابع همبستگی خودکار (ACF)
  • تابع همبستگی خودکار جزئی (PACF)

10.1 تابع همبستگی خودکار (ACF): ACF برای نشان دادن و شباهت یک مقدار در یک سری زمانی معین و مقدار قبلی استفاده می شود. (OR) درجه شباهت بین یک سری زمانی معین و نسخه عقب افتاده آن سری زمانی را در فواصل زمانی متفاوتی که مشاهده کردیم اندازه گیری می کند.

کتابخانه Statsmodels پایتون همبستگی خودکار را محاسبه می کند. این برای شناسایی مجموعه ای از روندها در مجموعه داده داده شده و تأثیر مقادیر مشاهده شده قبلی بر مقادیر مشاهده شده فعلی استفاده می شود.

10.2 همبستگی خودکار جزئی (PACF): PACF شبیه تابع همبستگی خودکار است و درک آن کمی چالش برانگیز است. همیشه همبستگی دنباله را با خودش با تعدادی از واحدهای زمانی در هر ترتیب دنباله نشان می دهد که در آن فقط اثر مستقیم نشان داده شده است، و همه اثرات واسطه دیگر از سری زمانی معین حذف می شوند.

همبستگی خودکار و همبستگی خودکار جزئی

plot_acf(df_temperature) plt.show()
plot_acf(df_temperature, lags=30) plt.show()
همبستگی خودکار و همبستگی خودکار جزئی

نظارت: دمای قبلی بر دمای فعلی تأثیر می گذارد، اما اهمیت آن تأثیر از تجسم بالا همراه با دما با فواصل زمانی منظم کاهش می یابد و اندکی افزایش می یابد.

10.3 انواع همبستگی خودکار

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

10.4 نمودارهای ACF و PACF را تفسیر کنید

ACF
PACF
Perfect ML -Model
طرح به تدریج کاهش می یابد طرح فوراً سقوط می کند مدل Auto Regressive.
طرح فوراً سقوط می کند طرح به تدریج کاهش می یابد مدل میانگین متحرک
طرح به تدریج کاهش می یابد طرح به تدریج کاهش می یابد آرما
طرح فوراً رها می شود طرح فوراً رها می شود شما هیچ مدلی را اجرا نمی کنید

به یاد داشته باشید که ACF و PACF هر دو به سری های زمانی ثابت برای تجزیه و تحلیل نیاز دارند.

در حال حاضر، ما در مورد مدل رگرسیون خودکار

این یک مدل ساده است که عملکرد آینده را بر اساس عملکرد گذشته پیش بینی می کند. عمدتاً برای پیش‌بینی استفاده می‌شود، زمانی که مقداری همبستگی بین مقادیر در یک سری زمانی معین و مقادیر قبل و موفقیت (به عقب و جلو) وجود دارد.

یک مدل AR یک مدل رگرسیون خطی است که از متغیرهای عقب افتاده به عنوان ورودی استفاده می کند. مدل رگرسیون خطی را می توان به راحتی با استفاده از کتابخانه scikit-learn با نشان دادن ورودی مورد استفاده ساخت. کتابخانه Statsmodels برای ارائه توابع خاص مدل خودرگرسیون استفاده می شود که در آن شما باید یک مقدار تاخیر مناسب را مشخص کنید و مدل را آموزش دهید. در کلاس AutoTeg برای دریافت نتایج با استفاده از مراحل ساده ارائه شده است

معادله مدل AR (بیایید Y=mX+c را با هم مقایسه کنیم)

Yt =C+b1 Yt-1+ ب2 Yt-2+……+ بp Ytp+ارt

پارامترهای کلیدی

  • p= مقادیر گذشته
  • Yt= عملکرد مقادیر مختلف گذشته
  • Ert=خطا در زمان
  • C = رهگیری

بیایید بررسی کنیم، مجموعه داده‌ها یا سری‌های زمانی تصادفی هستند یا خیر

از matplotlib واردات pyplot از pandas.plotting import lag_plot lag_plot(df_temperature) pyplot.show()
نمودار پراکندگی برای بررسی تصادفی بودن داده ها

نظارت: بله، تصادفی و پراکنده به نظر می رسد.

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

#وارد کردن کتابخانه‌ها از matplotlib وارد کردن pyplot از statsmodels.tsa.ar_model import AutoReg از sklearn.metrics وارد کردن میانگین_مربع_خطای از واردات ریاضی sqrt # بار csv به عنوان مجموعه داده #series = read_csv('daily-min-temperatures.col_index, index, =0, parse_dates=True, squeeze=True) # مجموعه داده تقسیم برای تست و آموزش X = df_temperature.values ​​train, test = X[0:len(X)-1], X[len(X)-7:] # Train Autoregression model = AutoReg(train, lags=7) model_fit = model.fit() print('ضرایب: %s' % model_fit.params) # پیش بینی پیش بینی = model_fit.predict(start=len(train), end=len (train)+len(test)-20, dynamic=False) برای i در محدوده (len(predictions): print('predicted=%f, expected=%f' % (predictions[i], test[i] )) rmse = sqrt(mean_squared_error(test, predictions)) print('Test RMSE: %.1f' % rmse) # plot results pyplot.plot(test) pyplot.plot(predictions, color='red') pyplot.show ()

OUTPUT

پیش‌بینی‌شده=15.893972، پیش‌بینی‌شده=16.275000 پیش‌بینی‌شده=15.917959، پیش‌بینی‌شده=16.600000 پیش‌بینی‌شده=15.812741، پیش‌بینی‌شده=16.475000 پیش‌بینی‌شده=15.787555، پیش‌بینی‌شده=16.375000، 16.023780=16.283333، پیش‌بینی‌شده=15.940271 16.525000 predicted=15.831538، انتظار=16.758333 پیش بینی شده=0.617، انتظار=XNUMX تست RMSE: XNUMX
ارزش مورد انتظار و پیش بینی شده

مشاهده: مورد انتظار (آبی) در مقابل پیش بینی شده (قرمز). پیش بینی در روز چهارم و انحراف در روز ششم خوب به نظر می رسد.

پیاده سازی میانگین متحرک (WEIGHTS – SIMPLE MOVING AVERAGE)

وارد کردن numpy به عنوان np آلفا= 0.3 n = 10 w_sma = np.repeat(1/n، n) رنگ = ['سبز'، 'زرد'] # وزن - میانگین متحرک نمایی آلفا=0.3 adjust=False w_ema = [(1 -ALPHA)**i if i==N-1 other alpha*(1-alpha)**i برای i در محدوده(n)] pd.DataFrame({'w_sma': w_sma، 'w_ema': w_ema}) .plot(color=colors, kind='bar', figsize=(8,5)) plt.xticks([]) plt.yticks(fontsize=10) plt.legend(labels=['میانگین متحرک ساده', ' میانگین متحرک نمایی (α=0.3)']، fontsize=10) # title and labels plt.title('Moving Average Weights', fontsize=10) plt.ylabel('Weights', fontsize=10)

میانگین وزن متحرک برای تحلیل سری های زمانی

آشنایی با ARMA و ARIMA 

آرما این ترکیبی از مدل Auto-Regressive و Moving Average برای پیش بینی است. این مدل یک فرآیند تصادفی ثابت ضعیف را بر حسب دو چند جمله ای ارائه می دهد، یکی برای Auto-Regressive و دومی برای میانگین متحرک.

معادله مدل آریما برای تحلیل سری های زمانی

آرما برای پیش بینی سری های ثابت بهترین است. بنابراین ARIMA وارد شد زیرا از حالت ثابت و غیر ثابت پشتیبانی می کند.

آریما برای تحلیل سری های زمانی

AR+I+MA= ARIMA

امضای ARIMA را درک کنید

  • p==> ترتیب ورود => تعداد مشاهدات تاخیر.
  • d==> درجه تفاوت => تعداد دفعاتی که مشاهدات خام تفاوت دارند.
  • q==>ترتیب میانگین متحرک => اندازه پنجره میانگین متحرک

مراحل پیاده سازی برای ARIMA

مرحله 1: قالب سری زمانی را ترسیم کنید

مرحله 2: تفاوت در ثابت کردن میانگین با حذف روند

مرحله 3: با اعمال تبدیل log ثابت کنید.

مرحله 4: تبدیل گزارش تفاضل برای ثابت شدن بر روی میانگین آماری و واریانس

مرحله 5: ACF & PACF را ترسیم کنید و مدل AR و MA بالقوه را شناسایی کنید

مرحله 6: کشف بهترین مناسب مدل ARIMA

مرحله 7: با استفاده از بهترین مدل ARIMA، مقدار را پیش بینی/پیش بینی کنید

مرحله 8: ACF & PACF را برای باقیمانده های مدل ARIMA ترسیم کنید و مطمئن شوید که اطلاعات بیشتری باقی نمانده است.

پیاده سازی ARIMA

ما قبلاً مراحل 1-5 را مورد بحث قرار داده ایم، اجازه دهید در اینجا روی بقیه تمرکز کنیم.

از statsmodels.tsa.arima_model import مدل ARIMA = ARIMA(df_temperature, order=(0, 1, 1)) results_ARIMA = model.fit()
results_ARIMA.summary()
نتایج مدل آریما برای تحلیل سری های زمانی
results_ARIMA.forecast(3)[0]
تولید
آرایه ([16.47648941, 16.48621826, 16.49594711])
results_ARIMA.plot_predict(start=200) plt.show()
پیش بینی و میانگین دمای واقعی در تحلیل سری زمانی

(شکاف مجدد)

 

فرآیند تجزیه و تحلیل سری های زمانی
یادگیری عمیق برای تجزیه و تحلیل سری های زمانی

شبکه های عصبی بازگشتی است سنتی‌ترین و پذیرفته‌شده‌ترین معماری، برازش مشکلات مبتنی بر پیش‌بینی سری‌های زمانی.

RNN به لایه های متوالی سازماندهی شده و به دو دسته تقسیم می شود

  • ورودی
  • پنهان
  • تولید

وزن هر لایه برابر است و هر نورون باید به مراحل زمانی ثابت اختصاص داده شود. و به یاد داشته باشید که هر یک از آنها به طور کامل با یک لایه مخفی (ورودی و خروجی) با مراحل زمانی یکسان وصل شده اند و لایه های پنهان در جهت فوروارد و وابسته به زمان هستند.

RNN برای سری های زمانی

اجزای RNN

  • ورودی: بردار تابع x(t) ورودی در مرحله زمانی t است.
  • پنهان:

    • بردار تابع h(t) حالت پنهان در زمان t است،
    • این یک نوع خاطره از شبکه تاسیس شده است.
    • این بر اساس ورودی فعلی x(t) و حالت پنهان h(t-1) مرحله زمان قبلی محاسبه شده است:
  • خروجی: بردار تابع y(t) خروجی در مرحله زمانی t است.
  • وزن ها: وزن ها: در RNN ها، بردار ورودی متصل به نورون های لایه پنهان در زمان t است. توسط ماتریس وزنی از U (لطفا به تصویر بالا مراجعه کنید) 

ماتریس وزن داخلی W توسط نورون های لایه پنهان زمان t-1 و t+1 تشکیل شده است. به دنبال آن لایه پنهان با به بردار خروجی y(t) زمان t توسط a V (ماتریس وزن); تمام ماتریس های وزنی U، W و V برای هر مرحله زمانی ثابت هستند.

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

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


رسانه نشان داده شده در این مقاله متعلق به Analytics Vidhya نیست و به صلاحدید نویسنده استفاده می شود.

منبع: https://www.analyticsvidhya.com/blog/2021/10/a-comprehensive-guide-to-time-series-analysis/

تمبر زمان:

بیشتر از تجزیه و تحلیل Vidhya