آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

  • شنبه ۳۰ بهمن ۱۴۰۰
  • بازدید ۳۸۷ نفر
  • 1 امتیاز2 امتیاز3 امتیاز4 امتیاز5 امتیاز (50 امتیاز از 10 رای)
    Loading...

تصویر analysis-financial-data-arima-r_23798_1 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

آنالیز داده های مالی با تکنیک های سری زمانی در R

در این بخش پروژه آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در نرم افزار R به همراه داکیومنت و فیلم آموزشی آماده کرده ایم که در این پروژه داده های ما شامل داده های فصلی نرخ ارز، رشد درآمد های ارزی حاصل از فروش نفت و شاخص مداخله بانک مرکزی از از سال ۱۳۷۰ تا سال ۱۳۹۷ به صورت فصلی می باشد. بر روی این داده ها تحلیل سری زمانی ARIMA ، AR و MA انجام می شود. همچنین پکیج های مورد استفاده نیز astsa , forecast , tseries , astsa , forecast , tseries می باشد. در ادامه توضیحاتی از روش آریما ارائه شده و قسمتی از فیلم آموزشی به همراه تصاویر خروجی پروژه در محیط R قرار داده شده است.

معرفی مدل آریما (ARIMA)

مدل آریما یا ARIMA مخفف AutoRegressive Integrated Moving Average می باشد که از سه جزء تشکیل شده است. مرحله Integrated : کسر کردن سری زمانی با سری زمانی قبلی روشی است که برای حذف کردن گرایشات از داده های سری زمانی استفاده می شود. در این مرحله از آنالیز ARIMA گرایشات موجود در سری زمانی (گرایش به افزایش کلی یا کاهش کلی در روند سری زمانی با گذشت زمان) حذف می گردد. کسر کردن از رایج ترین روش ها برای حذف گرایش (trend) از داده ها می باشد. سری های زمانی اصلی از سری های زمانی بعدی (به عنوان مثال دبی ماه آذر از دبی ماه آبان کم خواهد شد) کسر می شود، تا سری های زمانی بدون گرایش حاصل گردد. در این پروژه از دستور ts22<-diff(ts2) برای مشخص کردن نوع کسر مورد نیاز برای داده سری زمانی استفاده می شود. حذف گرایشات از سری زمانی به منظور رسیدن سری زمانی به حالت پایدار (Stationary) انجام می شود. حالت پایدار سری زمانی از شروط آنالیز آریما می باشد. برای آزمون اینکه سری زمانی به پایداری رسیده است از آزمون Augmented Dickey-Fuller استفاده می شود.

مرحله AutoRegressive (AR) : مرحله دوم در آنالیز ARIMA این مرحله است. هدف از این مرحله بررسی تاثیر سری های زمانی قبلی بر روی سری زمانی فعلی می باشد. پس از پایدار سازی سری زمانی با استفاده از مرحله Integrated که در مرحله پیش انجام شد، مرحله AR شروع می شود. همانگونه که از نامش مشخص است، در اینجا ما تلاش می کنیم تا تاثیر مقادیر قبلی را بر روی مقادیر فعلی بررسی کنیم. به عنوان مثال تاثیر قیمت دلار در فصل پاییز بر قیمت آن در فصل زمستان. این کار با استفاده از توسعه یک مدل رگرسیون که توسط مقادیر زمانی قبلی ساخته می شود، قابل انجام است. مرحله Moving Average (MA) : استخراج تاثیر عبارات خطا های دوره های زمانی قبلی بر روی خطای بازه زمانی حاضر. برای استخراج این پارامتر از مدل رگرسین ساخته شده در مرحله قبلی استفاده می شود.

آماده سازی داده ها

 قبل از ورود به آنالیز مهمترین بخش مربوط به آماده سازی داده ها می باشد. داده ها باید به فرم خاصی از داده های R به نام ts یا سری زمانی (time series) تبدیل شوند که به این منظور ما داده ها را به داده های سری زمانی با فرکانس چهار که مشخص کننده فصلی بودن داده هست تبدیل کردیم. مهم ترین نکته در مورد ورود داده ها به آنالیز پایدار سازی داده ها می باشد، یعنی داده ورودی باید پایدار باشد. برای بررسی پایداری داده همانطوری که در بالا اشاره شد از کد adf.test(ts2, alternative = “stationary”) استفاده می شود.

برای پایدار سازی داده ها چندین مرحله پیش پردازش روی داده ها انجام شد.

الف) یکی از کلیدی ترین مراحل در طی آنالیز آماده سازی داده ها است و از مهمترین مراحل آماده سازی حذف داده های پرت از آنالیز میباشد که ممکن است باعث ایجاد بایاس در مدل شود. با استفاده از کد tsclean() در پکیج forecast در R می توان بدون از دست دادن اطلاعات ارزشمند داده های پرت را حذف کرد و با مقادیر نرمال شده جایگزین نمود. با استفاده از دستور cts2<-tsclean(ts2) داده های جدید ایجاد شده در یک ستون جدید در جدول تهیه شده قرار می گیرند.

