| فایل اولیهی تمرین را میتوانید از [این لینک](/contest/assignments/103149/download_problem_initial_project/356098/) دانلود کنید. |
| --- |

سینا دانشجو است و همزمان سر کار هم میرود. با رسیدن فصل سرما و پدیدهی وارونگی هوا، او هر روز صبح با استرس اخبار را چک میکند. سینا به شدت امیدوار است که به دلیل آلودگی هوای تهران، دانشگاهها و ادارات تعطیل شوند و کلاسها و امتحاناتش به صورت مجازی برگزار شوند تا بتواند در خانه بماند و راحتتر به کارهایش برسد!
اما چک کردن اخبار به اندازه کافی سریع نیست و سینا میخواهد همیشه یک قدم جلوتر باشد. او تصمیم گرفته است با استفاده از دادههای هواشناسی، یک مدل هوش مصنوعی قدرتمند بسازد تا وضعیت آلودگی هوا را در روزهای آینده پیشبینی کند.
مأموریت شما به عنوان دانشمند داده، کمک به سینا است. شما باید با استفاده از یک مجموعه دادهی ساعتی شامل اطلاعات آبوهوایی، مدلی مبتنی بر ماشینلرنینگ یا سریزمانی طراحی کنید که بتواند بر اساس این ویژگیها، میزان غلظت ذرات معلق (AQI) را به دقیقترین شکل ممکن پیشبینی کند.
---
<details class="green">
<summary>**ساختار داده**</summary>
| **نام ستون** | **توضیحات** |
| --- | --- |
| `No` | شناسه یکتای ردیف (شماره رکورد) |
| `timestamp` | زمان و تاریخ ثبت رکورد به صورت یک رشته متنی |
| `AQI` | **(متغیر هدف):** غلظت ذرات معلق کمتر از ۲.۵ میکرون |
| `DEWP` | نقطه شبنم (سانتیگراد) |
| `TEMP` | دما (سانتیگراد) |
| `TEMP_F` | دما (فارنهایت) |
| `PRES` | فشار هوا (هکتوپاسکال) |
| `sensor_voltage` | ولتاژ سنسور اندازهگیری در زمان ثبت رکورد (میلیولت) |
| `cbwd` | جهت وزش باد غالب |
| `Iws` | سرعت تجمعی باد (متر بر ثانیه) |
| `Is` | ساعات تجمعی بارش برف |
| `Ir` | ساعات تجمعی بارش باران |
</details>
### معیار ارزیابی (Evaluation Metric)
سیستم داوری ابتدا میانگین قدرمطلق خطا (*MAE*) را بین پیشبینیهای شما و مقادیر واقعی در سیستم محاسبه میکند:
$$MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|$$
\**فرمول نمره نهایی:**
با توجه به نوسانات شدید شاخص آلودگی، نمره نهایی شما در جدول امتیازات با استفاده از یک تابع نمایی نزولی محاسبه میشود. این نمره یک عدد اعشاری خواهد بود که هرچه خطای شما کمتر باشد، به ۱۰۰ نزدیکتر میشود:
$$Final\_Score = 100 \times e^{-MAE / 100}$$
> در این فرمول، عدد 100 یک ضریب ثابت (C) است. با این معیار ارزیابی:
> - اگر مدل بینقصی بسازید و $MAE = 0$ باشد، نمره شما **۱۰۰** خواهد شد.
> - هرچه خطای شما بزرگتر شود، نمرهتان به صفر میل خواهد کرد.
---
### فرمت خروجی پیشبینیها
مدل شما باید برای تمام ردیفهای موجود در فایل تست (`test.csv`)، پیشبینیهای خود را انجام دهد. در فایل نوتبوک اولیه، کدی قرار داده شده است که خروجی مدل شما را در قالب فایلی به نام `submission.csv` ذخیره میکند. این فایل باید حتماً شامل دو ستون زیر باشد:
\* `No`: شناسه ردیف (دقیقا مشابه فایل تست)
\* `AQI`: پیشبینی شما برای غلظت آلودگی (AQI)
جدول زیر نمونهای از فایل خروجی را نشان میدهد:
| No | AQI |
|-----|-----|
| 35065 | 21.0 |
| 35066 | 63.0 |
| 35067 | 75.0 |
| 35068 | 10.0 |
| 35069 | 99.0 |
---
### نحوه ارسال پاسخ
پس از اجرای سلول جوابساز (آخرین سلول فایل نوتبوک)، فایل `result.zip` ساخته شده را ارسال نمایید. این فایل زیپ به صورت خودکار شامل نوتبوک شما و فایل `submission.csv` خواهد بود.
<details class="red">
<summary>**هشدار مهم**</summary>
توجه داشته باشید که پیش از اجرای سلول جوابساز، تغییرات اعمال شده در نوتبوک را با استفاده از کلید میانبر `ctrl+s` ذخیره کرده باشید؛ در غیر این صورت، در پایان مسابقه **نمره** شما ممکن است به درستی محاسبه نشود.
همچنین اگر از گوگل کولب (Colab) برای اجرای این فایل نوتبوک استفاده میکنید، قبل از ارسال فایل `result.zip`، آخرین نسخهی نوتبوک خود را دانلود کرده و به جای نوتبوک قبلی داخل فایل ارسالی قرار دهید.
</details>
The Mystery of Tehran's Air