تفاصيل العمل

## Time Series Forecasting with LSTM

### التنبؤ بالسلاسل الزمنية باستخدام الشبكات العصبية LSTM

هذا المشروع يستعرض استخدام **شبكات الذاكرة طويلة وقصيرة المدى (LSTM)** للتنبؤ بقيم مستقبلية ضمن سلسلة زمنية بدقة عالية. تم استخدام بيانات عالية الدقة تم جمعها كل 15 دقيقة، ويهدف المشروع إلى التقاط الأنماط التاريخية والتنبؤ بالخطوات الزمنية المستقبلية.

---

### ️ البيانات

* **الملف:** `D_15m_with_time.csv`

* **عدد العينات:** 35,424

* **كل عينة تمثل:** فترة زمنية مدتها 15 دقيقة

#### الأعمدة:

| العمود | الوصف |

| ------- | ----------------------------------------------- |

| `Date` | تاريخ التسجيل (مثال: 2018-03-28) |

| `Time` | توقيت التسجيل (مثال: 00:00:00) |

| `Count` | القيمة العددية التي سيتم التنبؤ بها (مثال: 123) |

---

### ? خطوات تنفيذ المشروع

#### 1. ? **المعالجة المسبقة للبيانات**

* دمج عمودَي `Date` و`Time` في عمود واحد `Datetime`.

* استخدام `MinMaxScaler` لتطبيع القيم بين 0 و1.

* إنشاء ميزات زمنيّة متأخرة (7 خطوات) لتمثيل الاعتماد الزمني.

#### 2. **تقسيم البيانات**

* **تدريب:** 80% (28,339 عينة)

* **تحقق:** 10% (3,542 عينة)

* **اختبار:** 10% (3,543 عينة)

#### 3. **تحسين المعلمات باستخدام ARDE-N-BEATES**

* خوارزمية ذكية لاستكشاف أفضل توليفة من المعلمات:

* عدد وحدات LSTM

* معدل التعلم

* حجم الدُفعة (Batch size)

* يتم تقييم كل مجموعة من المعلمات حسب **خسارة التحقق (Validation Loss)**، لاختيار الأفضل.

#### 4. ️ **تعريف النموذج وتدريبه**

* تعريف نموذج LSTM باستخدام المعلمات المُحسّنة.

* التدريب باستخدام إيقاف مبكر (Early Stopping) لتفادي الإفراط في التعلّم.

#### 5. **التنبؤ والتقييم**

* تنبؤ على مجموعة الاختبار.

* تقييم الأداء باستخدام المقاييس التالية:

| المقياس | القيمة |

| ------- | ------- |

| MSE | 2216.97 |

| MAPE | 7.07% |

| MAE | 32.51 |

| RMSE | 47.08 |

---

### المتطلبات

```bash

pip install tensorflow numpy pandas matplotlib seaborn scikit-learn statsmodels keras tslearn

```

---

### ▶️ طريقة التشغيل

1. تأكد من تثبيت Python 3.x.

2. ثبت الحزم المطلوبة (كما في الأعلى).

3. ضع ملف `D_15m_with_time.csv` في نفس مجلد دفتر Jupyter `base_15min.ipynb`.

4. افتح Jupyter Notebook:

```bash

jupyter notebook

```

5. شغّل خلايا الملف `base_15min.ipynb` بالترتيب.

---

### النتائج

تمكن النموذج LSTM بعد تحسين المعلمات باستخدام **ARDE-N-BEATES** من تحقيق أداء دقيق:

* **MSE:** 2216.97

* **MAPE:** 7.07%

* **MAE:** 32.51

* **RMSE:** 47.08

هذه القيم تشير إلى قدرة النموذج على التنبؤ بالقيم المستقبلية بدقة جيدة، مما يجعل هذا الحل مناسبًا للتطبيقات الزمنية ذات الدقة العالية.

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
13
تاريخ الإضافة
تاريخ الإنجاز
المهارات