Deep Time
3.77K subscribers
101 photos
10 videos
7 files
298 links
Machine Learning 💻 Quantitative Finance💲Time Series 📈 Artificial Intelligence 🤖Data Science 📚 Startup 🚀
Download Telegram
Motif and Discord (Anomaly) Detection in Time Series
بخش اول: Matrix Profile

Introduction to Matrix Profiles
Github

شناسایی الگوهای تکرار شونده و اتفاقات عجیب در یک سری زمانی اهمیت بسیاری در حوزه‌های مختلف دارد. در حوزه فایننس این اهمیت بیشتر است.
اما بهترین الگوریتم برای شناسایی الگوها و آنومالی ها در سری زمانی چه ویژگی‌هایی باید داشته باشد؟
اولا الگوریتم باید قادر باشد Similarity را با روشی هوشمندانه و مقاوم تشخیص دهد. بنابراین استفاده از correlation ساده قادر به کشف الگو و آنومالی نیست. پس باید از الگوریتم مناسب و همچنین معیار تشابه درست مانند DTW استفاده شود.
ثانیا الگوریتم باید شدیدا از نظر محاسباتی بهینه باشد چرا که هزینه محاسباتی شناسایی الگو بسیار بالاست.
تمامی این موارد در الگوریتم Matrix Profile وجود دارد که توسط تیم پروفسور Eamonn Keogh (بعدا در مورد ایشون و کارهاش بیشتر صحبت میکنیم) از دانشگاه ریورساید کالیفرنیا سالهاست توسعه داده شده است. برای درک این الگوریتم جالب ابتدا مقاله اول (سال 2016) این الگوریتم رو ببینید.
ضمنا این دانشگاه یکی از معروف ترین بانک‌های اطلاعاتی سری زمانی را ارائه میکند که در بسیاری مقالات به عنوان بنچمارک استفاده میشود.

@deeptimeai
1
Deep Time
Motif and Discord (Anomaly) Detection in Time Series بخش اول: Matrix Profile Introduction to Matrix Profiles Github شناسایی الگوهای تکرار شونده و اتفاقات عجیب در یک سری زمانی اهمیت بسیاری در حوزه‌های مختلف دارد. در حوزه فایننس این اهمیت بیشتر است. اما بهترین…
نکته: مقاله اول Matrix Profile I رو معرفی میکنه و برای سال 2016 هست. در سال 2022 الگوریتم Matrix Profile XXIV معرفی شده یعنی ۲۳ الگوریتم بهینه تر در این ۸ سال ارائه شده. از این لینک مقالات و مراجع رو ببینید.

@deeptimeai
چرا به عنوان یک دیتاساینتیست یا محقق باید این ویدئو رو ببینید؟

Motif and Discord (Anomaly) Detection in Time Series
بخش دوم.

جواب سوال بالا حوزه تخصصی این ویدئو (آنومالی دیتکشن در سری زمانی) نیست!
شما در این ویدئو یک نمونه از تفکر انتقادی و قدرت ارزیابی مسائل و مقالات رو میبینید. داشتن این قدرت تحلیل به نظرم دقیقا نقطه تمایز افراد برجسته با افراد دیگه هست. نمونه این نوع بررسی رو قبلا در کانال گذاشته بودم که نیکولاس طالب درباره نقاط ضعف معیارهای همبستگی (pearson spearman) دقیق بررسی میکنه.

در این ویدئو آقای Eamonn Keogh استاد دانشگاه UCR توضیح میده که چرا 95 درصد مقالات آنومالی دیتکشن در سری زمانی معتبر نیستن. برای مثال این مقالات در مواردی دقت بیشتری گزارش کردن و روششون هم اشتباه نیست اما به دلیل mislabeling در واقع دقتشون بدتر از روشهای دیگه هست چون یکسری آنومالی ها در label گذاری لحاظ نشده بوده.
به همین دلیل دقت به چیزی مثل ذات دیتاست بنچمارک خیلی اهمیت داره. در پروژه‌های واقعی به نظرم مهم‌ترین انتخاب و طراحی، طراحی یک معیار ارزیابی (Evaluation Metric) مناسب هست که خیلی اوقات از پیش تعریف شده نیست یا باید تعریف مسئله رو عوض کرد.

