مدل های یادگیری ماشین چقدر خوب می توانند قیمت بیت کوین را پیش بینی کنند؟

ساخت وبلاگ

پیش بینی قیمت های بیت کوین از طریق مدل های Arima ، Xgboost ، پیامبر و LSTM در پایتون

مقدمه

Cryptocurrency Bitcoin همچنان به عنوان عناوین جهانی و افزایش محبوبیت خود ادامه می دهد زیرا بیشتر و بیشتر افراد/سازمان ها شروع به تصویب آن می کنند. در این مقاله ، توانایی های پیش بینی بیت کوین از 4 مدل یادگیری ماشین مختلف را در پایتون آزمایش می کنم: Arima ، پیامبر ، XGBOOST و LSTM. با تقسیم داده ها در یک مجموعه آزمایش و آموزش ، عملکرد هر مدل را با یکدیگر مقایسه می کنم و نتیجه می گیرم که بهترین عملکرد را انجام داده است. در اینجا مخزن GitHub است.

تجزیه و تحلیل داده های اکتشافی

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

من از داده های قیمت بیت کوین زیر در زیر استفاده کردم (شکل 1). با این حال ، در مرحله بعد باید در مورد تقسیم داده برای داده های آموزش و آزمایش خود تصمیم بگیرم. از آنجا که قیمت آن در ژانویه 2021 بسیار زیاد است ، من می دانستم که مدل ها این پیشرفت را به طور دقیق پیش بینی نمی کنند. بنابراین ، من در مورد تقسیم 70 ٪ و 30 ٪ برای آموزش و آزمایش تصمیم گرفتم. این تقسیم 30 ٪ به مدل اجازه می دهد تا مقادیر خوبی را قبل از سنبله غیرقابل پیش بینی پیش بینی کند.

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

همانطور که تازه بیان کردم ، هر مدل در 70 ٪ اول سری زمانی آموزش دیده و سپس در 30 ٪ باقیمانده (439 روز) در برابر مقادیر پیش بینی شده آن آزمایش می شود. من برای تعیین بهترین مدل از خطای میانگین مربع (RMSE) از آزمون هر مدل استفاده خواهم کرد. RMSE انحراف استاندارد باقیمانده ها است - یا به سادگی اینکه باقیمانده ها چگونه پخش می شوند.

پایه RMSE: پیش بینی نورد مدل ARIMA

من برای اولین بار یک مدل پیش بینی نورد Arima ایجاد کردم تا یک پایه برای آنچه RMSE عالی است بدست آورم. با این حال ، از آنجا که این مدل در روز به روز نورد پیش بینی می کند ، مقایسه با مدل های دیگر عادلانه نیست. همانطور که در زیر نشان داده شده است (شکل 2) ، پیش بینی ها به رنگ قرمز و قیمت های واقعی به رنگ آبی است. با این حال ، ما برای تمایز این دو باید بیشتر بزرگنمایی کنیم.

پس از بزرگنمایی در 50 روز گذشته (شکل 3) ، تاخیر روز به روز مدل به وضوح قابل مشاهده است. این مدل RMSE را تولید کرده است: 914. 737 ، که به ما نشان می دهد که RMSE خوب به نظر می رسد و ما باید در مدل های دیگر چه هدف داشته باشیم.

1. مدل پیامبر

کتابخانه پیامبر یک کتابخانه منبع باز است که توسط فیس بوک تهیه شده و برای پیش بینی خودکار داده های سری زمانی طراحی شده است. این مدل عمدتاً بر پیش بینی روندها و فصلی متمرکز است. با این حال به دلیل استفاده آسان ، تصمیم گرفتم این مدل را ابتدا با تنظیمات پیش فرض پیاده سازی کنم. همانطور که در تصویر زیر مشاهده شده است (شکل 4) مدل پیامبر پیش بینی می کند که قیمت بیت کوین کاهش می یابد. علاوه بر این ، مدل تخمین مرزهای فوقانی و پایین را نیز فراهم می کند (لبه های منطقه سایه دار). در حالی که برآورد مرزهای بالایی دارای جهت شیب دقیقی است ، این مدل در مقایسه با داده های آزمون عملکرد خوبی ندارد.

به رنگ آبی داده های آزمایش واقعی در مقایسه با پیش بینی Red Prediction است (شکل 5).

همانطور که مشهود است ، این مدل با RMSE خوب پیش بینی نکرده است: 24810. 845.

2. مدل آریما

