مدیر محصول خارج از کشور ، تجزیه و تحلیل داده ها Google Cloud
بیایید بگوییم که شما یک معامله گر کمی با دسترسی به داده های قیمت ارز در زمان واقعی (FOREX) از ارائه دهنده داده های مورد علاقه خود در بازار هستید. شاید شما یک اشتراک شریک داده داشته باشید ، یا از یک ژنراتور داده مصنوعی برای اثبات ارزش استفاده می کنید. شما می دانید که باید هزاران نفر دیگر از آنجا با هدف خود وجود داشته باشند. چگونه ردیاب ناهنجاری خود را متمایز می کنید؟
چه می شود ، اگر به جای آموزش یک آشکارساز ناهنجاری در داده های قیمت Forex Raw ، ناهنجاری ها را در یک نشانگر تشخیص دهید که از قبل سیگنال های خرید و فروش را ارائه می دهد؟شاخص مقاومت نسبی (RSI) یکی از این شاخص ها است. اغلب گفته می شود که RSI بالاتر از 70 یک سیگنال فروش است و RSI زیر 30 سیگنال خرید است. از آنجا که این فقط یک قانون ساده است ، این بدان معناست که ممکن است مواقعی وجود داشته باشد که سیگنال نادرست باشد ، مانند تصحیح بازار ارز ، و آن را به یک فرصت اصلی برای یک ردیاب ناهنجاری تبدیل می کند.
این مؤلفه های سطح بالا را به ما می دهد:
البته ، ما می خواهیم که هر یک از این مؤلفه ها داده ها را در زمان واقعی کنترل کنند و در صورت نیاز به صورت الاستیک مقیاس شوند. خطوط لوله DataFlow و Pub/Sub خدمات مناسبی برای این کار هستند. تمام کاری که ما باید انجام دهیم این است که اجزای خود را در بالای Apache Beam SDK بنویسیم و آنها از محاسبات توزیع شده ، انعطاف پذیر و مقیاس پذیر بهره مند می شوند.
خوشبختانه برای ما ، برخی از افزونه های عالی Google برای Apache Beam وجود دارد. یعنی ، یک کتابخانه نمونه سری Dataflow که شامل محاسبات RSI و بسیاری از معیارهای سری زمانی مفید دیگر است. و یک کانکتور برای استفاده از سیستم عامل AI یا استنتاج Vertex AI در یک خط لوله Dataflow. بیایید نمودار خود را به روز کنیم تا مطابقت داشته باشد ، جایی که فلش های جامد نشان دهنده موضوعات میخانه/زیر است.
کتابخانه نمونه سری Dataflow همچنین قابلیت های پر کردن شکاف را در اختیار ما قرار می دهد ، به این معنی که می توانیم پس از رسیدن جریان به مدل یادگیری ماشین ما (ML) ، به داشتن داده های پیوسته اعتماد کنیم. این به ما امکان می دهد مدلهای ML کاملاً پیچیده را پیاده سازی کنیم و به این معنی است که ما یک مورد لبه کمتری برای نگرانی داریم.
تاکنون ما فقط در مورد جریان داده های زمان واقعی صحبت کرده ایم ، اما برای تجسم و بازآموزی مداوم مدل ML خود ، ما می خواهیم داده های تاریخی را نیز بخواهیم. بیایید از BigQuery به عنوان انبار داده ما و DataFlow برای لوله کشی میخانه/زیر آن استفاده کنیم. از آنجا که این کار لوله کشی به طرز شرم آور موازی است ، ما خط لوله خود را نوشتیم تا در انواع داده ها عمومی باشد و همان کار گردش داده را به اشتراک بگذاریم ، به گونه ای که می توان منابع محاسبه را به اشتراک گذاشت. این منجر به کارآیی مقیاس هم در صرفه جویی در هزینه و هم در زمان مورد نیاز برای مقیاس گذاری می شود.
مدل سازی داده ها
بیایید در اینجا کمی بیشتر در مورد قالب های داده بحث کنیم. جنبه مهم اجرای هر پروژه مهندسی داده در مقیاس ، انعطاف پذیری ، قابلیت همکاری و سهولت اشکال زدایی است. به همین ترتیب ، ما تصمیم گرفتیم از ساختارهای Flat JSON برای هر یک از انواع داده های خود استفاده کنیم ، زیرا آنها با استفاده از ابزار قابل خواندن هستند و به طور همه جا درک می شوند. همانطور که BigQuery آنها را نیز درک می کند ، به راحتی می توان به کنسول BigQuery پرش کرد و تأیید کرد که هر مؤلفه این پروژه همانطور که انتظار می رود کار می کند.
(داده های مصنوعی)
همانطور که مشاهده می کنید ، کتابخانه نمونه DataFlow قادر به تولید معیارهای بیشتر از RSI است. این پشتیبانی از تولید دو نوع معیارها در ویندوزهای سری زمانی ، معیارهایی که می توانند در ویندوزهای بدون هماهنگ محاسبه شوند ، و معیارهایی که به ویندوز سفارش داده شده نیاز دارند ، که به ترتیب این کتابخانه به عنوان معیارهای نوع 1 و معیارهای نوع 2 یاد می کند ، پشتیبانی می کند. معیارهای بدون هماهنگی دارای یک رابطه بسیار به یک هستند که می تواند با کاهش فرکانس نقاط در طول زمان ، به کاهش اندازه داده های شما کمک کند. معیارهای سفارش داده شده بر روی خروجی معیارهای بدون هماهنگ اجرا می شوند و به گسترش اطلاعات در حوزه زمان بدون از دست دادن وضوح کمک می کنند. برای لیست جامع معیارهای پشتیبانی شده از جعبه ، حتماً مستندات کتابخانه نمونه DataFlow را بررسی کنید.
از آنجا که خروجی ما توسط کمیت انسانی ما تفسیر می شود ، بیایید از معیارهای بدون هماهنگ استفاده کنیم تا وضوح زمان جریان ما از داده های زمان واقعی را به یک در ثانیه یا یک هرتز کاهش دهیم. اگر خروجی ما به یک الگوریتم معاملاتی خودکار منتقل شود ، ممکن است فرکانس بالاتری را انتخاب کنیم. تصمیم برای اندازه پنجره معیارهای سفارش داده شده ما کمی دشوارتر است ، اما به طور گسترده میزان مرحله ای از مراحل ML ما را برای زمینه تعیین می کند ، بنابراین پنجره زمانی که تشخیص ناهنجاری ما مرتبط خواهد بود. ما حداقل به آن نیاز داریم که بزرگتر از تأخیر پایان به پایان ما باشد ، تا اطمینان حاصل شود که Quant ما زمان عمل را خواهد داشت. بیایید آن را به پنج دقیقه تنظیم کنیم.
تجسم داده ها
قبل از اینکه به مدل ML خود شیرجه بزنیم ، بیایید روی تجسم کار کنیم تا احساس شهودی تری نسبت به آنچه با معیارها اتفاق می افتد ، به ما ارائه دهیم و آنچه را که تاکنون بدست آورده ایم تأیید کنیم. ما از نمودار Grafana Helm با افزونه BigQuery در یک خوشه Autopilot موتور Google Kubeetes (GKE) استفاده می کنیم. تنظیم تجسم کاملاً پیکربندی محور است و مقیاس بندی خارج از جعبه را فراهم می کند ، و GKE بعداً جایی برای میزبانی برخی از مؤلفه های دیگر به ما می دهد.
GKE Autopilot هویت بار کاری را به طور پیش فرض فعال کرده است ، به این معنی که ما نیازی به نگرانی در مورد عبور از اسرار برای دسترسی به BigQuery نداریم ، و در عوض می توانیم فقط یک حساب کاربری GCP ایجاد کنیم که دسترسی به BigQuery را خوانده و آن را از طریق مرتبط با آن به استقرار ما اختصاص دهدحساب خدمات Kubeetes.
خودشه! اکنون می توانیم برخی از پانل ها را در یک داشبورد گرافانا ایجاد کنیم و شاهد پر کردن شکاف و معیارهای کار در زمان واقعی باشیم.
(داده های مصنوعی)
ساخت و استقرار مدل یادگیری ماشین
خوب ، زمان ML. همانطور که قبلاً به آن اشاره کردیم ، ما می خواهیم به طور مداوم مدل ML خود را با دسترسی به داده های جدید بازیابی کنیم تا اطمینان حاصل شود که با روند فعلی بازار به روز است. TensorFlow Extended (TFX) بستری برای ایجاد خطوط لوله یادگیری ماشین نهایی در تولید است و روند کار در مورد ایجاد یک خط لوله آموزشی قابل استفاده مجدد را آسان می کند. همچنین دارای برنامه های افزودنی برای انتشار در AI Platform یا Vertex AI است و می تواند از دونده های DataFlow استفاده کند ، که این امر باعث می شود که برای معماری ما مناسب باشد. خط لوله TFX هنوز به یک ارکستر نیاز دارد ، بنابراین ما می توانیم آن را در یک کار Kubeetes میزبانی کنیم و اگر آن را در یک کار برنامه ریزی شده بپیچیم ، پس از آن بازیابی ما نیز در یک برنامه اتفاق می افتد!
TFX به داده های ما در قالب tf. example نیاز دارد. کتابخانه نمونه DataFlow می تواند مستقیماً TF. Examples را خروجی کند ، اما این دو خط لوله ما را به هم می زنند. اگر می خواهیم چندین مدل ML را به صورت موازی اجرا کنیم یا مدل های جدید را بر روی داده های تاریخی موجود آموزش دهیم ، ما به خطوط لوله خود نیاز داریم که فقط به راحتی همراه باشند. گزینه دیگر استفاده از آداپتور پیش فرض TFX BigQuery است ، اما این ما را به هر ردیف در نقشه برداری BigQuery دقیقاً به یک نمونه ML محدود می کند ، به این معنی که ما نمی توانیم از شبکه های مکرر استفاده کنیم.
از آنجا که هیچ یک از راه حل های خارج از جعبه الزامات ما را برآورده نمی کند ، ما تصمیم گرفتیم یک مؤلفه TFX سفارشی بنویسیم که آنچه را که ما نیاز داشتیم انجام داد. آداپتور سفارشی TFX BigQuery ما به ما این امکان را می دهد تا فرمت داده های استاندارد JSON خود را در BigQuery نگه داریم و شبکه های مکرر را آموزش دهیم ، و خطوط لوله ما را به راحتی همراه نگه می دارد! ما به منطق پنجره ای نیاز داریم تا هم برای آموزش و هم برای استنباط یکسان باشد ، بنابراین ما مؤلفه TFX سفارشی خود را با استفاده از اجزای پرتو استاندارد ساختیم ، به گونه ای که می توان همان کد را در هر دو خط لوله وارد کرد.
آموزش فارکس برای مبتدی ها...
ما را در سایت آموزش فارکس برای مبتدی ها دنبال می کنید
برچسب :
نویسنده : Mihayloo
بازدید : <-PostHit->
تاريخ : چهارشنبه
26 بهمن
1401 ساعت: 18:29