آخرین اخبار

تاثیر نوسانات نرخ ارز بر شاخص بازار در بازار نوظهور: شواهدی از فلسطین هدف از این مطالعه تحلیل فنی دوازدهمین دوره مسابقات کشتی آزاد قهرمانی دانشگاه های جهان بود. 85 شرکت کننده از 19 کشور در Çorum شرکت کردند. فرم مشاهده تهیه شده قبل از مسابقات با ثبت شده توسط دو محقق، تجزیه و تحلیل فنی ضبط شده به دست آمد. در طول مسابقات، امتیازات کسب شده، اخطارها، انواع برنده شدن، تکنیک های موفق در فرم تحلیل تکنیکال ثبت شد. در تجزیه و تحلیل آماری، توزیع درصد برای هر پارامتر و نرخ درصد مطابقت محاسبه شد. در مقايسه هاي گروهي، آمار به روش آناليز واريانس يك طرفه و تحليل واريانس LSD انجام شد. تعداد امتیازات فنی کسب شده برای تمامی اوزان در مسابقات کشتی 789 امتیاز بود. بیشترین امتیاز در گروه‌های میان‌وزن با 352 و با بیشترین تعداد مسابقه با 33 امتیاز در گروه میان‌وزن به‌دست آمد. در کشتی آزاد، نسبت یک مسابقه (ROC) 10. 38 امتیاز کسب شد. نسبت امتیازهای دریافتی برای یک مسابقه بین گروه های وزنی تفاوت هایی پیدا کرد (ص راهنمای گام به گام موفقیت در سرمایه گذاری آنلاین با Olymp Trade ساعات معاملات فارکس: بازار 24 ساعته و بهترین جلسات معاملاتی FX در بازارهای بعدی بانکداری سرمایه گذاری دینامیک جمعی نوسانگرهای شیمیایی Golden Cross Resources Ltd (GCR) سهموی سار: تعریف و محاسبه

پیش بینی قیمت cryptocurrency با استفاده از LSTMS |Tensorflow برای هکرها (قسمت سوم)

  • 2022-08-30

قیمت بیت کوین را با استفاده از شبکه عصبی عمیق LSTM در Tensorflow 2 پیش بینی کنید

TL ؛ DR ایجاد و آموزش یک شبکه عصبی عمیق LSTM برای پیش بینی سری زمانی در Tensorflow 2. از مدل برای پیش بینی قیمت بیت کوین آینده استفاده کنید.

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

ممکن است از خود چیزی در طول خط بپرسید:

آیا هنوز هم می توانم با cryptocurrency ثروتمند شوم؟

البته پاسخ نسبتاً ظریف است. در اینجا ، ما نگاهی خواهیم انداخت که چگونه ممکن است مدلی بسازید تا در طول سفر دیوانه وار به شما کمک کند.

یا ممکن است مشکل پول داشته باشید؟در اینجا یک راه حل ممکن است:

این طرح است:

  1. بررسی اجمالی داده های cryptocurrency
  2. سری زمانی
  3. پیش پردازش داده ها
  4. مدل LSTM را در Tensorflow 2 بسازید و آموزش دهید
  5. برای پیش بینی قیمت بیت کوین در آینده از مدل استفاده کنید

بررسی اجمالی

مجموعه داده ما از Yahoo!امور مالی و کلیه داده های موجود (در زمان این نوشتار) را با قیمت بیت کوین-USD پوشش می دهد. بیایید آن را در یک PANDAS DATAFRAME بارگیری کنیم:

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

ما در مجموع 3201 نقطه داده داریم که قیمت بیت کوین-USD را به مدت 3201 روز نشان می دهد (~9 سال). ما علاقه مند به پیش بینی قیمت پایانی برای تاریخ های آینده هستیم.

البته ، بیت کوین برخی از افراد را واقعاً ثروتمند کرد و برای برخی واقعاً فقیر رفت. هرچند این سوال باقی مانده است ، آیا دوباره اتفاق می افتد؟بیایید نگاهی بیندازیم که یک مدل ممکن در مورد آن چه فکر می کند. ما باید؟

مجموعه داده ما تا حدودی با نمونه های قبلی ما متفاوت است. داده ها بر اساس زمان طبقه بندی می شوند و در فواصل مساوی (1 روز) ثبت می شوند. چنین دنباله ای از داده ها سری زمانی نامیده می شود.

سری زمانی

مجموعه داده های زمانی در عمل کاملاً متداول است. مصرف انرژی و هزینه شما (کالری موجود در کالری) ، تغییرات آب و هوا ، بازار سهام ، تجزیه و تحلیل جمع آوری شده از کاربران برای محصول/برنامه شما و حتی سری زمانی تولید قلب شما (احتمالاً در عشق).

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

همبستگی همبستگی نقاط داده از هم جدا شده توسط برخی از بازه ها (معروف به تاخیر) است.

فصلی به وجود برخی از الگوی چرخه ای در برخی از بازه ها اشاره دارد (نه ، لازم نیست هر بهار باشد).

گفته می شود که اگر میانگین و واریانس ثابت داشته باشد ، یک سری زمانی ثابت است. همچنین ، کواریانس مستقل از زمان است.

یک سؤال بارز که ممکن است هنگام تماشای داده های سری زمانی از خود بپرسید این است: "آیا ارزش مرحله زمانی فعلی بر روی بعدی تأثیر می گذارد؟"پیش بینی سری زمانی A. K. A.

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

مدل سازی

تمام مدلهایی که تاکنون ساخته ایم ، امکان کار بر روی داده های توالی را ندارند. خوشبختانه ، ما می توانیم از یک کلاس ویژه از مدل های شبکه عصبی که به عنوان شبکه های عصبی مکرر (RNN) شناخته می شوند ، فقط برای این منظور استفاده کنیم. RNN ها با استفاده از خروجی از مدل به عنوان ورودی جدید برای همان مدل اجازه می دهند. این روند می تواند به طور نامحدود تکرار شود.

یکی از محدودیت های جدی RNN ، عدم توانایی در گرفتن وابستگی های طولانی مدت در یک دنباله است (به عنوان مثال آیا بین قیمت امروز و آن 2 هفته قبل وابستگی وجود دارد؟). یکی از راه های رسیدگی به وضعیت استفاده از یک نوع حافظه کوتاه مدت (LSTM) از RNN است.

رفتار پیش فرض LSTM به یاد آوردن اطلاعات برای دوره های طولانی است. بیایید ببینیم که چگونه می توانید از LSTM در Keras استفاده کنید.

پیش پردازش داده ها

اول ، ما می خواهیم داده های قیمت خود را در محدوده [0 ، 1] خرد کنیم. به یاد بیاورید که این به الگوریتم بهینه سازی ما کمک می کند تا سریعتر همگرا شوند:

ما می خواهیم از MinmaxScaler از Scikit Learn استفاده کنیم:

مقیاس دهنده انتظار دارد که داده ها به صورت (x ، y) شکل بگیرند ، بنابراین ما قبل از استفاده از تغییر شکل ، ابعاد ساختگی را با استفاده از تغییر شکل اضافه می کنیم.

بیایید NAN ها را نیز حذف کنیم زیرا مدل ما قادر به انجام آنها به خوبی نخواهد بود:

ما از Isnan به عنوان ماسک برای فیلتر کردن مقادیر نان استفاده می کنیم. دوباره داده ها را پس از حذف NANS تغییر شکل می دهیم.

ساخت سکانس

LSTM ها انتظار دارند که داده ها در 3 بعد قرار بگیرند. ما باید داده ها را به توالی برخی از طول از پیش تعیین شده تقسیم کنیم. شکلی که می خواهیم بدست آوریم:

ما همچنین می خواهیم برخی از داده ها را برای آزمایش ذخیره کنیم. بیایید برخی از سکانس ها را بسازیم:

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

ما 5 ٪ از داده ها را برای آزمایش ذخیره می کنیم. مجموعه داده ها اینگونه به نظر می رسند:

مدل ما از 2945 دنباله استفاده می کند که 99 روز از تغییرات قیمت بیت کوین را برای آموزش نشان می دهد. ما در آینده می خواهیم قیمت 156 روز را پیش بینی کنیم (از POV مدل ما).

ساخت مدل LSTM

ما در حال ایجاد یک شبکه عصبی مکرر 3 لایه LSTM هستیم. ما از ترک تحصیل با نرخ 20 ٪ برای مبارزه با بیش از حد در طول آموزش استفاده می کنیم:

ممکن است تعجب کنید که معامله با دو طرفه و cudnnlstm چیست؟

RNN های دو طرفه به شما امکان می دهد تا داده های دنباله را در جهت رو به جلو و عقب (معکوس) آموزش دهید. در عمل ، این رویکرد با LSTM ها خوب کار می کند.

Cudnnlstm "اجرای سریع LSTM است که توسط Cudnn پشتیبانی می شود". من شخصاً فکر می کنم نمونه خوبی از انتزاع نشتی است ، اما سریع دیوانه است!

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

آموزش

ما از میانگین خطای مربع به عنوان یک عملکرد ضرر و بهینه ساز آدام استفاده خواهیم کرد.

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

بعد از یک آموزش سریع رعد و برق (با تشکر از Google برای GPU های رایگان T4) ، ما از دست دادن آموزش زیر داریم:

پیش بینی قیمت بیت کوین

بیایید مدل ما را پیش بینی کنیم قیمت بیت کوین!

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

به نظر می رسد مدل نسبتاً موجز ما در مورد داده های آزمون به خوبی عمل می کند. مراقب باشید که آن را روی ارزهای دیگر امتحان کنید؟

نتیجه

تبریک می گویم ، شما فقط یک شبکه عصبی مکرر LSTM دو طرفه را در Tensorflow 2 ساخته اید. مدل ما (و پیش پردازش "خط لوله") بسیار عمومی است و می تواند برای سایر مجموعه داده ها استفاده شود.

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

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.