@deeptimeai
👍1
Superforecasting: The Art and Science of Prediction
کتاب "هنر و علم پیشبینی" اثر فیلیپ تتلاک معروف و دن گاردنر


خلاصه صوتی کتاب: گوگل پادکست بی‌پلاس

چی باعث میشه که برای مثال یک برنامه‌نویس بازنشسته با اختلاف بسیار زیادی در طی سالها، بهتر از سرویس‌های اطلاعاتی آمریکا (با دسترسی به اطلاعات طبقه بندی شده) وقایع رو پیشبینی کنه؟ وقایعی مثل وقوع جنگ یا خروج یک کشور از یک اتحادیه و ...

فیلیپ تتلاک یکی از افراد سرشناس در حوزه پیشبینی وقایع سیاسی هست. گرچه در این کتاب درمورد علم داده یا ماشین لرنینگ صحبت نمیشه، اما مواردی مطرح میشه که علت موفقیت و مقاوم بودنِ یکسری پیشبینی (پیشبینی کننده) و شکست بقیه هست. به طور خلاصه مهم ترین عوامل در پیشبینی‌های موفق طبق این کتاب:

۱_ کمی سازی همه اطلاعات و دید احتمالی به مسئله. ما قطعا با این مورد موافقیم و نیاز به توضیح خاصی نیست. در دیتاساینس ما خود به خود همه چیز رو به داده تبدیل می‌کنیم.

۲_ تا جای ممکن دیدن ابعاد مختلف مسئله. در واقع دیده بودن که افرادی که عالی پیشبینی میکنن به شدت نسبت به هر تک گزاره شک دارن و سعی میکنن همه موارد (بعضا متناقض) رو در مدلشون وارد کنن. اما همیشه دولت به افرادی تکیه می‌کرده که با اعتماد به نفس یک پیشبینی رو با یکسری دلیل واضح انجام بدن.
مصداقش در دیتاساینس یعنی همه نوع فیچری باید جمع آوری کرد.
مثال: فلان سهم طبق داده‌های ما و همچنین ارزش ذاتیش باید سقوط کنه و ... اما به شدت طی چند روز رشد میکنه.
علت احتمالی: اثر شبکه‌های اجتماعی لحاظ نشده و اون سهم خاص شاید در توییتر شدیدا تبلیغ شده بوده. پس باید تا جای ممکن اطلاعات از منابع مختلف جمع آوری بشن.

۳_ نبود نظر اولیه در مورد پیشبینی (بایاس نبودن). افرادی که superforecaster بودن به اصطلاح کتاب، هیچ نظر اولیه‌ای نداشتن درباره وقایع. حتی این مسئله که یک نفر در پس ذهنش فکر میکرده جهان داره به جای بدتری تبدیل میشه باعث میشده اون فرد پیشبینی خوبی انجام نده در یک مسئله ژئوپولتیک.
مثال در حوزه فایننس: خود انتخاب بازار یک مثال هست. شرکت‌ها و افرادی بودن که در زمان رشد کریپتو چهار تا فوش میدادن به بورس ایران و برعکسش اوایل تابستون ۹۹ میلیاردی بورس ایران سرمایه‌گذاری میشد و بعدش سقوط کرد. این‌ها در واقع پیشبینی اولیه پس ذهن اون شرکت‌ها بود که باعث میشد فکر کنن فلان بازار رونق خواهد داشت‌ و این باعث میشد بعضا ریسک‌های جبران نشدنی انجام بدن.

۴_ آپدیت کردن مداوم پیشبینی‌ها.

مثال‌ها و ارتباطات با دیتاساینس در این پست، در کتاب مطرح نشده.

@deeptimeai
Forwarded from Golem Course
مسیر یادگیری شاخه‌های مهندسی نرم‌افزار

یکی از سوالاتی که افراد زیاد از من می‌پرسند این است که برای یادگیری فرانت‌اند، بک‌اند، دوآپس و ... چه چیزهایی باید یاد بگیریم؟ چه مسیری را باید طی کنیم؟ از کجاها شروع کنیم؟ قدم‌های این مسیر چیست؟

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

