شبکه عصبی، سری های زمانی، شبکه های عصبی

دانلود پایان نامه ارشد

همبستگی دو سری زمانی x و y را با m، lag برای سری y می باشد :
ρ_xy (m)=[(x_n-μ_x )(y_(n+m)-ρ_y )]/(σ_x σ_y )رابطه 3-3
در این مرحله، سری زمانی قیمت هر سهم در هر صنعت با تمام سری های زمانی قیمتی سهام دیگر آن صنعت مقایسه شده و بهترین lag به عنوان یکی از ورودی های احتمالی برای پیش بینی انتخاب می گردد. فلسفه کار داده کاوی سری های زمانی به این صورت است که دو سری زمانی ممکن است در حالت عادی شبیه هم نباشند، اما با در نظر گرفتن lagهای ممکن بین این دو سری، شاید بتوان شباهتی پیدا کرد. شکل 3-1 این موضوع را در قالب نموداری نشان داده است :

شکل 3-1 : شباهت سری های سفید و سیاه با در نظر گرفتن lag
همانگونه که واضح است، دو سری سفید و سیاه رنگ در حالت عادی شباهت کمی به هم دارند اما در صورتی که سری سیاه را با lag در نظر گرفته و داده های سری سفید را با داده های قبلی سری سیاه مقایسه کنیم، شباهت زیادی پیدا می شود. لذا با دانستن مقادیر سری سیاه، می توان مقادیر سفید را برای آینده پیش بینی کرد.
در این پژوهش نیز، با پیدا کردن سری های زمانی مشابه، می توان از روی تغییرات فعلی یا تغییرات گذشته یک سری زمانی، تغییرات آینده آن را پیش بینی کرد. در این مرحله، برای تمام سری های زمانی موجود در هر صنعت، داده کاوی سری زمانی انجام شده و lag بهینه برای وارد شدن به مدل برای هر یک انتخاب می شود.
3-3-2-3- کاهش سطری در رکوردهای جدید
پس از اضافه شدن اندیکاتورها و سری های زمانی مشابه، لازم است بار دیگر کاهش سطری برای حذف داده های پرت و داده های مغشوش طبق متد ارائه شده در بخش قبل انجام گردد. دلیل این امر این است که بسیاری از اندیکاتورها از چندین داده قبلی برای دوره فعلی ساخته می شوند و لذا مقادیر NaN در ابتدا و انتهای داده ها اضافه می گردد. همچنین سری های جدید نیز در چهار فیلد قیمت های بالا، پایین و بسته شدن و حجم مبادلات قرار دارند که ممکن است طبق قوانین سه گانه تدوین شده در قسمت قبل، داده مغشوش به حساب آمده و نیاز باشد که حذف شوند.

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

3-3-3-1- کاهش ستونی داده ها با استفاده از روش رگرسیون پله ای14
در بین اندیکاتورهای ساخته شده در بخش قبلی، تعداد محدودی از اندیکاتورها برای پیش بینی قیمت سهم مورد نظر مفید هستند. برای تشخیص اینکه کدامیک از اندیکاتورهای قابلیت پیش بینی قیمت سهم را دارند، از روش رگرسیون پله ای استفاده می کنیم. روش رگرسیون پله ای به دو صورت پیش رو15 و پس رو16،قابلیت هر یک از اندیکاتورها را برای پیش بینی قیمت می سنجد.
در این پژوهش از روش پیش رو برای انتخاب متغیرهای تأثیرگذار استفاده می گردد. در این روش، در ابتدا در مدل هیچ متغیری وجود ندارد؛ سپس متغیرها یک به یک به مدل وارد شده و توسط آزمون t-statistic و آزمون F-statistic در مورد باقی ماندن یا نماندن متغیر اضافه شده تصمیم گرفته می شود. با این روش، اندیکاتورهایی که توانایی پیش بینی قیمت سهم را ندارند از میان داده ها شناسایی شده و حذف می شوند. این مرحله، اولین مرحله کاهش ستونی در پایگاه داده برای کاهش حجم ورودی های شبکه عصبی برای پیش بینی قیمت سهام است.

