اطلاعیه نهایی مسابقه الگوریتم پیش بینی قیمت سهام

همان‌طور که در گروه هم به عنوان راهنمایی بیان شد امکان مدل‌سازی adaptive و بازسازی اهداف به صورت غیرسببی روی دادگان تست وجود دارد و همچنین تنظیم پارامتر نیز ممکن است به صورت ناخواسته در مدل‌ها اعمال شود. حتی یک خطای خیلی ظریف‌تر مربوط به انتخاب نوع مدل نیز می‌باشد که ممکن است با توجه به داده‌های تست بایاس شده باشد. برای جلوگیری از این خطاها در امتیازدهی همان‌طور که در گروه هم مورد بحث و گفتگو قرار گرفت تنها راه ممکن استفاده از دادگان جدیدی برای تست است که مدل‌ها فقط و فقط یکبار بتوانند روی آن‌ها تست شوند و خروجی برای امتیازدهی در نظر گرفته شود. این روند در مسابقات Kaggle نیز اعمال شده است.

با توجه به این نکات دادگان تست جدید که در واقع ادامه دادگان تست فعلی هستند از 30% به بیش از 50% افزایش داده شده‌اند و 100 نمونه زمانی جدید تست برای هر سهم (در مجموع 10000 نمونه تست) در نظر گرفته شده است و و به عبارت دیگر این 100 نمونه جدید در ادامه 219 نمونه زمانی دادگان تست فعلی هستند. همچنین برای به روزرسانی مدل‌ها، دادگان آموزش جدیدی که شامل 567 نمونه زمانی قبل و 219 نمونه زمانی تست فعلی هستند به صورت پیوسته در اختیار شرکت کننده‌ها قرار خواهد گرفت. بنابراین مدل ها تا آخرین لحظه ممکن دادگان آموزش را خواهند دید و اثر تغییرپذیری با زمان نیز رعایت می‌شود.

به منظور تست گرفتن از داده های جدید می بایستی مدل پیشنهادی در قالب یک تابع تست عمومی با نام test_function (برای تمامی محیط MATLAB، Python و R) ذخیره شود. این تابع دارای دو ورودی می باشد که به ترتیب مسیری است که دادگان تست در آن ذخیره شده اند و قرار است که از آن مسیر load شوند و مسیری است که فایل .csv خروجی باید در آن ذخیره شود. فرم کلی این تابع به صورت زیر می باشد:

Test_function (load_data_path , save_path)

همچنین تمامی پارامترها و توابع مورد نیاز در تست مدل پیشنهادی در یک فایل zip در کنار تابع test_function آپلود شود و در حین تست در درون این تابع فراخوانی شوند.

به عنوان مثال مسیر ذخیره ی دادگان به صورت زیر داده می‌شود:

load_data_path = Desktop\test_challenge \test_0

و مسیر در نظر گرفته شده برای ذخیره فایل .csv به فرم زیر خواهد بود :

save_path= Desktop\test_challenge \test_0_out \sample.csv

دادگان .mat و .csv به فرمی که مانند شکل زیر است در مسیر load قرار گرفته‌اند و برای آشنایی بیشتر و چک کردن صحت عملکرد تابع test_function یک نمونه فایل نیز ارسال شده است.

توجه شود که هرچند ویژگی‌های ورودی این تابع به تعداد بیش از 100 نمونه زمانی دارند اما در خروجی این تابع می بایستی یک فایل .csv با دو ستون باشد که مقادیر محاسبه شده برای هر سهم را فقط در لحظه آخر در فایل .csv ذخیره نماید.  به بیان دیگر فایل .csv دارای دو ستون 100 تایی است که تنها خروجی لحظه ی آخر 100 سهم در آن قرار گرفته اند.

دادگان تست جدید به صورت سببی در اختیار شرکت کننده‌ها و در طی 10 روز (16 تا 25 شهریور) قرار خواهد گرفت، بدین صورت که به عنوان مثال در روز اول، آدرس مسیر ذخیره سازی داده های تست نمونه ی 1 تا 101، 1 تا 102،…، 1 تا 110 به ترتیب به عنوان ورودی تابع test_function داده می شود و در نتیجه تابع test_function  10 مرتبه فراخوانی خواهد شد  و خروجی 10 لحظه (101 تا 110) به دست خواهد آمد و ذخیره سازی می شود. سپس در پایان روز، 10 نمونه زمانی جدید به دادگان آموزش اضافه شده و به منظور تعلیم مجدد در اختیار شرکت کنندگان قرار داده خواهد شد. در مدت یک روز افراد می‌توانند مدل‌های خود را دوباره آموزش دهند و در سامانه بارگذاری مجدد نمایند. سامانه همواره آخرین مدل بارگذاری شده را برای انجام تست در نظر خواهد گرفت و روزانه راس ساعت 24 تمامی مدل‌ها را جمع‌آوری می‌نماید و به فرآیند تست‌گیری منتقل خواهد کرد و پس از آن 10 نمونه زمانی آموزشی جدید را در اختیار شرکت کنندگان خواهد گذاشت.

با توجه به اینکه تعداد دادگان تست به اندازه کافی هستند انتظار می‌رود مدل‌های برتر در صورت آموزش بدون overfit و بایاس روی دادگان تست فعلی، در دادگان تست جدید نیز همچنان عملکرد خوب و بالایی داشته باشند و رتبه‌بندی نهایی بر اساس امتیاز روی دادگان تست جدید خواهد بود که صحیح‌ترین تست ممکن می‌باشد و جای هیچگونه ابهامی نیز ندارد.

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

از 15 شهریور تیم‌های مجاز می‌توانند کدهای خود را بارگذاری نمایند و در صورت صحیح بودن ساختار کدها پیغام تاییدی به آن‌ها داده خواهد شد و در صورت بروز اشکال پیغام خطا را دریافت خواهند کرد و برای تصحیحات می‌توانند هماهنگی لازم را داشته باشند. از 16 شهریور نیز فرآیند تست‌گیری اجرایی خواهد شد.

برای تست‌گیری مدل‌ها امکان آپلود روزانه مدل تست فرآهم شده است. البته افراد می‌توانند به صورت حضوری نیز در روزهای 15 و 16 شهریور مراجعه نمایند. برای هر شرکت کننده در هربار فراخوانی کدها حدود 30 دقیقه فرصت تست در نظر گرفته شده است و در صورت نیاز به زمان بیشتر امکان مراجعه حضوری نیز فرآهم می‌باشد. همچنین دسترسی به GPU برای تست‌گیری از مدل نیز در صورت مراجعه حضوری وجود دارد.

test_0.zip

test_challenge.zip