الوحدة 5 — المتغيّرات الدورية والتواريخ والمُدد
التاريخ أغنى متغيّرات البيانات الواقعية وأسوأها استغلالًا. فهو بصورته الخامّ غير قابل للاستخدام؛ وإذا فُكّك تفكيكًا جيّدًا حمل موسميّات وعادات أسبوعية وآثارًا تقويمية. وتبيّن هذه الوحدة كيف يُفتَح، ولماذا تشترط حالةٌ خاصّة — الدورات — معالجةً غير متوقّعة.
تفكيك التاريخ: عمود يصير عشرة متغيّرات
الطابع الزمني الخامّ لا يعلّم النموذج شيئًا. فلا بدّ من استخلاص المكوّنات التي تحمل انتظامًا:
df["السنة"] = df["date"].dt.year
df["الشهر"] = df["date"].dt.month
df["يوم_الأسبوع"] = df["date"].dt.dayofweek # 0 = الاثنين
df["الساعة"] = df["date"].dt.hour
df["نهاية_أسبوع"] = df["يوم_الأسبوع"].isin([5, 6]).astype(int)
df["بداية_شهر"] = (df["date"].dt.day <= 5).astype(int)
ويجيب كلّ متغيّر من هذه عن سؤال عمليّ مختلف: فالسنة تلتقط اتّجاهًا عامًّا، والشهر موسميّة، ويوم الأسبوع عادات استهلاك، والساعة إيقاعات يومية. أمّا المؤشّرات الثنائية (نهاية الأسبوع، بداية الشهر) فتُجسّد آثار حدودٍ لا يجدها النموذج الخطّي وحده.
ويستحقّ متغيّران الإضافة متى سمح المجال: الأعياد الرسمية وفترات العطل المدرسية، وهما حاسمان في بيانات البيع والمرور والإقبال. وهما بيانات خارجية، لكنّ عائدهما يتجاوز كلفة الحصول عليهما دائمًا تقريبًا.