3-3-3-2- دسته بندی اندیکاتورها و انتخاب از هر دسته
در میان اندیکاتورهای باقیمانده در پایگاه داده، رفتار بسیاری از اندیکاتورها شبیه به هم است. همانگونه که در جدول (3) دیده شد، بسیاری از اندیکاتورها از مقادیر یکدیگر استفاده می کنند؛ برای مثال اندیکاتورهای KST و Coppok Curve از روی اندیکاتور ROC ساخته شده و انتظار می رود که همبستگی بالایی با یکدیگر داشته باشند. در این مرحله، اندیکاتورهای مشابه یکدیگر توسط معیار Correlation شناخته شده و در یک دسته قرار می گیرند. بنابراین پس از انجام این اقدامات، به جای چندین اندیکاتور منفرد، چند دسته اندیکاتور وجود خواهد داشت.
در قدم بعدی، از میان هر دسته بهترین پیش بینی کننده انتخاب می گردد. برای این کار نیز از معیار Correlation استفاده می شود، به این معنا که در هر دسته، آن اندیکاتوری انتخاب می شود که بیشترین Correlation را با قیمت سهم دارد. این مرحله، قدم دوم در کاهش ستونی داده ها به حساب آمده و اندیکاتورهای نهایی که برای پیش بینی استفاده خواهند شد، مشخص می شوند.

3-3-3-3- انتخاب از میان سری های زمانی مشابه
در مرحله قبل، اندیکاتورهای نهایی انتخاب شدند. در این مرحله باید از میان سری های زمانی با lag بهینه یکی را انتخاب کرد. برای این مهم نیز از معیار Correlation استفاده خواهد شد. بر این پایه، سری زمانی قیمت سهمی انتخاب می گردد که دارای بالاترین Correlation برای قیمت های بسته شدن با سهم مورد نظر باشد. لذا در پایان این مرحله، آخرین ورودی شبکه عصبی برای پیش بینی قیمت سهام نیز شناسایی شده و نهایی می شود.

3-4- طراحی شبکه عصبی برای پیش بینی قیمت سهم
3-4-1- ساختار شبکه
برای درک مفهوم کارکرد شبکه عصبی و انتخاب طراحی مناسب برای آن، می توان شبکه عصبی را مجموعه ای از نرون ها دانست که هریک از آنها یک خط برای برازش به سری زمانی داده ها پیشنهاد می دهد. همانگونه که می دانیم، مجموع چند خط تشکیل یک نمودار غیر خطی را می دهد و لذا می توان شبکه های عصبی را به صورت مجموعی از چند خط که هر کدام در یک نرون ساخته شده اند دانست. در جریان آموزش نرون ها، هر نرون خطی بهینه را به داده ها برازش می کند و هر نرون قسمتی از داده ها را پوشش می دهد و در نهایت با جمع این نرون ها، یک نمودار غیر خطی که همه داده ها را پوشش می دهد به دست می آید. حال اگر شبکه عصبی بیشتر از یک لایه مخفی داشته باشد، در واقع هر چند خطی که توسط نرون ها در لایه اول ساخته و بهینه شده برای قسمتی از داده ها هستند، در لایه بعد در نرون های دیگر جمع می شوند. بنابراین در هر نرون لایه مخفی بعدی، یک نمودار غیر خطی خواهیم داشت و سپس چند نمودار غیر خطی با یکدیگر جمع خواهند شد.
باید دقت شود که لایه های میانی بالاتر از یک، برای زمانی است که بین ورودی های شبکه interaction وجود داشته باشد. برای مثال ورودی x و ورودی y تأثیر کمتری از x+y دارند، به این معنا که تأثیر هر دو ورودی ها در مجموع برابر x+y+xy خواهد بود. در این حالت، نرون های لایه های مخفی دوم، این فرصت را به شبکه می دهند که رابطه های مخفی شبیه xy را هم جداگانه تخمین بزنند.
با توجه به اینکه در بخش پیش پردازش داده ها، داده های مشابه حذف شده و در چند مرحله تلاش شده است که ورودی ها مستقل از یکدیگر باشند، در این پژوهش فرض را بر عدم وجود interaction بین ورودی ها گذاشته و از شبکه عصبی تک لایه استفاده می کنیم. دلیل این احتیاط این است که شبکه های عصبی چند لایه معمولا دچار بیش برازش شده و دقت مدل را کاهش می دهند.
حال در مورد تعداد نرون های حاضر در لایه میانی نیز از قاعده کولموگروف17 استفاده خواهیم کرد. بر طبق این قاعده، بیشترین تعداد نرون لازم برای تخمین بهینه می تواند 2n+1 باشد، به این معنا که با این تعداد نرون و شاید در تعداد پایین تر، عملکرد شبکه به بالاترین حد می رسد، اما بیشتر از آن شبکه را دچار بیش برازش کرده و دقت آن را کاهش می دهد. بنابراین تعداد نرون های لایه میانی شبکه، از این قاعده پس از مشخص شدن تعداد ورودی ها تعیین می گردد.

