التنبؤ بدرجات الحرارة كل ساعة في القاهرة باستخدام نموذج GRU للتعلم العميق مُدرّب على بيانات الطقس التاريخية لثلاثة أشهر.
---
## نظرة عامة على المشروع
يتنبأ هذا المشروع بدرجات الحرارة كل ساعة للفترة **من 2 يوليو إلى 9 يوليو 2025** باستخدام:
- **بنية GRU مُركّبة** مُدرّبة على بيانات درجات الحرارة كل ساعة من 1 أبريل إلى 1 يوليو 2025.
- **نهج تنبؤ متعدد الخطوات** (تنبؤات على مدار 24 ساعة) استنادًا إلى 72 ساعة سابقة.
- تقييم واقعي بمقارنة التنبؤات بالقياسات الفعلية.
---
## الملفات المُضمنة
- `gru_forecast.ipynb` أو `gru_forecast.py`: الكود الرئيسي المُستخدم للتدريب والتنبؤ والتقييم.
- `requirements.txt`: حزم بايثون المطلوبة.
- `README.md`: وصف المشروع وهيكله.
- `images/temp_comparison_plot.png`: رسم بياني للمقارنة بين التوقعات والنتائج الفعلية.
---
## ? تفاصيل النموذج
- **نافذة الإدخال**: ٧٢ ساعة
- **أفق التنبؤ**: ٢٤ ساعة
- **البنية**:
- `GRU(١٢٨)` مع تسلسلات الإرجاع
- `Dropout(٠.٣)` لتقليل الإفراط في التجهيز
- `GRU(٦٤)`
- `Dense(٢٤)` للتنبؤ متعدد الساعات
- **المُحسِّن**: آدم
- **دالة الخسارة**: متوسط الخطأ التربيعي
- **استراتيجية التدريب**: التوقف المبكر لتجنب الإفراط في التدريب
---
## نتائج التقييم
بعد التدريب والمقارنة بدرجات الحرارة الفعلية لكل ساعة، حقق النموذج ما يلي:
- **متوسط الخطأ المطلق**: ٢.٩٧ درجة مئوية
- **RMSE**: ٣.٨٠ درجة مئوية

---
## ️ مصدر البيانات
تم تنزيل بيانات درجات الحرارة التاريخية والفعلية لكل ساعة من [Meteoblue](https://www.meteoblue.com) للقاهرة، مصر.
---
## كيفية الاستخدام
1. حمّل ملف CSV للتدريب لمدة 3 أشهر (أبريل - 1 يوليو).
2. حمّل ملف CSV لدرجة الحرارة الفعلية لكل ساعة (2-9 يوليو).
3. شغّل دفتر الملاحظات أو البرنامج النصي في Google Colab أو محليًا.
4. قارن التوقعات وحلّل الأداء.
---
## ️ المتطلبات
```txt
tensorflow
pandas
scikit-learn
matplotlib