ب) حتی بعد از حذف کردن داده های پرت نیز ممکن است داده ها دارای نوسانات شدید داشته باشد که این قبیل داده ها خروجی آنالیز ARIMA را تحت تاثیر قرار می دهد. می توان این داده ها را توسط یکی از ساده ترین و در عین حال مفید ترین روش های آنالیز سری زمانی صاف کرد و نوسانات شدید را بدون از دست دادن اطلاعات ارزشمند برطرف کرد. این روش moving average نام دارد. یک روش کارا است که میانگین اطراف یک نقطه را در چندین بازه متفاوت محاسبه می کند، به این ترتیب داده های اصلی را به داده های پایدار قابل پیش بینی تبدیل میکند که نسبت به داده های اولیه صاف شده هستند. توجه شود که این MA با MA(q)  مطرح شده در مدل سازی ARIMA متفاوت است. هر چه پنجره مورد استفاده برای میانگین گیری اطراف نقطه زمانی بزرگتر باشد میزان صاف شدگی نمودار بیشتر می باشد. بنابراین باید این مقدار به طور منطقی انتخاب شود. با استفاده از کد mcts2 = ma(cts2, order=5) مثل مرحله پیش داده های جدید با تغییرات ایجاد شده در ستون جدیدی قرار می گیرند.

ج) کسر کردن گام های بعدی از سری زمانی فعلی برای پایدار کردن سری زمانی. این مرحله برای حذف کردن گرایش های سری زمانی انجام می شود یا به بیان دیگر پایدار سازی میانگین در سری زمانی. نکته دیگری که هنگام بررسی پایداری سری زمانی انجام می شود، بررسی پایداری روی واریانس داده ها می باشد، در برخی از نمودار های سری زمانی با گذشت زمان واریانس داده ها افزایش نشان می دهد.

د) تبدیل داده ها بر پایه لگاریتم ۱۰ برای پایدار سازی واریانس ها. برای برطرف کردن مشکلی که در مرحله پیش در مورد ناپایداری واریانس گفته شده از تبدیل لگاریتمی استفاده می شود. توضیحات بیشتر و کامل تر در داکیومنت همراه پروژه ارائه خواهد شد.

تصاویر خروجی پروژه :

تصویر ۱:

تصویر analysis-financial-data-arima-r_23798_2 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۲:

تصویر analysis-financial-data-arima-r_23798_3 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۳:

تصویر analysis-financial-data-arima-r_23798_4 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۴:

تصویر analysis-financial-data-arima-r_23798_5 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۵:

تصویر analysis-financial-data-arima-r_23798_6 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۶:

تصویر analysis-financial-data-arima-r_23798_7 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۷:

تصویر analysis-financial-data-arima-r_23798_8 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R

تصویر ۸:

تصویر analysis-financial-data-arima-r_23798_9 آنالیز داده های مالی با تکنیک های سری زمانی آریما (ARIMA) در R


پروژه ها و آموزش های برنامه نویسی

پروژه ها و آموزش های برنامه نویسی

آموزش برنامه نویسی

مشاهده ویدئو در این باره

خوشحال خواهیم شد اگر نظر خودتون رو درباره این مطلب ثبت کنید

خطا!دکمه ریفریش را بزنید

    لیســــــــت پــــــــروژه های انتشــــــــار نشده ( 22 موضوع )

    مشاهده لیست کامل
    مشاهده لیست کامل
    مشاهده لیست کامل
    مشاهده لیست کامل
    socket programing آموزش برنامه نویسی آموزش سی شارپ اینترنت اشیا بازی تحت شبکه بازی تحت شبکه به زبان سی شارپ برنامه تحت شبکه با سی شارپ برنامه نویسی ترجمه مقاله ترجمه مقاله شبکه دانلود رایگان پروژه های دانشجویی دانلود سورس برنامه دانلود سورس رایگان دانلود نرم افزار دانلود پروژه دانشجویی دانلود پروژه رایگان دانلود پروژه های دانشجویی دانلود کتاب دانلود کتاب آموزشی دانلود کتاب اموزشی سورس رایگان سورس کد بازی تحت شبکه سورس کد بازی تحت شبکه با C# سورس کد بازی تحت شبکه چند نفره سوکت پروگرمین شبکه SDN شبیه سازی با نرم افزار R نحوه نوشتن برنامه تحت شبکه نرم افزار Rstudio پروژه arena پروژه matlab پروژه ns2 پروژه opnet پروژه ارنا پروژه سیمولینک matlab پروژه شبکه عصبی پروژه مهندسی صنایع پروژه مهندسی صنایع با ارنا پروژه های آماده با OpenGL پروژه های آماده با OpenGL در سی پلاس پلاس پروژه های آماده با ارنا پروژه های آماده برای درس گرافیک کامپیوتری پروژه هوش مصنوعی پروژه پردازش تصویر matlab پروژه پردازش سیگنال matlab