از آنجا که در این تحقیق سعی شده است که قیمت برای یک دوره جلوتر پیش بینی گردد، شاید معقول نباشد که تنها قیمت بسته شدن سهم را برای دوره بعدی پیش بینی کرد؛ کاری که در تمام تحقیقات مشابه انجام شده است. دلیل این امر این است که با دانستن قیمت بسته شدن سهم، نمی توان فهمید که سهم را چه زمانی باید خرید. به عبارتی، در صورتی که امروز پیش بینی کنیم که قیمت سهمی فردا بالا خواهد رفت، چه استفاده ای می توان از این پیش بینی کرد؟ چرا که پیش بینی کننده سهمی در اختیار ندارد و اگر بخواهد فردا آن را بخرد ممکن است با همان قیمت که پیش بینی کرده است بخرد و لذا سودی نخواهد کرد. بنابراین در این پژوهش دو قیمت برای دوره بعدی انتخاب می شود، یکی قیمت پایین و یکی قیمت بالا. این ابتکار این فرصت را به پیش بینی کننده می دهد که در قیمت پایین سهم را خریده و در قیمت بالا بفروشد و از این طریق کسب سود کند. لذا شبکه عصبی که در این تحقیق ساخته می شود، یک شبکه عصبی با یک لایه پنهان با 2n+1 نرون و دو خروجی و n ورودی خواهد بود.
همچنین شکل ساختاری شبکه نیز اتورگرسیو با متغیر خارجی18 (NARX) انتخاب می شود. در این شبکه ها علاوه بر متغیرهای ورودی خارجی که در این تحقیق همان اندیکاتورها و سری زمانی مشابه است، قیمت های قبلی نیز برای پیش بینی استفاده می شوند. لذا ورودی های شبکه عصبی عبارتند از اندیکاتورهای انتخاب شده نهایی با lag بهینه، قیمت های بالا و پایین سری زمانی مشابه با lag بهینه و قیمت های بالا و پایین گذشته سهم با lag بهینه. Lag بهینه از طریق تکنیک های سری زمانی شناخته و استفاده خواهد شد.

3-4-2- الگوریتم یادگیری
الگوریتم یادگیری در این پژوهش بر مبنای ادبیات موضوعی تحقیق و بر پایه تحقیقات مشابه انجام شده الگوریتم پس انتشار بازگشتی یا همان Back Propagation انتخاب شده و مورد استفاده قرار می گیرد.

3-4-3- توابع فعال سازی
توابع فعال سازی نیز بر پایه تحقیقات مشابه در لایه های ورودی و خروجی به صورت خطی و در لایه میانی تابع سیگموید انتخاب می شوند.

3-5- مدل های رقیب و معیارهای سنجش
از آنجا که در این پژوهش شبکه عصبی مورد نظر از قیمت ها و اندیکاتورهای گذشته استفاده می کند، عملکردی مشابه مدل های سری زمانی خواهد داشت و لذا با مدل های ARMA سری زمانی مقایسه خواهند شد. علاوه بر این عملکرد این شبکه، مشابه عملکرد رگرسیون چند متغیره با استفاده از اندیکاتورها و قیمت های مشابه است و لذا عملکرد شبکه عصبی با رگرسیون چند متغیره نیز مقایسه خواهد شد.
همچنین معیارهای سنجش به دو صورت MSE و MAD خواهند بود. از آنجا که دو متغیر در هر یک از سه مدل رقیب پیش بینی خواهد شد، MSE و MAD هر مشاهده در کل، برابر مجموع MSE و MAD دو خروجی خواهد بود. فرمول های محاسبه این دو معیار نیز به صورت زیر است :
MSE=∑_t▒〖〖(y〗_t-y ̂_t)〗^2/(n-1)3-3
MAD= ∑_t▒|y_t-y ̂_t |/(n-1)3-4

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

فصل چهارم

پایان نامه
Previous Entries سری های زمانی، قیمت سهام، داده کاوی Next Entries دانلود پایان نامه ارشد با موضوع نماز جمعه، مذاهب خمسه، نماز جماعت