مهم‌ترین قدم در حل یک مسئله دیتاساینس این هست که وقتی نتایج خوبی داریم با وسواس به دنبال یک اشکال در کد باشیم. این حتی در نوشتن هر قطعه کد یا تابع باید مورد نظر باشد.
علت: مغز ما به طور ذاتی به دنبال تأیید نظر و عملکرد ماست (همان بحث confirmation bias) و این باعث می‌شود مشکلاتی مثل Target Leakage که در مواردی به راحتی قابل تشخصی نیست، نتایج را به اشتباه خوب نشان دهد. و نتیجه این هست که تیم‌ها یا افراد کم تجربه در زمان live test یا production دچار مشکل می‌شوند.

راه حل:
همیشه به دنبال نقض روشِ حلِ مسئله خودمان باشیم. با این کار، روش و کد نهایی درجه اطمینان بالایی خواهد داشت.

@deeptimeai
Time Series XAI

مدل‌های ماشین لرنینگ عموما وقتی میتونن مبنای تصمیم‌گیری در شرکت‌ها قرار بگیرن که Explainable باشن. بحث Explainable AI چیز جدیدی نیست ولی به شدت ترند هست. اما برای سری زمانی کمتر در این مبحث کار انجام شده، خصوصا Multivariate TimeSeries. کار جالبی در این زمینه با استفاده از تبدیل Shapelet برای سری زمانی چند متغیره انجام شده.

Shapelet-Based Counterfactual Explanations for Multivariate Time Series

@deeptimeai
Deep Time
Time Series XAI مدل‌های ماشین لرنینگ عموما وقتی میتونن مبنای تصمیم‌گیری در شرکت‌ها قرار بگیرن که Explainable باشن. بحث Explainable AI چیز جدیدی نیست ولی به شدت ترند هست. اما برای سری زمانی کمتر در این مبحث کار انجام شده، خصوصا Multivariate TimeSeries. کار…
ماه گذشته دو بار با یکی از مدیران دیتاساینس شرکت Walmart میتینگ داشتم. والمارت بزرگترین Retailer دنیاست و گسترده‌ترین پیش‌بینی‌هارو انجام میده. موارد خیلی جالبی صحبت شد که فرصت بشه با اجازه ایشون اینجا پست میکنم. یک نکته جالبی که ایشون مطرح کرد این بود که ضرورتا مدل های پیشبینی باید Explainable باشن چرا که هر محصولی (حتی محصولاتی که برای بار اول هست که تولید میشن) بر مبنای پیشبینی این مدل‌ها تخمین تقاضا زده میشن و با توجه به حجم بالای پول، مسئولیت و ریسک به شدت بالاست.

نکته جالب دیگه این بود که دیتاست مسابقه M5 توسط تیم ۵۰ نفری ایشون تهیه شده بود.
Beyond Jupyter Notebooks: MLOps Environment Setup & First Deployment

این وبینار رایگان هست. در عمل deployment خیلی مهمه. کار با ِdocker، دیتابیس‌های خاص، celery و ... . مفهوم MLOps حالا سعی میکنه دیپلویمنت برای ML رو به طور خاص بررسی کنه.

آپدیت: ویدئو ضبط شده وبینار در یوتوب

@deeptimeai
پیشبینی این سری زمانی به هوش مصنوعی نیازی ندارد و اعداد دروغ نمی‌گویند، خصوصا وقتی با خون نوشته شده باشند.

#مهسا_امینی

@deeptimeai
🔥1
معرفی یک اصل اساسی برای تغییر

کلید اساسی تغییر چیست؟ چه مسئله ای باعث می‌شود با وجود تنفر از وضع موجود، تغییر صورت نگیرد؟

یک اصل اساسی که در کتاب پیرو‌زی‌های تجربه اثر جرج ولنت مطرح شده بیان میکند:
صرف نارضایتی از وضع موجود حتی با بالاترین تنفر، باعث تغییر وضع موجود نمی‌شود. شرط اصلی برای تغییر وضع موجود، وجود چشم‌انداز، هدف و آلترناتیو است.

