Data Profiling
Data Profiling
Introduction
الفحص الشامل للبيانات يعتبر من أهم المراحل التمهيدية في أي مشروع تحليل بيانات .
قبل بدء أي تحليل يتم فحص البيانات ، بهدف فهم هيكل البيانات، أنواع المتغيرات، توزيع القيم، واكتشاف أي مشكلات محتملة مثل القيم المفقودة، المكررة، أو الشاذة قد تؤثر علي جوده التحليل.
من خلال هذه العملية، يمكن للمحلل تقييم جودة البيانات، تحديد الأعمدة الأساسية للتحليل، ووضع خطة منهجية لتنظيف وتحضير البيانات قبل البدء في استكشاف الأنماط أو استخراج المؤشرات الإحصائية او عمل تقارير .
Data Structure
- اول خطوه في ال Data Profilingهي التعرف على حجم البيانات وشكلها العام، وده بيشمل:
1- عدد الصفوف والأعمدة
Rows → عدد السجلات أو العمليات في البيانات.
مثال: لو عندك جدول مبيعات، كل صف = عملية بيع واحدة.
Columns → عدد المتغيرات أو الخصائص في البيانات.
مثال: Product, Date, Revenue, Quantity، إلخ.
2 – أسماء الأعمدة ودقتها
مهم جدًا تفهم كل عمود إيه وظيفته وماذا يمثل -الأعمدة لازم تكون واضحة ومعبّرة عن محتواها:
خطأ شائع: Column باسم Value مش محدد، صعب تعرف يقصد بيه إيه.
مثال:Revenue → الإيرادات من المبيعات |Quantity → عدد الوحدات المباعة
3 – العلاقات الأولية بين الأعمدة
بعض الأعمدة ممكن تكون مرتبطة ببعض:
مثال: Unit_Price × Quantity → ممكن تنتج Revenue.
معرفة العلاقات تساعدك تحدد المتغيرات الأساسية للتحليل.
4 – اكتشاف الأعمدة المكررة أو غير الضرورية
ممكن يكون في Column مش مفيد للتحليل أو مكرر:
مثال:Product_Name و Product_Description ممكن يكونوا محتوى متشابه.
إزالة الأعمدة غير الضرورية يخلي التحليل أنظف وأسرع.
Data Types
- عند التعامل مع أي ملف بيانات، أول خطوة أساسية قبل أي تحليل هي تحديد نوع كل عمود بشكل صحيح.
نوع البيانات هو اللي هيحدد هتعامل ازاي مع القيم: هل يمكن جمعها؟ فرزها؟ حساب متوسط لها؟ أم مجرد تصنيفها فقط؟
لو نوع البيانات غلط، التحليل كله ممكن يطلع مضلل حتى لو الأرقام شكلها صح.
1- البيانات الرقمية (Numeric)
تمثل القيم التي يمكن إجراء عمليات حسابية عليها integar (int) , float
مثلDiscount %, Revenue, Unit Price, Quantity:.
وفي مشكله بتحصل كتير : العمود يكون شكله أرقام لكنه متخزن كنص → التحليل الحسابي لا يعمل بشكل صحيح.
تستخدم في : Sum , Average , Comparisons .
2 – البيانات التصنيفية (Categorical)
هي بيانات وصفية تمثل فئات أو تسميات تعامل كنص Text .
مثل Customer Type, Channel, Governorate, Product Name:
تستخدم في : التجميع , الفلتره , مقارنات بين الفئات.
3 – بيانات التاريخ والوقت (Date / Time)
تمثل : تاريخ العمليه , وقت الطلب , سنه ,شهر ,يوم .
مثل: Order Date , Transaction Date
تستخدم في : تحليل الاتجاهات الزمنية, المقارنة بين الفترات, حساب النمو الشهري أو السنوي.
لو التاريخ متخزن كنص → لا يمكن استخدام Time Intelligence .
- ليه تحديد نوع البيانات مهم جدًا؟
يمنع أخطاء الحساب , الفلاتر والتجميعات تعمل بشكل صحيح , دقة الرسوم البيانية , ضروري لأي تحليل احترافي أو Dashboard
مثال: لو السعر متخزن كنص → Power BI أو Excel مش هيحسب الإجمالي صح، وPython هيطلع أخطاء أو قيم ناقصة.
Missing Values Detection
- القيم المفقودة يمكن أن تؤثر على النتائج بشكل كبير، لذا من الضروري:
1 – تحديد عدد القيم المفقودة لكل عمود.
2 – حساب نسبة Missing Values مقارنة بإجمالي الصفوف.
3 – تحليل سبب Missing Values، هل هي خطأ إدخال أم طبيعية.
هي خطوة أساسية لأنها بتضمن إن التحليل مبني على بيانات مكتملة ودقيقة، وبتمنع تشويه النتائج أو اتخاذ قرارات خاطئة بسبب قيم ناقصة أو غير ممثلة للواقع.
Duplicate Rows Detection
- الصفوف المكررة هي صفوف متطابقة تمامًا أو شبه متطابقة تم إدخالها أكثر من مرة داخل نفس مجموعة البيانات. وجودها قد يبدو بسيط، لكنه من أكثر الأسباب اللي بتخلي الأرقام تكبر أو تصغر بشكل غير حقيقي وقد تشوه التحليل وتجعل النتائج مضللة..
–ليه الصفوف المكررة مشكلة خطيرة؟
بتزوّد الإجماليات (زي المبيعات أو الكميات) بشكل وهمي
بتشوّه المتوسطات والنِسَب و بتدي انطباع غلط عن الأداء الحقيقي و بتخلي مؤشرات الأداء (KPIs) غير موثوقة.
صف مكرر واحد في بيانات صغيرة ممكن يغيّر نتيجة التحليل بالكامل.
-خطوات التعامل مع الصفوف المكررة:
1 – تحديد الصفوف المكررة
الخطوة الأولى إننا نعرف هل في تكرار فعلًا ولا لأ، وبيكون على:
كل الأعمدة أو أعمدة أساسية (زي Order ID + Date
2 – تحليل سبب التكرار
قبل الحذف لازم نفهم: هل التكرار ناتج عن خطأ إدخال؟ ولا دمج بيانات من أكتر من مصدر؟ ولا إعادة تحميل نفس الملف؟
مش كل تكرار لازم يتحذف، أحيانًا يكون منطقي.
و بعد التأكد إن التكرار غير صحيح، يتم الحذف للحفاظ على دقة التحليل.
إزالة الصفوف المكررة ليست خطوة تنظيف شكلية، لكنها خطوة تصحيح للواقع.
بدونها، كل الأرقام الناتجة قد تكون مضخّمة أو غير حقيقية، وبالتالي لا يمكن الاعتماد عليها في اتخاذ قرارات صحيحة.
Outliers Detection
- القيم الشاذة هي أي بيانات غير طبيعية قد تؤثر على التحليل:
قد تكون كمية سالبة أو سعر صفر أو رقم غير منطقي يتم الكشف عنها ب :
1 – Boxplots
2 – Standard Deviation Method أي قيمة خارج (Mean ± 3*Std)
3 – Domain Knowledge معرفة طبيعة البيانات
يجب وضع Outliers في الاعتبار قبل التحليل؛ يمكن تصحيحها، حذفها، أو التعامل معها بشكل منفصل.
Data Distribution Analysis
- فهم التوزيع الأساسي للبيانات يساعد في اختيار طرق التحليل والرسوم البيانية:
هو الخطوة اللي بتخلّينا نفهم شكل البيانات قبل ما نفسرها أو نبني قرارات عليها مش كفاية نعرف الرقم، المهم نعرف هو طبيعي؟ متطرف؟ متوازن؟ ولا متحيّز لفئة معيّنة؟
– Numeric Columns
عند تحليل الأعمدة الرقمية، إحنا بنحاول نفهم مدى انتشار القيم وشكلها العام.
Min أقل قيمة – بتوضح أقل رقم وصلته البيانات – تساعد في اكتشاف القيم الشاذة أو الأخطاء
Max أعلى قيمة – بتوضح أعلى رقم – مفيدة لمعرفة الحدود القصوى للأداء
Mean المتوسط الحسابي- بيعبر عن القيمة العامة – لكنه يتأثر بالقيم الشاذة
Median الوسيط – القيمة اللي في نص التوزيع – أدق من الـ Mean لما يكون في Outliers
Std الانحراف المعياري – بيقيس مدى تشتت القيم – كل ما زاد، كل ما البيانات أقل استقرارًا
الفكره هنا مش بنبص على رقم واحد، لكن بنقارن بين المؤشرات عشان نفهم التوزيع صح.
– Categorical Columns
في الأعمدة التصنيفية، الهدف هو فهم توزيع البيانات بين الفئات.
– المؤشرات الأساسية:
Count per Category – عدد السجلات في كل فئة – بيظهر الفئات المسيطرة أو الضعيفة
Mode أكثر فئة تكرارًا – الفئة الأكثر انتشارًا – بتعكس السلوك العام أو النمط الغالب
ده بيساعدنا نعرف: هل البيانات متوازنة؟ ولا في فئة واحدة مسيطرة؟ وهل المقارنات بين الفئات عادلة؟
هذه المرحلة تساعد المحلل على تحديد الأعمدة ذات التأثير الكبير والتي تستحق التركيز في التحليل القادم.
Documentation
تسجيل جميع الملاحظات أمر ضروري:
Missing Values – Duplicates – Outliers – Data Types – واي ملاحظات مهمه عن الاعمده .
توثيق Data Profiling يضمن إمكانية الرجوع لأي ملاحظة ويسهل عمليات Data Cleaning وEDA
وVisualization لاحقًا.
ال Data Profiling هو حجر الأساس لأي تحليل بيانات ناجح. من خلاله:
– نفهم هيكل البيانات وأنواع الأعمدة – نكتشف مشاكل البيانات قبل التحليل
– نستعد لمراحل Data Cleaning, EDA, Visualization, Predictive Analysis
– بدون Data Profiling، أي نتائج لاحقة قد تكون مضللة أو غير دقيقة، لذا تعتبر هذه العملية خطوة لا غنى عنها لكل محلل بيانات محترف.