فرضیه۴) مدل ترکیبی ARIMA، شبکه عصبی درک چند لایه و تبدیل موجک نتیجه قابل قبولی برای پیش بینی قیمت سهام بدست می دهد.
فرضیه۵) مدل ترکیبی تبدیل موجک، شبکه عصبی درک چند لایه و الگوریتم ژنتیک فازی در مقایسه با سایر مدلها ارائه شده از دقت بالاتری برخوردار است.
۳-۵: آماده سازی داده های ورودی
آماده سازی داده ها یکی از مراحل پیچیده کاربرد شبکه های عصبی است. بخشی از این پیچیدگی به علت انتخاب داده ها و مثالهای صحیح میباشد و بخش دیگر به تغییر مقیاس داده های آموزشی ورودی ها و خروجیها بر میگردد، چرا که بهترین وضعیت برای شبکه های عصبی هنگامی است که تمام ورودی ها و خروجی ها بین صفر و یک باشند. یکی از دلایل تأکید بر قرار داشتن ورودی ها در دامنه صفر و یک، این است که توابع انتقال (مانند تابع سیگموئید) نمی توانند بین مقادیر خیلی بزرگ فرق بگذارند. از طرف دیگر، این کار موجب سادگی بیشتر نیز می شود، زیرا خروجیها و ورودیهای لایه های بعدی، در دامنه صفر تا یک قرار میگیرند. بنابراین با بهره گرفتن از فرمول زیر کلیه داده ها نرمال شدند:
(۳-۱)
ما در این پژوهش در کلیه مدلهای آماری استفاده شده از داده های نرمال شده استفاده میکنیم.
۳-۶: معرفی مدلهای تحقیق
امروزه پیش بینی قیمت سهام مورد توجه محققین قرار گرفته و روش های متنوعی نیز در این رابطه بکار گرفته شده است. یکی از جدیدترین روشهای پیش بینی، رویکرد شبکه های عصبی مصنوعی می باشد. شبکه های عصبی از جنبه توپولوژی، ساختاری و روش های یادگیری به انواع مختلفی تقسیم می شوند و هر یک در کاربردهای خاصی عمـلکرد مناسـبی از خود نشــان می دهند. شبکه عصبی درک چند لایه یکی از متـداول ترین شبکه های کاربردی است. در مباحث نظری اثبات شده است که شبکه MLP در صورت انتخاب صحیح ساختار مناسب داخلی، قادر است هر گونه سیستم غیر خطی را مدل کرده و شبیه سازی نماید. با توجه به اینکه به طور مطلق نمی توان در مورد توان پیش بینی یک مدل نظری داد، پس باید از مدل های دیگری برای مقایسه نتایج استفاده کرد. در این تحقیق، به منظور پیش بینی شاخص قیمت بورس اوراق بهادار تهران ابتدا از روش سری زمانی خطی ARIMA استفاده میگردد، سپس پیش بینی با شبکه عصبی درک چند لایه تکرار میگردد؛ از آنجاکه شبکه های عصبی روابط بین متغیرها را بیان نمیکند لذا برای رفع این مشکل شبکه های عصبی از الگوریتم ژنتیک استفاده میکنیم و با بهره گرفتن از وزنهای بهینه بدست آمده از شبکه عصبی مصنوعی، الگوریتم طراحی شده آموزش داده می شود و دوباره پیش بینی با این روش تکرار می گردد. در نهایت با بهره گرفتن از تبدیل موجک اقدام به تفکیک نوسانات سری زمانی شاخص قیمت بورس اوراق بهادار تهران می نماییم، این تبدیل سری زمانی را به دو سری بر اساس نوسان در واحد زمان تفکیک مینماید، ما در این پژوهش نوسانات با فرکانس بالا را با بهره گرفتن از شبکه عصبی و نوسانات با فرکانس پایین را با بهره گرفتن از مدل سری زمانی خطی ARIMA پیش بینی می نماییم؛ سپس بوسیله عکس تبدیل موجک گرفته شده، پیش بینی های حاصله را با هم ترکیب مینماییم تا پیش بینی نهایی حاصل گردد.
۳-۶-۱: مدل سری زمانی خطی ARIMA
در فرایند p,d,q ,ARIMA(p,d,q)به ترتیب بیانگر تعداد جملات خود رگرسیو، مرتبه تفاضل گیری وتعداد جملات میانگین متحرک میباشند. در صورتی کهd برابر با صفر گردد، فرایند ARIMAتبدیل به فرایند ARMAمیشود. معمولا برای تخمین الگویARIMA و ARMA از روش باکس- جنکینز استفاده میکنند؛ که دارای سه مرحله شناسایی، تخمین، تشخیص دقت پردازش میباشد و درنهایت پیشبینی سری زمانی به آن اضافه میشود. تعداد جملات خودرگرسیو و تعداد جملات میانگین متحرک را میتوان با بهره گرفتن از توابع خودهمبستگی(AC) و خودهمبستگیجزئی(PAC) تعیین نمود و در ادامه توسط ضابطه های آکائیک[۱۰۶] و یا شوارتز- بیزین[۱۰۷] مورد ارزیابی قرار داد. برای پیشبینی دادههای سری زمانی بوسیله ARIMA، ابتدا مانای سری زمانی را بررسی کرده و مرتبه انباشتگی (d) تعیین میشود. لازم به ذکر است که در تحقیق حاضر، برای تخمین مدل ARIMA، از نرمافزارEviews استفاده شده است.
۳-۶-۲: شبکه پرسپترون چند لایه (MLP)
بعد از آن که در دهه ۸۰ میلادی مجددا شبکه های عصبی احیا شدند، شبکه پرسپترون چند لایه ، به عنوان یکی از کارامدترین آنها در حل مسائل لاینحل غیر خطی مطرح شد. این شبکه به خصوص در زمینه پیش بینی متغیرهای مالی و اقتصادی، از قابلیت بالایی برخوردار می باشد .
ویژگی های مهم شبکه پرسپترون چند لایه را به صورت زیر می توان بیان کرد :
۱ - حداقل دارای یک لایه میانی می باشد .
۲ - توابع فعال سازی غیر خطی و مشتق پذیر در لایه میانی استفاده می کند .
۳ - الگوریتم یادگیری در آن طوری طراحی شده است که خطا را از لایه خروجی را به لایه های قبلی منتقل می سازد .
۴ -تصحیح خطا از لایه آخر آغاز شده ، سپس لایه های قبلی تصحیح می شوند.
۵ - اتصالات در این شبکه از درجه بالایی برخوردار می باشد .
علت اصلی موفقیت این شبکه را بایستی در نوع الگوریتم یادگیری این شبکه جستجو کرد. الگوریتم مورد استفاده در آن ، الگوریتم پس انتشار خطا می باشد. این الگوریتم همواره به دنبال حداقل سازی مربعات خطا می باشد. این دقیقا شبیه تخمین ضرایب رگرسیون از روش OLS در آمار و اقتصاد سنجی می باشد. بنابراین هر شبکه عصبی از یک تابع خطایی همانند رابطه زیر پیروی می کند .
تابع خطا در شبکه MLP :
(۳-۲)
در این رابطه e بیانگر مقدار خطای مشاهده شده می باشد .
هنگام طراحی یک شبکه باید پارامترهای ساختار شبکه، نوع الگوریتم آموزش، نرخ یادگیری، تعداد لایه های شبکه و تعداد نرونها در هر لایه، و تعداد تکرارها برای هر الگو در خلال آموزش را مد نظر داشت.
آموزش را می توان هم از لحاظ نوع آموزش و هم از لحاظ قانون یادگیری طبقه بندی کرد. نوع آموزش در شبکه پرسپترون چند لایه، آموزش با نظارت میباشد. اما قانون یادگیری در آن یادگیری پس از انتشار یا دلتای تعمیم یافته می باشد.
قانون دلتا را می توان به صورت زیر بیان کرد .
(۳-۳)
(۳-۴)
(۳-۵)
= مقدار خروجی مطلوب
=مقدار خروجی به دست آمده
=نرخ یادگیری (پارامتر تنظیم سرعت یادگیری شبکه می باشد)
= وزن مربوطه
=ورودی به نرون وخروجی از نرون
اثبات این قانون از روش تندترین فرود میباشد که بیان می کند با حرکتهای پی در پی خلاف جهت بردار گرادیان خطا میتوان به نقطه حداقل خطا رسید. این ادعا را نیز می توان با بهره گرفتن از بسط تیلور تایید کرد (هیکین،۱۹۹۹). در این شیوه وزنها به وسیله یک مقدار با مشتق (گرادیان) اول خطای بین خروجی مطلوب و خروجی واقعی و با توجه به مقدار وزنها تعدیل مییابد. در این روش هدف کاهش تابع خطا و رسیدن به حداقل مطلق است .
(۳-۶)
(۳-۷)
(۳-۸)
(۳-۹)
= ورودی به نرون وخروجی از نرون در لایه ماقبل آخر
= بردار گرادیان محلی در لایه آخر
فرایند یادگیری و محاسبات در نرون ها و لایه های پنهان، با بهره گرفتن از معادله ورودی-خروجی زیر صورت می گیرد:
(۳-۱۰)
جائیکه وزن ارتباطی بین نرون iام در لایهی (۱-k) و نرون pام در لایهی kام؛ خروجی نرون pام در لایهی kام و تابع فعال سازی سیگموئید نرون pام در لایهی kام است.