ARIMA بعدی است ، مخفف مخفف میانگین متحرک یکپارچه خودکار است. Arima یک روش آماری گسترده برای تجزیه و تحلیل و پیش بینی داده های سری زمانی است. این مجموعه از مجموعه ای از ساختارهای استاندارد در داده های سری زمانی تشکیل شده است و یک روش ساده و در عین حال قدرتمند برای پیش بینی های سری زمانی ماهر ارائه می دهد. مدل های ARIMA دارای 3 پارامتر (P ، D ، Q) هستند که نشان دهنده استفاده از مدل خاص ARIMA است. من به سادگی پارامترهایی را که در گذشته در داده های مختلف سری زمانی استفاده کرده ام ، اعمال کردم ، که احتمالاً می تواند به یک مدل نامطلوب منجر شود (شکل 6).

اگر مجبور شدم آزمایش را دوباره انجام دهم ، مطمئناً برای فهمیدن پارامترهای P ، D ، Q ، اکتشاف مناسب تر از داده ها را انجام می دهم. با این حال پس از تکمیل مدل LTSM ، من فکر نمی کردم که هیچ تنظیماتی در Arima به اندازه LTSM کم RMSE اجازه دهد. RMSE نهایی این مدل Arima در سال 19633. 653 بود.

3. مدل LTSM

مدل های حافظه کوتاه مدت طولانی (LSTM) نوعی از شبکه عصبی مکرر است که قادر به یادگیری توالی مشاهدات است. این باعث می شود آنها به یک شبکه یادگیری عمیق مناسب برای پیش بینی سری زمانی باشند. با این حال ، معمولاً یک LTSM با یک مجموعه داده های سری زمانی به عنوان بی ثبات و غیرقابل پیش بینی به عنوان بیت کوین مبارزه می کند. بعد از یک فرآیند ناخوشایند در تلاش برای استفاده از داده هایم ، سرانجام مدل را آموزش دادم. در تناسب نهایی من از 50 دوره و بهینه ساز "آدم" استفاده کردم. در تصویر زیر پیش بینی های مدل در مقابل قیمت داده های آزمایش واقعی است.

این موفق ترین مدل با RMSE بود: 8950. 128

4. مدل XGBoost:

XGBOOST یکی از محبوب ترین الگوریتم های یادگیری ماشین این روزها است. صرف نظر از نوع کار پیش بینی در دست. رگرسیون ، یا طبقه بندی. XGBoost به خوبی شناخته شده است که راه حل های بهتری نسبت به سایر الگوریتم های یادگیری ماشین ارائه می دهد. در حقیقت ، از زمان آغاز به کار ، به الگوریتم یادگیری ماشین "پیشرفته" برای مقابله با داده های ساخت یافته تبدیل شده است. با این حال ، در این شرایط ما از داده های سری زمانی استفاده خواهیم کرد. بنابراین ، مدل مورد نیاز برای ایجاد ویژگی های سری زمانی از شاخص DateTime - برای پیش بینی در کنار برچسب های قیمت هدف آن استفاده می شود. متأسفانه ، در پایان این مدل به خوبی عادلانه نبود.

یک بار دیگر ، این می تواند به یک انتخاب ضعیف در پارامترها نسبت داده شود یا به سادگی که مدل XGBoost برای سری زمانی تخصصی نیست. با این حال ، من معتقدم که مدل LTSM ثابت کرده است که کمترین RMSE را دارد و بنابراین بهترین است. RMSE نهایی XGBoost 18483. 212 است.

مقایسه و نتایج

نتایج نهایی این آزمایش در شکل 9 در شکل 9 شکل گرفته است.

نتیجه

این مجموعه داده بیت کوین شامل داده های سری زمانی بسیار بی ثبات و غیر طبیعی بود. بنابراین ، من تعجب نکردم که متوجه شدم که این مدل ها در پیش بینی 439 روز از قیمت ها مشکل سختی دارند. علاوه بر این ، من تأیید می کنم که می توانم پارامترهای بهتر و آگاهانه تری را برای برخی از این مدل ها و کتابخانه ها انتخاب کنم تا نتایج منصفانه تر شود. با این حال ، من فکر می کنم RMSE کم مدل LSTM ثابت می کند که شبکه های عصبی قدرتمند می توانند در یادگیری ماشین باشند. من دوست دارم در آینده بیشتر داده های سری RNN را در سری زمانی مالی کشف کنم!

آموزش فارکس برای مبتدی ها...
ما را در سایت آموزش فارکس برای مبتدی ها دنبال می کنید

برچسب : نویسنده : Mihayloo بازدید : <-PostHit-> تاريخ : دوشنبه 17 بهمن 1401 ساعت: 14:16