این ویدئو رو از این قسمت تا ۵ دقیقه بعدش ببینید.

نظر شخصی:
این اهداف در اعتراضات اخیر کشور با "برای..." ها کمی مطرح شد. اما از نظر من اصلا سازماندهی مورد نیاز را ندارد. این چشم‌اندار می‌تواند توسط یک اعتلاف با حضور افراد برجسته خارج از کشور (که دستگیر نشوند!) مثل کاوه مدنی و ... سامان داده شده و بیان شود.

پ.ن : حتی اگر میخواهید یک تغییر در زندگی شخصی ایجاد کنید این مسئله بسیار مهم است. ویدئو را ببینید.

@deeptimeai
در شرایطی که #جادی یک زندانی هست واقعا سخته در زمینه کامپیوتر و تکنولوژی مطلب نوشتن. ولی همیشه یاد جمله آخری میفتم که جادی تو رادیوگیک بعد از اخبار بد مثل صیانت میگفت: انرژیا رو حفظ کنید و لبخند بزنید که این تنها چیزیه که داریم...

هرچند به راحتی نمیشه لبخند زد، مطالب رو آروم آروم شروع میکنیم‌.

به امید آزادی جادی

@deeptimeai
در ادامه مسابقات سری زمانی M Competition، در دور ششم مسابقات حالا نوبت پیشبینی finance و بازارهای مالی هست.

M6 Competition
برای شرکت در مسابقات:
Participate in M6

به سایت forecasters هم سری بزنید. مسابقه M5 در این پست بررسی شد.

@deeptimeai
باید از این انرژی همیشگی جادی درس بگیریم🤩

جادی به قید وثیقه‌ آزاد شد.
یادگیری از مسابقات و ۱۱۰۰ دلار!

خیلی از دوستان میخوان برای ورود به بازار کار یا مقاله دادن ماشین لرنینگ یاد بگیرن ولی با دیدن چند تا کورس انگیزه رو از دست میدن مشکل کجاست؟ اینکه هدفی نیست. هدف چیه (قبل از کارآموزی و ...)؟

۱_ تعریف یک پروژه شخصی که براتون جالبه که باید از دیتا کرال کردن و مهندسی داده تا آخرِ مدلسازی با ماشین لرنینگ رو طی کنید و شاید یک تیم بشید و جلو برید.

۲_ شرکت در مسابقات. در این راه حل اگرچه شما خیلی موارد مهندسی داده، دیتابیس، سروینگ و داکر و ...(که ۸۰ درصد وقتی رو میگیرن) رو شاید اسکیپ کنید و دیتاست‌های نسبتا آماده تحویل یگیرید، اما انگیزه اولیه رو پیدا میکنید و به یک کامیونیتی پر انرژی وصل میشید. تا پارسال برای تفریح مدتی آخر هفته‌ها روی مسابقه crunchdao.com پیشبینی میزدم و چند باری جز ۱۰ نفر شدم. اخیرا چک کردم دیدم هر توکن کرانچ(بر مبنای اتریوم) شده نزدیک ۴ دلار که از طریق uniswap به اتریوم تبدیل کردم و بعد به ریال. حدود ۱۱۰۰ دلار شد! اما نکته اصلی هیجانی بود که مسابقه داشت و واقعا نمیدونستم کوین شون ارزشمند میشه. و البته با دوستان زیادی در ایران و خارج آشنا شدم که شرکت میکردن تو مسابقه‌.

شما هم میتونید شرکت کنید این مسابقه رو اما فک کنم باید stake کنید مقداری کوین و ازین نظر دارن خیلی شبیه numer.ai میشن.

@deeptimeai
Deep Time
باید از این انرژی همیشگی جادی درس بگیریم🤩 جادی به قید وثیقه‌ آزاد شد.
تو ترمینال پایتون بزنید
import this

که Zen of Python بالا میاد. همین چیزی که روی لباس جادی نوشته شده.
در حال حاضر در حال refactoring یکی از سیستم‌های خودمون هستم و گفتم بد نیست توضیحی درباره اهمیت refactoring بدم.

یکی از مهم ترین پادالگوها (anti-patterns) در ایجاد نرم‌افزار Lava Flow (جریان مواد مذاب) هست که به حالتی گفته میشه که Dead Code داریم. در واقع وقتی برنامه‌نویس‌های تیم شما یک کد رو می‌نویسن و میبینن کار هم میکنه (functional هست) احتمالا کار رو تموم شده بدونن و این جریان مذاب کد رو بیخیال بشن که باعث میشه فریز بشه و کلی اذیت کنه بعدا. خصوصا وقتی مدتی از نوشتن کد بگذره نه تنها افراد جدید نمیتونن کد رو بفهمن بلکه خود کسی هم که کد رو نوشته دیگه نمیفهمه و کد قابل نگهداری نخواهد بود.

برای همین تعریف Dead Code کدی هست که اتفاقا میتونه functional هم باشه اما maintainable نیست.

علت چیه:
در تیم شما Refactoring به شکل سخت‌گیرانه انجام نمیشه. دقت کنید که در تمامی متولوژی‌های چابک Refactoring اجباری هست.

راه حل:
ساده‌سازی و refactoring باید در پروژه‌های شما اجبار باشن. دقیقا مثل اون اصل Invent and Simplify در شرکت آمازون. هرچقدر کار بزرگتر بشه اهمیت ساده‌سازی بالاتر خواهد بود. ساده سازی باید به شکل مداوم انجام بشه.

باید دقت کنیم که تعریف Done یا تمام شده یک تعریف بسیار مهم در توسعه چابک و روش‌های agile هست و باید حتما یکسری المان در نظر گرفته بشه. اینکه ددلاین یک تسک نزدیک باشه و کدی که کار میکنه رو تمام شده فرض کنیم و بگیم بعدا برمیگردیم اصلاح میکنیم بزرگترین اشتباه هست.

@deeptimeai
در عصری زندگی کردیم که #جادی بودن ۶ سال حبس داشت…

🌐 Ehsan N
📅 1401/10/20
شکسته نفسی به سبک chatGPT

این مدل ماشین لرنینگ شعر مینویسه، کد میزنه، مقاله مینویسه و اگر یه گیتار الکتریک بشه به دستش رسوند احتمالا در حد اسلش سولو بزنه
و به دلیل همین قدرت بالا، کنفرانس معروف ماشین لرنینگ ICML استفاده از chatGPT رو برای تولید متون مقاله ممنوع کرده!

توضیح: از chatGPT پرسیده شده آیا هوش مصنوعی میتونه جای برنامه نویس هارو بگیره؟
جواب میده نه بابا ما کی باشیم و ...
بعد از chatGPT میخواد همین جوابشو به صورت شعر بنویسه که 🤯

مدل GPT-4 هم در راهه و باید ببینیم چقدر قوی‌تر خواهد بود.

@deeptimeai
آیا فرآیند پیر شدن (aging) برگشت پذیر شد؟

پژوهش بلندمدتی که اخیرا در دانشگاه هاروارد به سرپرستی دکتر David Sinclair انجام شده نشون میده علت پیر شدن (aging) در پستانداران یک دلیل نرم‌افزاری هست و نه سخت افزاری. یعنی اگر genetic و DNA رو سخت افزار بدوینم و epigenetic، که مسئول روشن و خاموش کردن رشته‌هایی از DNA رو داره، نرم افزار بدونیم، مسئول فرآیند aging تغییرات epigenetic هست که در طول زمان به دلیل فرآیند ادامه‌ دارِ شکست و ترمیم DNA اتفاق میفته. نکته جالب این هست که این تغییرات نرم‌افزاری رو میشه reboot کرد به تعبیر خودشون. دکتر Sinclair در این رشته توییت با ویدئو و متن توضیح میده.
پژوهش دیگری هفته اخیر از همین مسئله استفاده کرده و عمر موش رو در زمان پیریش (مطابق با 70 80 سالگی انسان)، 2 برابر کرده! و برای انسان هم فرآیندهایی age reversal مربوط به epigenetic گزارش شده.

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

@deeptimeai