الكاتب: sara

  • البيانات الضخمة وعلم البيانات: بين الخرافة والواقع


    ترجمة: بشرى محمد القاضي

    تدقيق: شروق السنان

     التصنيف : علم البيانات (عام)

    اكتسبت البيانات الضخمة أهمية كبرى في الآونة الأخيرة، ولعبت دوراً هاماً في العديد من القطاعات والمجالات لاسيما فيما يتعلق باتخاذ القرارات. ونتيجة لذلك الأثر خصوصاً على الناحية الاقتصادية، انجذب الكثيرون لهذا المصطلح الرنان والتوجه الجديد لدراسة البيانات، فأصبح مُتداولاً من قبل المختصين ومن ليس لديهم خلفية تقنية على حدٍ سواء. وبالرغم من هذا الاندفاع في استخدام مصطلح البيانات الضخمة وقضاء الوقت في تحليلها إلا أن البعض أساء فهمه واستخدامه كما يجب، فشمولية المصطلح جعلت من السهل استخدامه في غير محله واستغلاله بما يخدم أغراض وأهداف معينة. 

    تناقش هذه المقالة الشيقة ذلك اللبس الحاصل في استخدام البيانات الضخمة أو كما أطلق عليها الكاتب الخرافات الأكثر شيوعاً. 

    أولاً: الحجم هو كل ما يهم 

    ليس من المستغرب أن يربط الكثير من الأشخاص البيانات الضخمة بعامل الحجم فقط فكلمة “ضخمة” بديهياً تشير إلى الحجم بكل تأكيد ويعتبر مقياساً سهلاً وواضحاً بعكس بقية العوامل التي يغفل عنها الكثيرون عند الحديث عن البيانات. قد يتوارد للذهن أن ذلك لا يشمل علماء الحاسب والمتخصصين لكن لسوء الحظ فالحجم أداة سهلة وسريعة لتصنيف البيانات إلى ضخمة وغير ضخمة فمن السهل حساب عدد وحدات البايت في مخازن البيانات، ومن السهل أيضاً عرض سلسلة من هذه القياسات على رسم بياني يوضح مقدار النمو. كل ذلك، إضافة لأسباب اقتصادية، جعل “الحجم” المقياس الأهم والوحيد لنتأكد أن لدينا بيانات ضخمة تستحق الدراسة والحديث عنها. فهل حقاً عامل الحجم يستحق أن يحظى بهذا الاهتمام دون غيره؟ 

    قبل عدة سنوات اقترحت مجموعة جارتنر نظرية “3Vs” الشهيرة لإدارة البيانات الضخمة والتي تأخذ في الاعتبار ثلاثة عوامل أساسية وهي الحجم والسرعة والتنوع (volume, velocity, and variety) حيث يشير الحجم إلى كمية البيانات، وتشير السرعة إلى سرعة معالجة البيانات بينما يشير التنوع إلى تنوع البيانات المستخرجة. في الآونة الأخيرة، تم اقتراح إضافة عامل رابع وهو صحة وموثوقية البيانات (veracity) وأعيد تسمية النظرية لتصبح “4Vs”. وبالرغم من شهرة هذه النظرية إلا أن الكثير لا يزال يتجه مباشرة لمناقشة عدد البيتابايت عند الحديث عن البيانات. 

    لا ننكر أن الحجم والسرعة قد يمثلان تحدياً حقيقياً في بعض الحالات لكن التنوع وصحة البيانات يمثلان تحدياً أكثر صعوبة. أحد الأسباب التي جعلت من تنوع وصحة البيانات عوامل غير مغرية لاعتمادها عند تقييم البيانات، هو أنه لا يوجد مقياس واضح لأي منهما وبالتالي يصعب متابعة التقدم فيهما. فعلى سبيل المثال، ليس من الصعب تطوير نظام مبتكر يستطيع التعامل مع بيانات أكبر حجماً ومقارنته بالمنافسين، وذلك لسهولة الاستناد على قياسات واضحة لمقارنة حجم البيانات مع المنافسين. لكن في المقابل لن يكون الأمر بهذه السهولة عند الحديث عن عامل التنوع في البيانات حيث يجب التفكير جيدًا في كيفية قياس هذا النموذج بالمقارنة مع المنافسين دون أن يبدو هذا النظام وسيلة للتسويق لا أكثر. وكما هو الحال مع عامل تنوع البيانات، فإن موثوقية البيانات تشكل تحدياً آخر، ونادراً ما تكون معالجة موثوقية البيانات وصحتها أسهل بل كلاهما يشكلان تحدياً لكن ذلك لا يلغي أهميتها وقد حان الوقت ليكون حديثنا عن البيانات الضخمة أكثر عدلاً وشمولية. 

    ثانياً: يعد ابتكار بنى تحتية وخوارزميات جديدة التحدي الرئيسي في البيانات الضخمة

    على الرغم من معرفتنا بنظرية العوامل الأربعة “4Vs” إلا أننا لا زلنا كثيراً ما نتساءل بشأن المعيار الذي يحدد ضخامة البيانات من عدمها. بالنسبة للتنوع وموثوقية البيانات نعلم أن هذا ليس سؤالاً قابلاً للإجابة، لغياب المقاييس الواضحة في المقام الأول. أما من ناحية الحجم والسرعة نجد أن المعيار لضخامة البيانات عند أغلب الناس يتوقع على ما نستطيع التعامل معه من الناحية التقنية. من الواضح أن هذا المعيار متغير لاعتماده على ما نملك من إمكانيات وخوارزميات حديثة وذلك قد يحد من حجم السوق. بناء على ذلك فمعيار ضخامة البيانات من وجهة نظر الكاتب هو أكثر مما نعرف ونفهم نحن كبشر، فالسياق هو ما يحدد هل لدينا بيانات ضخمة أم لا. قد تبدو بعض البيانات مفهومة وبسيطة من أول نظرة لكن معالجة العدد الهائل منها قد يخفي العديد من التحديات والتعقيدات سواء ما يخص التصميم أو الروابط بين العناصر. إنّ تجاوز هذه التحديات بحد ذاته يجعل منها بيانات ضخمة. 

    قد نستطيع شراء أنظمة أحدث، ومعالج أسرع، وأقراص أكبر، لكن القدرة البشرية لا تتطور بنفس السرعة. تشكل البيانات الضخمة تحدياً هائلاً للتفاعل البشري. ومن الجيد أن نرى عدد من الدراسات الحالية المثيرة للاهتمام في مجال البيانات الضخمة تعمل على تسهيل هذا التفاعل البشري. 

    ثالثاً: معالجة البيانات الضخمة تتمركز حول تحليلها 

    يتصور العديد من الأشخاص نظام البيانات الضخمة كبرنامج سحري يأخذ البيانات كمدخلات وينتج لنا استنتاجات ورؤى عميقة كمخرجات. وقد يناسب هذا التصور بعض الشركات والباحثين كأسلوب تسويقي للعمل الذي يقومون به. لكن كمختصين ندرك تماماً أن معالجة البيانات الضخمة لا تقتصر على خوارزميات تعلم الآلة فقط بل تحمل في طياتها الكثير من القرارات والتحديات لكي نحصل على نتائج واقعية ومرضية. 

    تبدأ هذه السلسلة من القرارات في مرحلة مبكرة من المشروع أولها تحديد نوع البيانات التي تنوي جمعها وتسجيلها وكيفية الاستفادة المثلى من البيانات غير المثالية. يليها اتخاذ قرارات لتمثيل البيانات بطريقة مناسبة للتحليل وذلك بعد استخراجها وتنظيفها ودمجها مع المصادر الأخرى. حتى مرحلة التحليل، والتي لقيت اهتماماً كبيراً، لا تخلو من التفكير واتخاذ القرارات التي قد يصعب على البعض استيعابها. وأخيراً ربما تكون مرحلة فهم النتائج وتفسيرها هي الأكثر أهمية فمنها تنطلق قرارات التغيير والتطوير. لذلك حتى نلمس أثر التغيير ونضيف قيمة حقيقية يجب أن نفهم ونثق في النتائج التي تم الحصول عليها أولاً فغياب ذلك قد تدفع ثمنه لاحقاً. 

    رابعاً: إعادة استخدام البيانات حل سهل ويوفر الكثير 

    غالباً ما يكون لدينا بيانات تم جمعها سابقاً لغرض ما وقد تبدو إعادة استخدامها لغرض آخر خيار مغري للتخلص من تكاليف جمع البيانات مرة أخرى. في الواقع قد يكون من غير الممكن تجنب إعادة الاستخدام في بعض الحالات خصوصاً ما يتعلق بالبيانات التاريخية والتي لا يمكن العودة بالزمن لجمعها مرة أخرى. في حين أنها قد تكون فرصة مقنعة، إلا أن استغلالها يتطلب منا الانتباه لأمور عدة قبل اتخاذ القرار بإعادة الاستخدام. أولها مدى توافق البيانات مع غرض البحث أو المشروع الحالي ومن المهم كذلك تواجد النسخة الأصلية من البيانات وقت إعادة الاستخدام والأخذ بالاعتبار مدى الترابط والعلاقة بينها. يجب أيضاً فهم البيانات جيداً حتى يمكن إعادة استخدامها، والذي عادة يتطلب بيانات وصفية كافية أو ما تسمى (metadata)، والتي يغفل المسؤول عن جمع البيانات عن إرفاقها في المقام الأول. وذلك يشمل معرفة تحت أي ظروف تم الحصول على البيانات، وباستخدام أي الأدوات، وأساس اختيار العينة. كل هذه المعطيات ستعرف من خلالها مدى ملاءمة تلك البيانات لمشروعك. إضافة لما سبق غالباً ما تكون البيانات التي تم جمعها سابقاً غير متوافقة مع الاستخدام الحالي من حيث التمثيل والنوعية. قد يسهل تحويلها ومعالجتها أحياناً لكن يظل بعضها يعاني مشاكل جوهرية. باختصار إعادة استخدام البيانات أمر حاسم ومجاله واعد ولكنه يطرح العديد من الأسئلة الصعبة والتي تم الالتفات لها مؤخراً. 

    خامساً: علم البيانات هو نفسه البيانات الضخمة 

    إن القدرة على جمع وتحليل كميات هائلة من البيانات أحدثت ثورة في طريقة إجراء البحث العلمي والتطوير. ويستخدم مصطلحي علم البيانات والبيانات الضخمة بطريقة تبادلية لدى كثير من الناس بسبب التداخل الحاصل بينهما. لكن التركيز على منطقة التقاطع بينهما وأوجه الشبه سيحد بلا شك من إمكانيات كل منهما والقيمة التي تضيفها. أبسط اختلاف بينهما يكمن في المنظور، فالبيانات الضخمة تركز على معالجة خصائص البيانات وإدارتها وتبدأ عملها من هناك في حين أن علم البيانات يركز على استخدام البيانات واستخراج الفائدة منها ولا يتطلب خبرة عميقة فيما يتعلق بتخزين البيانات وإدارتها. يُستخدم علم البيانات لوصف الظواهر الطبيعية والاجتماعية وتفسيرها والتنبؤ بها من خلال تطوير أساليب لتصنيفها وتحليلها. نقطة أخرى جديرة بالملاحظة هو أنه من الممكن القيام بعلوم البيانات دون استخدام البيانات الضخمة، والعكس صحيح. وبالطبع لا شيء يمنع علم البيانات من استخدام البيانات الضخمة، بل في الواقع يحدث ذلك كثيراً لكن ينبغي أن يحافظ كل منهما على معناه والهدف منه.  

    سادساً: البيانات الضخمة ضجة مؤقتة 

    كان تحليل البيانات موجودًا منذ فترة طويلة، وقواعد البيانات أيضاً. إذن ما الذي تغير؟ لماذا مُنحت البيانات الضخمة اهتماماً خاصاً في هذا الوقت بالذات؟ هل هو مجرد ضجيج عابر أم أن خلفه أسباب معينة أثارته؟  

    بالنظر إلى الاهتمام الكبير الذي يولى للبيانات الضخمة، ليس بالمستغرب أن تتبادر للأذهان هذه الأسئلة. لكن لو أمعنا التفكير لوجدنا أن جمع البيانات وتخزينها أصبح اليوم أقل تكلفة بصورة لم تكن مألوفة من قبل، بفضل التطور التقني الذي نعيشه، وأتمتة العمليات التجارية، وشبكة الإنترنت، وانخفاض أسعار الوسائط. نتيجة لذلك أصبحت أغلب المجالات غنية بالبيانات فاتجه التركيز لاستغلالها واكتشاف إمكانياتها. 

    في نفس الوقت بدأنا تدريجياً ندرك بعض العواقب للبيانات الضخمة، وانكشف الستار عن خصوصية البيانات وأخلاقيات تحليلها. الأخطاء والتجاوزات من هذه الناحية قد تؤدي إلى تقليص إمكانياتها ولكن باستثناء ذلك تظل البيانات الضخمة مادة دسمة وغنية وجديرة بالاهتمام. 

    Paper Title:

    Jagadish, H. V. (2015). Big data and science: Myths and reality. Big Data Research, 2(2), 49-52.‏
    

  • التباين في اتجاهات الجريمة بين الأحياء

    ترجمة: محمد كامل

    تدقيق: شروق السنان

    التصنيف: علم البيانات والعلوم الجنائية

    يعتبر علم البيانات من العلوم المتداخلة مع المجالات الأخرى حيث ساهم هذا التداخل إلى تحقيق نتائج مهمة في كثير من المجالات كالطبية والعلمية والإدارية وغيرها. يتميز هذا العلم باستخدام الأساليب العلمية والخوارزميات الرياضية لاستخراج الأنماط المميزة من البيانات والتي قد تساعد في تفسير الكثير من الظواهر والمشكلات من خلال الاستناد على النظريات العلمية المستمدة من مجال التطبيق. وعلى الرغم من النتائج الواعدة التي حققها هذا العلم في الكثير من المجالات، إلا أن تطبيقاته في بعض المجالات النظرية كالعلوم الاجتماعية والجنائية تكاد تكون محدودة. ولتسليط الضوء على تطبيقات هذا المجال في العلوم النظرية نتطرق في هذا الملخص إلى النتائج والأنماط التي يمكن الحصول عليها عند تحليل بيانات الجريمة خلال فترة زمنية معينة.

    يهدف هذا البحث إلى استكشاف التباين المحلي في انخفاض مستوى الجريمة على مستوى الأحياء من خلال دراسة طولية لبيانات الجريمة في مدينة غلاسكو، اسكتلندا، خلال أربعة عشر عاما ً في الفترة من 1998/1999 إلى 2012/2013. حيث شهدت المدينة خلال هذه الفترة انخفاضًا في معدل الجرائم بنسبة 39.7 ٪. يحاول هذا البحث استكشاف الأنماط المميزة لاتجاهات الجريمة (ويقصد بأنماط الجريمة هنا طريقة تغير معدلات الجريمة في منطقة ما خلال فترة زمنية معينة) كما يقدم تحليلا ً لخصائص الأحياء التي قد يكون لها تأثير على مستوى الجريمة كالفقر والبطالة ونسبة المراهقين وغيرها مما يقدم نتائج مهمة سواء ً للأبحاث المستقبلية التي تسعى لدراسة العوامل المؤثر في انخفاض الجريمة أو تطوير الاستراتيجيات الأمنية التي تهدف إلى الحد من الجريمة.

    يركز هذا البحث على التساؤلات التالية: أولا ً، هل شهدت جميع الأحياء انخفاضا ً متقاربا ً في مستوى الجريمة؟ أم أن هناك تباينا ً بين الأحياء في اتجاهات الجريمة. ثانيا ً، ماهي خصائص الأحياء التي يرتفع فيها مستوى الجريمة؟ وهل هناك علاقة بين التغير في خصائص الأحياء ومستويات الجريمة خلال فترة الدراسة؟

     لاكتشاف الأحياء التي تتشابه في اتجاهات الجريمة تم استخدام (Latent Class Growth Analysis LCGA)

    ولقياس العلاقة بين التغير في خصائص الأحياء واتجاهات الجريمة تم حساب التغير النسبي بين السنة الأولى والسنة الأخيرة لكل متغير. ومن ثم مقارنة متوسط التغير ومجال الثقة لكل فئة ومقارنة هذا التغير مع جميع الفئات لتحديد الاختلافات المهمة إحصائياً.

    أظهرت نتائج التجميع ست عشرة مجموعة تمثل مسارات الجريمة الرئيسية خلال فترة الدراسة حيث تحتوي كل مجموعة على الأحياء المتشابهة من ناحية اتجاهات الجريمة (انظر الشكل أدناه). رُتبت المجموعات من ١ إلى ١٦ حسب التغير النسبي في مستوى الجريمة حيث تضم المجموعة ١ الأحياء الأعلى في معدلات الجريمة بينما تضم المجموعة ١٦ الأحياء الأكثر انخفاضاً في معدل الجريمة. ولدراسة المجموعات بشكل أدق، تم تصنيف المجموعات إلى أربع فئات رئيسية على النحو التالي: الفئة العالية، الفئة المنخفضة، الفئة المتدنية، الفئة المتنوعة. تحتوي الفئة العالية على الأحياء التي شهدت معدل جريمة أعلى بخمسة أضعاف من متوسط معدل الجريمة في منطقة الدراسة. كما تحتوي الفئة المنخفضة على الأحياء التي شهدت معدل جريمة أقل من متوسط معدل الجريمة في منطقة الدراسة بنسبة ٣٠٪ على الأقل. أما الفئة المتدنية فتضم الأحياء التي شهدت انخفاضا ً حادا ً في مستوى الجريمة بنسبة ٥٥٪ مقارنة بمعدل انخفاض الجريمة على مستوى المدينة (٣٩.٧٪). أخيرا ً، تحتوي الفئة المتنوعة على الأحياء التي شهدت تغير نسبي متنوع في مستوى الجريمة.

    خلال فترة الدراسة، انخفض معدل الجريمة في جلاسكو بنسبة ٣٩.٧٪، في حين تراوحت نسبة الانخفاض عبر فئات الأحياء الأربعة من -٢٥.٩٪ إلى -٦١.٣٪ مما يشير إلى تباينٍ كبيرٍ بين هذه الفئات. يتبادر إلى الذهن التساؤل التالي: ما هي الأحياء التي كان لها الأثر الأكبر في خفض مستوى الجريمة؟ هذا ما سنعرفه من خلال النتائج التالية.

    يمكن تمييز الاختلافات بين فئات الأحياء من خلال مساهمتها في انخفاض إجمالي مستوى الجريمة على مستوى المدينة. فبالنظر إلى الفئة العالية والتي تضم ما نسبته ١.٦٪ من إجمالي عدد الأحياء، فقد ساهمت بخفض معدل الجريمة على مستوى المدينة بنسبة ٧.١٪. أما الفئة المنخفضة فقد ضمت ١٦.٤٪ من الأحياء وساهمت في خفض معدل الجريمة بنسبة ٤.٢٪. أما الفئة المتدنية فقد ضمت ٢٥.٣٪ من الأحياء وساهمت بخفض معدل الجريمة بما يقارب ٥٠٪ من معدل انخفاض الجريمة. أما الفئة المتنوعة فقد ضمت ٥٦.٧٪ من الأحياء وساهمت في معدل الانخفاض بنسبة ٣٩٪. مما يعني أن الأحياء الواقعة في الفئة المتدنية كان لها المساهمة الأكبر في خفض نسبة الجريمة على مستوى المدينة.

    بعد اكتشاف هذا التباين في معدل انخفاض الجريمة بين الأحياء ومدى مساهمة كل منها في خفض معدل الجريمة، يظهر تساؤلٌ هامٌ حول ماهية العوامل التي كان لها الأثر في هذا التباين. بشكل عام لطالما كانت دراسة العوامل المؤثرة على معدل الجريمة محل اهتمام الباحثين في علم الاجتماع وعلم الجريمة. ومع هذا التطور في وسائل جمع البيانات من قبل منظمات التعداد الوطني والانفتاح على مشاركتها، أتاحت فرصا ً للمهتمين بدراسة الجريمة للتعمق بدراسة مسبباتها والعوامل المؤثرة على اتجاهاتها.

    في هذا البحث، تم اختيار مجموعة من المتغيرات بناءً على تأثيرها على مستوى الجريمة في الأبحاث السابقة وبناء ً على توفرها على مستوى الوحدة المكانية المراد دراستها (الوحدة المكانية في هذا البحث: الأحياء). تم الحصول على هذه البيانات عن طريق مركز التعداد الوطني لعامي 2001 و 2011، حيث يمثلان أقرب نقطتين لبداية ونهاية فترة الدراسة. المتغير الأول: الحرمان، ولقياس مستوى الحرمان تم استخدم عاملين حسب المؤشر الأسكتلندي لقياس مستوى الحرمان هما: متوسط دخل الأسرة، ونسبة السكان الذين لم تتوفر لهم فرصة عمل. العامل الثاني: الملكية، وتم حسابها من خلال نسبة السكان الذين يملكون مساكنهم، ونسبة المستأجرين من إجمالي عدد السكان. العامل الثالث، تركيبة الأسرة: وتم حسابها من خلال نسبة الأسر التي تتكون من شخص واحد، وكذلك الأسر من والد واحد وهي الأسر التي تتكون من أم أو أب مع وجود الأطفال. العامل الرابع: التركيبة العمرية: وتم حسابها من خلال نسبة الشباب في الحي (للأعمار ١٦-٢٤) ونسبة كبار السن (عمر ٥٥ وأعلى). أخيرا ً، لقياس تأثير عوامل جذب الجريمة، تم حساب نسبة عناوين المحلات التجارية من إجمالي العناوين في كل حي.

    بعد تحليل خصائص الأحياء ومقارنتها بين الفئات المختلفة ظهرت عدة نتائج مثيرة للاهتمام. حيث أظهرت هذه النتائج أن الأحياء في الفئة المنخفضة – من حيث معدلات الجريمة –  سجلت أعلى نسبة من الملاك، وأعلى نسبة من الأسر التي لديهم أطفال وأقل نسبة من السكان الشباب الذين تتراوح أعمارهم بين (١٦ و ٢٤) مقارنة بالفئات الأخرى. وعلى العكس، أظهرت النتائج أن الفئة العالية – من حيث معدلات الجريمة – يغلب عليها السكان من فئة الشباب ومن العاطلين عن العمل، كما  تضم أقل نسبة من السكان الملاّك، أو الأسر التي لديها أطفال)، بالإضافة إلى أعلى نسبة من المحلات التجارية. ولدراسة علاقة التغير النسبي بين خصائص الأحياء واتجاهات الجريمة فقد تم تحليل مدى التغير في هذه الخصائص بين السنة الأولى والسنة الأخيرة من فترة الدراسة ومدى علاقة ذلك بالتغير في معدل الجريمة. لقد أظهر هذا التحليل عدة نتائج مهمة قد تساعد في تفسير التغير في اتجاهات الجريمة في كل فئة. فعلى سبيل المثال، لقد شهدت جميع الفئات زيادة ً في مستوى السكان المستأجرين ولكن أقل زيادة كانت في الأحياء الواقعة ضمن الفئة المنخفضة و الفئة المتدنية. أيضا ً، سجلت جميع الفئات زيادة ً في متوسط دخل الأسرة ولكن الزيادة الأعلى كانت من نصيب الأحياء التي تقع في الفئة المنخفضة. بعد رصد هذه النتائج يتبادر إلى الذهن السؤال التالي: كيف يمكن لهذه الدراسة أن تساهم في فهم التباين في انخفاض الجريمة بين الأحياء؟ وماهي التوصيات التي يمكن أن تساهم في دعم قرارات التدخل الأمني لتكون أكثر كفاءة وأكثر فعالية؟

    أولا ً، تشكل الأحياء في الفئة العالية والفئة المتدنية ما نسبته ١٢.٤٪ من إجمالي الأحياء وساهمت في انخفاض معدل الجريمة بنسبة ٣٣.١٪ من إجمالي الانخفاض على مستوى المدينة. لذلك، فينبغي أن تولي الأجهزة الأمنية اهتماما ًبهذه الأحياء بسبب تأثيرها الأكبر على التحكم بمستوى الجريمة. كما تشكل هذه الأحياء أهمية كبرى لدى الجهات المسؤولة لبحث محركات اتجاهات الجريمة فيها. 

    ثانيا ً، في الأبحاث التي تدرس تغيرات مستوى الجريمة غالبا ً ما يعزى هذا التغير إلى علاقته بالتغيرات الاقتصادية والديموغرافية والديناميكية الاجتماعية. وقد بنيت هذه التفسيرات في الأساس على نظريات الفوضى الاقتصادية والاجتماعية  لدراسة معدلات الجريمة ونمطها المكاني. ولكن، عندما تفسر  العلاقة بين مستوى الجريمة والتغير في خصائص الأحياء فينبغي أن تفسر هذه العلاقة بحذر لأن العوامل التي تم تحليلها في هذا البحث قد لا تشمل جميع العوامل التي لها تأثير مباشر أو غير مباشر على نمط التغير في مستوى الجريمة. 

    تتسق خصائص الأحياء التي تقع في الفئة المنخفضة والفئة العالية مع التفسيرات النظرية للجريمة والتي ترتكز على نظرية الفرص (Opportunity theory) ونظرية الفوضى الاجتماعية (Social Disorganization Theory). فقد أظهرت النتائج أن أحياء الفئة العالية سجلت أعلى مستوى من عناصر جذب الجريمة مثل المباني التجارية، مما يزيد من فرص التقاء الضحايا والجناة وبالتالي زيادة فرص ارتكاب أنواع مختلفة من الجرائم. أيضا ً، تعتبر هذه الأحياء هي الأكثر حرمانًا من الناحية الاقتصادية  مما يعطي دافع أكبر لارتكاب الجريمة. بالإضافة إلى ذلك، سجلت هذه الأحياء أعلى مستوى من المساكن المستأجرة مما يضعف التماسك الاجتماعي بين السكان (Social Cohesion) والسكان الذين تتراوح أعمارهم بين 16 و 24 عامًا، حيث أن جميع هذه العوامل مرتبطة بزيادة الفوضى الاجتماعية. في المقابل، أظهرت الأحياء في الفئة المنخفضة خصائص  معاكسة للفئة العالية مما يدعم تفسير انخفاض الجريمة في هذه الأحياء.

    أخيرا ً، أشار الباحثون إلى العديد من الأفكار للأبحاث المستقبلية. أولا ً، حينما تشهد الأحياء في الفئة العالية والفئة المتدنية خصائصا ً مختلفة ومستقرة خلال فترة الدراسة فهذا يزيد من أهمية دراسة العوامل التي تتحكم باتجاهات الجريمة في تلك الأحياء. ثانيا ً، لدعم الأبحاث التي تهتم بدراسة العوامل المؤثرة على اتجاهات الجريمة ينبغي جمع وتحليل المزيد من العوامل الاجتماعية والاقتصادية والبيئية. ثالثا ً، إن النتائج التي توصل إليها الباحثين مستمدة من تحليل مستوى الجريمة بشكل عام بدون التركيز على نوع معين من الجرائم وبالتالي فإن حجم الجريمة واتجاهاتها والعوامل المؤثرة عليها قد يختلف اختلافًا جذريا ً بين أنواع الجرائم المختلفة. لذلك، فإن التركيز على نوع معين من الجرائم قد يكشف اختلافا ً سواء ً في أنماط تطور الجريمة أو العوامل المؤثرة عليها.

    ***

    Paper Title:

    Bannister, J., Bates, E., & Kearns, A. (2018). Local variance in the crime drop: A longitudinal study of neighbourhoods in greater Glasgow, Scotland. The British Journal of Criminology, 58(1), 177-199.‏

  • تحليل انتشار المعلومات المضللة حول فايروس كورونا


    ترجمة: بتول الحماده

    تدقيق: شروق السنان

    نظرة عامة:

    في منتصف فبراير أعلنت منظمة الصحة العالمية أن جائحة الفيروس التاجي الجديد كانت مصحوبة بتفشي المعلومات الخاطئة، وأيدها في ذلك العديد من الصحفيين والسياسيين والأكاديميين الذي أكّدوا أن التضليل حول العلوم والتكنولوجيا والصحة لا يُعد أمراً جديداً أو مقتصراً على COVID-19 ، خصوصاً مع تزامنها مع أزمة صحية غير مسبوقة، حيث أنّ المعلومات الخاطئة حول الوباء تشكل خطراً جسيماً على الصحة والإجراءات العامة.

    وصفت كريستينا تاردجويلا المديرة المساعدة للشبكة الدولية لتقصي الحقائق (IFCN) فايروس COVID-19 على أنّه أكبر تحدي واجهه مدققو الحقائق على الإطلاق، حيث توسعت وسائل الإعلام بعمل تغطيات إعلامية مكثفة عن الوباء، في حيث شددت الشركات وبعض منصاب التواصل الاجتماعي على معايير المجتمع او مايعرف بـ community standards للحد من انتشار المحتوى المضلل، كما أنشأت بعض الحكومات – كالمملكة المتحدة وغيرها – وحدات حكومية مختلفة لمواجهة المحتوى الضار المحتمل جرّاء هذه الجائحة.

    تستخدم منصات التحقق عينة من عمليات فحص الحقائق او مايعرف بـ fact-checks لتحديد بعض الأنواع الرئيسية والمصادر والمزاعم الخاصة بتضليل معلومات COVID-19 التي شوهدت حتى الآن. و بالاستناد على تحليلات (Hollowood and Mostrous 2020; EuVsDIS 2020; Scott 2020)، نقوم بدمج تحليل المحتوى المنهجي للادعاءات التي تم التحقق منها بشأن الفيروس والوباء، مع بيانات وسائل التواصل الاجتماعي التي تشير إلى حجم ونطاق التفاعل (engagements) مع هذه الادعاءات.

    حصل الباحثون على ٢٢٥ عينة من المعلومات المضللة التي جمعتها First Draft News بالاستناد إلى مدونة حاسوبية (corpus) لعمليات فحص الحقائق باللغة الانجليزية، مع التركيز على المحتوى المصنف على انه كاذب أو مضلل، وتتضمن هذه المدونة مجموعة من المقالات حتى نهاية شهر مارس ومصدرها الشبكة الدولية لتقصي الحقائق (IFCN) وأدوات Google لتقصي الحقائق. قام الباحثون بتقييم منهجي لكل عينة وترميزها ومن ثم تصنيف نوع المعلومة المضللة ومصدرها والمزاعم التي تحتويها و الدافع من وراءها.

    بالإضافة إلى ذلك، جمعت بيانات التفاعل لكل عينة بهدف قياس مستوى الوصول والتفاعل مع البيانات المضللة في وسائل التواصل الاجتماعي. وأظهرت نتائج الدراسة أن 88٪ من المعلومات المظللة مصدرها منصات التواصل الاجتماعي، بينما 9 ٪ من العينة فقط مصدرها التلفاز، و8 ٪ من  وكالات الأنباء، و7 ٪ من مواقع أخرى متفرقة. 

    عندما نتحدث عن المعلومات المضللة او الخاطئة، فإننا نستند على المعلومات التي تم تصنيفها على أنها كاذبة أو مضللة من قبل مدققي حقائق محترفين.

    في حين يعد فحص الحقائق طريقة موثوقة لتحديد المعلومات المضللة، إلا أن عمل مدقق الحقائق لا يتضمن بالضرورة معالجة كل معلومة مضللة، كما قد يتضمن عملهم بعض المحابات في الاختيار من مصادر دون الأخرى، بالإضافة إلى ذلك، فإن مدققو الحقائق لديهم صلاحيات محدودة في الوصول إلى المعلومات الخاطئة التي تنتشر في القنوات الخاصة (Graves 2016) كالتي يتم مشاركتها عن طريق البريد الالكتروني، والمجموعات المغلقة، والرسائل الخاصة، وما إلى ذلك. 

    لذلك، تُعدّ بيانات التفاعل مع مشاركات وسائل التواصل الاجتماعي التي تم تحليلها مؤشراً على مشاركة أوسع مع المعلومات الخاطئة والتعرض لها سواء عبر الانترنت أو غيره. وبالرغم من احتمالية تكرر المطالبات ونشرها في حسابات متعددة  غير مدرجة في هذه العينه، إلا أنّ بيانات التفاعل والمشاركة تعد مؤشراً إلى حدٍ ما على إمكانية الوصول للمطالبات المختلفة.

    وبالتالي، فإن هذا التحليل ليس شمولياً حيث أنه لم يتم فحص المعلومات المضللة المنتشرة عبر منصات مشاركة الصور وتطبيقات المراسلة، أو مواقع مثل Reddit، أو عبر وسائل الإعلام أو الاتصالات الحكومية، كما أنه ليس شاملاً كونه يركز على عينة من فحوصات الحقائق باللغة الإنجليزية فقط، إلا أننا نعتقد أن هذا التحليل هو خطوة للأمام لفهم حجم ونطاق المشاكل التي نواجهها.

    النتائج الرئيسية:

    في هذه الورقة البحثية ، تم تحديد بعض الأنواع الرئيسية والمصادر والمطالبات الخاصة بالمعلومات الخاطئة أو المضللة حول COVID-19 في فترة جمع البيانات. قام الباحثون بتحليل عينة مكونة من 225 عينة من المعلومات التي تم تصنيفها على أنها خاطئة أو مضللة من قبل مدققي الحقائق ونشرت باللغة الإنجليزية بين يناير ونهاية مارس 2020، مستمدة من مجموعة من عمليات فحص الحقائق التي جمعتها First Draft News.

     

    تحتوي هذه الصورة على سمة alt فارغة؛ اسم الملف هو Picture-2.png

     

    • من حيث الحجم، و استجابة للنمو في حجم وتنوع المعلومات الخاطئة، فقد زاد عدد عمليات التحقق من المعلومات المتعلقة بـ COVID-19 بشكل كبير خلال الأشهر الثلاثة الماضية كما هو موضح في (الشكل 1). يبدو أن العديد من منافذ التحقق من الحقائق حول العالم تكرس الكثير من وقتها ومواردها للكشف عن الادعاءات بشأن الوباء. ومع ذلك، تواصل منظمات التحقق من الحقائق العثور على ادعاءات جديدة للتحقيق، وتكشف عن كمية كبيرة من المعلومات الخاطئة المتداولة.

     

    تحتوي هذه الصورة على سمة alt فارغة؛ اسم الملف هو Picture-3.png

     

    • فيما يتعلق بشكل التحريف، فقد لُوحظ أنه عوضاً عن تحريف المعلومات بشكل كامل، فإن المعلومات الصحيحة يتم تحريفها جزئياً لتغيير المحتوى أو تضمينها في سياق خاطئ لتحريف المعنى. توصل الباحثون إلى أنّ 59٪ أي معظم المعلومات الخاطئة في العينة تتضمن عناصر متنوعة لمعلومات مزيفه أو معاد صياغتها، في حين تمثّل 38٪ من العينة معلومات مُختلقة وغير صحيحة. وعلى الرغم من تزايد مستويات القلق في الآونة الأخيرة حول المعلومات المضللة بما يخص فايروس كورونا،  إلا أنه لا يوجد أمثلة على التزييف العميق في العينة كالمعلومات المُحرّفة بشكل كامل، أو المعلومات التي تم اختلاقها آلياً باستخدام أدوات الذكاء الاصطناعي، عوضاً عن ذلك، يتضمن المحتوى الذي تمت معالجته “تزييف رخيص” تم إنتاجه باستخدام أدوات أبسط بكثير كتلك المستخدمة في تنقيح وتحرير الصور والأفلام. تمثل المعلومات الخاطئة التي أعيدت صياغتها 87٪ من تفاعلات الوسائط الاجتماعية في العينة؛ بينما بلغت نسبة المحتوى الملفق 12٪ فقط.

     

    تحتوي هذه الصورة على سمة alt فارغة؛ اسم الملف هو Picture-٤.png

     

    • فيما يتعلق بمصادر المعلومات الخاطئة، فقد أظهرت النتائج أنّ مصدر انتشار المعلومات المضللة قد يكون من الأشخاص المؤثرين (من الأعلى إلى الأسفل)، أو العكس (من عامة الناس وصولاً للأشخاص الأكثر تأثيراً) على حدٍ سواء. وشكلت المعلومات الخاطئة (من الأعلى إلى الأسفل) كتلك التي تصدر من المؤثرين السياسيين والمشاهير وغيرهم من الشخصيات العامة البارزة 20٪ فقط من الادعاءات في العينة، إلا أنّه لُوحظ أن هذه النسبة البسيطة كانت سبباً في 69٪ من إجمالي المشاركات والتفاعل في وسائل التواصل الاجتماعي. وبالرغم من ذلك، لا يمكن الاستهانة إطلاقاً بتأثير المعلومات المضللة التي تبدأ من (الأسفل إلى الأعلى) حيث أن غالبية المعلومات الخاطئة على وسائل التواصل الاجتماعي جاءت من عامة الناس وبالرغم من أن معظم هذه المنشورات تولد مشاركة وتفاعل أقل بكثير من تلك الصادرة من مشاهير أو سياسيين، إلا أن بعض هذه المشاركات تسببت في تفاعل ملحوظ عبر وسائل التواصل الاجتماعي. ويصعب تحديد القوى المحركة لمثل هذه المشاركات المضللة من العامة حيث أن أسبابها تكون مبهمة في أغلب الأحيان.

     

    تحتوي هذه الصورة على سمة alt فارغة؛ اسم الملف هو Picture-5.png

     

    • فيما يتعلق بالمطالبات في العينة، فإن أكثر المطالبات شيوعًا كانت تتعلق بالإجراءات أو السياسات التي تتخذها السلطات العامة لمعالجة COVID-19 ، سواء كانت الحكومات الوطنية / الإقليمية / المحلية الفردية ، أو السلطات الصحية، أو الهيئات الدولية مثل منظمة الصحة العالمية والأمم المتحدة (انظر الشكل 4).

    أما النوع الثاني الأكثر شيوعًا من الادعاءات فهو يتعلق بانتشار الفيروس من خلال المجتمعات. وقد تراوح ذلك بين الادعاءات المتعلقة بالمناطق الجغرافية التي شهدت الإصابات الأولى للفايروس، إلى المحتوى الذي يركز على لوم جماعات عرقية معينة لنشر الفايروس.

    وتجدر الإشارة إلى أن المعلومات الخاطئة حول الإجراءات الحكومية وانتشار الفيروس بشكل عام تشكل تحدياً وعائقاً كبيراً في وجه المعلومات الرسمية التي تحاول السلطات العامة المختلفة إيصالها للناس سواء كان ذلك لإعلان سياساتها المباشرة أو توفير معلومات عامة ملحة. وبالرغم من أن بروز وشهرة المواضيع المتعلقة بالفيروس قد يجعل وظيفة المدققين أسهل في التحقق من صحة المعلومة إلا أنه قد يكون مؤشراً على أن بعض الحكومات لم تنجح في تقديم معلومات واضحة ومفيدة وموثوقة لمعالجة الأسئلة العامة الملحة، ولا شكّ أن غياب المعلومات الكافية من الحكومات والجهات الرسمية قد يتسبب في سد تلك الثغرات بمعلومات خاطئة ومضللة في الفهم العام، كما قد يتسبب في فقد الثقة في الحكومات ويحول دون رغبة الأفراد بالاتصالات الرسمية مع الجهات المعنية للتحقق بشأن هذه الأمور.

     

    تحتوي هذه الصورة على سمة alt فارغة؛ اسم الملف هو Picture-6.png

     

    • فيما يتعلق بالردود، فقد استجابت منصات وسائل التواصل الاجتماعي لغالبية المنشورات التي تم تصنيفها على أنها كاذبة او مضللة من قبل مدققي الحقائق بإزالتها أو إرفاق تحذيرات مختلفة حولها. ومع ذلك، فإن هناك اختلافاً كبيراً من شركة إلى أخرى فيما يتعلق بالتفاعل مع البلاغات، حيث نجد أن المشاركات التي تم تصنيفها على أنها خاطئة في عينة البحث من قبل مدققي الحقائق لا تزال منتشرة على تويتر بنسبة  59٪، وعلى YouTube بنسبة 27٪، وفي Facebook بنسبة 24٪ وجميعها من المحتوى المصنف بالكاذب أو المضلل في العينة بدون إضافة أي تحذير.

    النتائج والتوصيات:

    يشير هذا التحليل إلى أن المعلومات الخاطئة حول COVID-19 تتنوع في أشكالها ومصادرها المختلفة، وتقدم العديد من الادعاءات. وفي الغالب يتم تحريف المحتوى الحالي الصحيح والموثوق بدلاً من ابتداعه بالكامل، وحتى عندما يتم التلاعب بالمحتوى، فإن ذلك يتم باستخدام أدوات بسيطة.

    وبالنظر لنطاق وخطورة الوباء، تلعب وسائل الإعلام المستقلة ومدققو الحقائق والإجراءات التي تتخذها المنصات وغيرها دوراً مهماً في معالجة المعلومات الخاطئة المتعلقة بالفيروسات. يمكن أن يساعد مدققو الحقائق في فرز المحتوى الخاطئ من الحقيقي، والتدقيق حول الادعاءات المضللة.

    تشير النتائج التي تم التوصل إليها إلى أن الكثير من المعلومات الخاطئة بشكل مباشر أو غير مباشر تشكك في إجراءات أو كفاءة السلطات العامة (بما في ذلك الحكومات والسلطات الصحية والمنظمات الدولية) ونشير إلى أنه سيكون من الصعب على تلك المؤسسات معالجتها أو تصحيحها بشكل مباشر دون مواجهة مشاكل متعددة. في المقابل، يمكن أن يقدم مدققو الحقائق المستقلون تحليلاً موثوقاً للمعلومات الخاطئة ومساعدة المنصات على تحديد المحتوى المضلل والمثير للمشاكل، تماماً مثلما يمكن لوسائل الإعلام المستقلة أن تقدم تقارير موثوقة حول استجابة الحكومات (بدرجات متفاوتة من النجاح) للوباء.

    يتضح أيضًا من خلال هذا التحليل إلى أن الشخصيات العامة البارزة تواصل لعب دور كبير في نشر المعلومات الخاطئة حول COVID-19. بالإضافة إلى ذلك، فإنه على الرغم من أن نسبة قليلة فقط من المعلومات المضللة الفردية في النموذج المستخدم تأتي من سياسيين بارزين ومشاهير وشخصيات عامة أخرى، إلا أن هذه الادعاءات غالباً ما تتمتع بمستويات عالية جداً من المشاركة والتفاعل في مختلف منصات وسائل التواصل الاجتماعي. 

    ربما تساعد الرغبة المتزايدة لبعض وسائل الإعلام في كشف أكاذيب السياسيين البارزين لمواجهة ذلك (على الرغم من أنها تخاطر بإقصاء أقوى مؤيديها). وبالمثل، فإن القرار الذي اتخذته Twitter وFacebook وYouTube في أواخر شهر مارس لإزالة المنشورات التي نشرها الرئيس البرازيلي يير بولسونارو لاحتوائها على معلومات مضللة عن الفيروس التاجي، كان لحظة مهمة في كيفية تعامل شركات ومنصات التواصل الاجتماعي مع المشكلة المتمثلة في كون جزء من المعلومات الخاطئة قد يأتي من القمة.

    إن الخطر الرئيسي من تجاهل تنوع المعلومات الخاطئة والمضللة للفيروسات التاجية هو بافتراض أنه يمكن أن يكون هناك حل واحد لهذه المشاكل مجتمعة، والبديل لهذا الاعتقاد الخائي هو ما توصلت إليه نتائج هذا البحث، حيث أنه لن تكون هناك رصاصة فضية أو “علاج” وحيد للتضليل حول الفيروس التاجي الجديد. لذا، فإن معالجة انتشار المعلومات الخاطئة حول COVID-19 ستحتاج إلى جهد مستمر ومنسق من قبل مدققي الحقائق المستقلين ووسائل الإعلام الإخبارية المستقلة والشركات والمنصات والسلطات العامة لمساعدة الجمهور على فهم هذا الوباء.

    ***

    Brennen, J. S., Simon, F., Howard, P. N., & Nielsen, R. K. (2020). Types, sources, and claims of Covid-19 misinformation. Reuters Institute7, 3-1.‏

  • خوارزمية K-means للتجميع بلغة R (درس تطبيقي)

    ترجمة: محمد العنزي

    تدقيق: فاضل حمود

    تعتبر خوارزميات التجميع (Clustering) من أشهر الخوارزميات في مجال تعلم الآلة من النوع الغير موجه (Unsupervised Learning). تتمحور فكرة هذا النوع من الخوارزميات حول تجميع عناصر البيانات في مجموعات متعددة بناء ً على التشابه بين هذه العناصر. تُستخدم هذه الخوارزميات في العديد من المجالات كمشاريع تنقيب البيانات و اكتشاف الأنماط وتحليل الصور والمعلوماتية الطبية وغيرها. 

    هناك العديد من خوارزميات التجميع تتشابه في أهدافها وتختلف بطرق عملها كخوارزمية الاتصال، والنقطة المركزية، والتوزيع والتجميع المبني على الكثافة وغيرها. في هذا الدرس، سنسلط الضوء على خوارزمية K-means  والتي تعتبر من أشهر خوارزميات التجميع القائم على النقطة المركزية ومن ثم سننطلق سويا في تطبيق عملي لهذه الخوارزمية على بيانات شركة أوبر في مدينة نيويورك. تحتوي هذه البيانات على العديد من المعلومات كنقطة انطلاق الركاب والتاريخ والوقت ومدة الرحلة والمعلومات الجغرافية. نهدف في هذا الدرس إلى معرفة الخطوات العملية عند تطبيق هذا النوع من الخوارزميات والتعرف على النتائج المهمة التي من الممكن الحصول عليها. 

    عند الحديث عن أنواع خوارزميات التجميع فيمكننا تقسيم عمليات التجميع إلى قسمين رئيسيين:

    الأول: التجميع الصارم (Hard clustering) والذي يسمح للعنصر بالانتماء إلى مجموعة واحدة على الأكثر. فعلى سبيل المثال في بيانات أوبر التي سنعمل عليها يتم توزيع كل نقطة انطلاق إلى حي واحد فقط من الأحياء الخمسة. 

    الثاني: التجميع المرن (Soft clustering)، ويعني إمكانية وجود نفس العنصر في أكثر من مجموعة ومثال ذلك في البيانات التي سنعمل عليها أن بعض المواقع قد تقع على الحد بين حيين فتكون منتمية ً إلى آكثر من مجموعة. 

    خوارزمية ال K-Means:

    في هذا الدرس سنطبق خوارزمية K-means على مجموعة ضخمة من بيانات الرحلات من شركة أوبر في مدينة نيويورك والتي تم جمعها خلال ستة أشهر. تحتوي هذه البيانات الخام على معلومات انطلاق الركاب كالتاريخ والوقت ومدة الرحلة ونقطة الانطلاق. تتكون مدينة نيويورك من خمسة أحياء وهي: بروكلين و كوينز و مانهاتن و برونكس و جزيرة ستاتن. خلال هذا الدرس، سنستكشف هذه البيانات بشكل أدق من خلال تطبيق خوارزمية ال K-Means وتجميع نقاط الانطلاق لمعرفة أكثر الأحياء طلبا ً للخدمة. بالإضافة إلى ذلك، يعطينا هذا الدرس تصورا ً حقيقيا ً للخطوات الرئيسية عند العمل على هذا النوع من مشاريع علم البيانات ابتداء ً من تجهيز البيانات ومرورا ً بتنفيذ الخوارزميات وانتهاءً باستعراض النتائج. 

    فهم المشكلة:

    تعتبر البيانات المرورية في المدن من أهم مصادر البيانات التي يفهم من خلالها طبيعة سير الحركة المرورية ومناطق الازدحام في المدينة كالمناطق السكنية والمدارس والطرق السريعة وأماكن العمل. وتكمن أهمية هذا النوع من البيانات في المعلومات التي يمكن الاستناد عليها عند تخطيط المدن وإدارة الحركات المرورية وفرض القواعد واللوائح المناسبة وفقا ً لذلك.  

    وتتضح أهمية هذا النوع من البيانات من خلال جمعها على فترات زمنية طويلة ومن ثم تحليلها. يساعد هذا النوع من التحليل الجهات المعنية على تحديد أوقات الذروة و الحركة المرورية في مواسم الإجازات وتأثير الطقس على مختلف الأماكن الجغرافية مما يساعد على زيادة كفاءة التخطيط وأخذ التدابير اللازمة لإدارة المرور. إضافة إلى ذلك، يعتبر هذا النوع من البيانات مصدرا ً مهما لتجنب الكوارث المرورية وإعادة توجيه حركة المرور عند وقوع الحوادث. ولكن هدفنا في هذا الدرس هو التعرف على كيفية تطبيق خوارزميةK-Means  وتحديد الأحياء الأكثر طلبا ً لخدمة أوبر في مدينة نيويورك. 

    فهم البيانات:

    سنستخدم بيانات الرحلات من شركة أوبر لعام ٢٠١٤ والتي يمكن تحميلها من الرابط المشار إليه في بداية الدرس:

    سنستخدم خلال هذا الدرس عدة حزم والتي نستطيع أن نثبتها بسهولة عن طريق استخدام الأمر ( )install.packages

    نبدأ الخطوة الأولى من هذا الدرس بتحميل البيانات:

     ("apr14 <-read.csv("https://raw.githubusercontent.com/fivethirtyeight/uber-tlc-foil-response/master/uber-trip-data/uber-raw-data-apr14.csv
    ("may14 <- read.csv("https://raw.githubusercontent.com/fivethirtyeight/uber-tlc-foil-response/master/uber-trip-data/uber-raw-data-may14.csv
    ("jun14 <- read.csv("https://raw.githubusercontent.com/fivethirtyeight/uber-tlc-foil-response/master/uber-trip-data/uber-raw-data-jun14.csv
    ("jul14 <- read.csv("https://raw.githubusercontent.com/fivethirtyeight/uber-tlc-foil-response/master/uber-trip-data/uber-raw-data-jul14.csv
    ("aug14 <- read.csv("https://raw.githubusercontent.com/fivethirtyeight/uber-tlc-foil-response/master/uber-trip-data/uber-raw-data-aug14.csv
    sep14 <- read.csv("https://raw.githubusercontent.com/fivethirtyeight/uber-tlc-foil-response/master/uber-trip-data/uber-raw-data-sep14.csv")

    في الخطوة التالية سنقوم بجمع البيانات سويا ً في مكون واحد حتى تسهل معالجتها والتعامل معها عن طريق الدالة ( )bind_rows من مكتبة dplyr. 

    (library(dplyr
    (data14 <- bind_rows(apr14, may14, jun14, jul14, aug14, sep14

    الآن لنأخذ نظرة على ملخص البيانات عن طريق الأمر التالي:

    (summary(data14

      Date.Time              Lat             Lon             Base        
     Length:4534327     Min.   :39.66   Min.   :-74.93   B02512: 205673  
     Class :character   1st Qu.:40.72   1st Qu.:-74.00   B02598:1393113  
     Mode  :character   Median :40.74   Median :-73.98   B02617:1458853  
                                           Mean   :40.74   Mean   :-73.97   B02682:1212789        ...........  
                                         3rd Qu.:40.76   3rd Qu.:-73.97   B02764: 263899 ................... 
                                Max.   :42.12   Max.   :-72.07...                  

    كما نلاحظ من خلال الملخص السابق، تحتوي البيانات على الأعمدة التالية:

    Date.Time: ويحتوي على بيانات تاريخ ووقت بداية الرحلة 

    Lat: ويحتوي على بيانات خطوط العرض لنقطة الانطلاق 

    Lon: ويحتوي على بيانات خطوط الطول لنقطة الانطلاق 

    Base: يحتوي على بيانات الرمز الأساسي للشركة TLC 

    تحضير البيانات

    سنعمل في هذه الخطوة على تحضير البيانات وإعادة ترتيبها بحيث يمكننا العمل عليها بسهولة. كما سنتحقق في الخطوة التالية من وجود البيانات المفقودة

    (library(VIM
    
    # دالة 'aggr' تصور لنا كمية البيانات المفقودة في كل عمود 
    (aggr(data14

    كما نلاحظ في الشكل السابق، يظهر لدينا أن البيانات لا تحتوي على أي بيانات مفقودة. ولكن علينا أن نتذكر بأن هذه ليست الحالة الطبيعية في البيانات حيث أن التعامل مع البيانات المفقودة جزء أساسي من عملية تنظيف وتحضير البيانات. هناك العديد من الطرق للتعامل مع البيانات المفقودة من أشهرها حذف الصفوف أو الأعمدة التي تحتوي على بيانات مفقودة أو استبدال البيانات المفقودة بالقيمة المتوسطة (mean). ولكن ينبغي التأكيد على أنه لا توجد طريقة واحدة صحيحة للتعامل مع البيانات المفقودة بما في ذلك الطرق التي تم التطرق لها.

    يحتوي العمود الأول Date.Time على بيانات التاريخ والوقت معا ً، ولاستخدام هذه القيم سنحتاج إلى فصل هاتين القيمتين. ولعمل ذلك، سنستخدم مكتبة lubridate . والتي تسهل علينا اختيار الترتيب المرغوب به لعرض التاريخ (سنة، شهر، يوم). 

    (library(lubridate
    
    (data14$Date.Time <- mdy_hms(data14$Date.Time
    (( data14$Year <- factor(year(data14$Date.Time
    ((data14$Month <- factor(month(data14$Date.Time
    ((data14$Day <- factor(day(data14$Date.Time
    ((data14$Weekday <- factor(wday(data14$Date.Time
    ((data14$Hour <- factor(hour(data14$Date.Time
    ((data14$Minute <- factor(minute(data14$Date.Time
    ((data14$Second <- factor(second(data14$Date.Time

    الآن دعونا نلقي نظرة على شكل البيانات النهائي من خلال استعراض الصفوف الأولى:

    (head(data14, n=10
    

    لقد قمنا بعمل جميع التعديلات اللازمة والتي تساعدنا على فهم البيانات وتجهيزها لتكون مناسبة لتطبيق خوارزمية K-Means  

    في الخطوة التالية سنقوم بتقسيم البيانات إلى مجموعتين: مجموعة التدريب، ومجموعة الاختبار. وتعتبر هذه الخطوة من الخطوات الأساسية في مشاريع علم البيانات والعمل على خوارزميات تعلم الآلة (تدريب الخوارزمية على مجموعة التدريب ومن ثم اختبارها باستخدام مجموعة الاختبار). ولتتضح الصورة أكثر دعونا نأخذ هذا المثال، عند العمل على خوارزميات التجميع فإن هذا التقسيم مطلوب لتحديد العوامل المهمة مثل K  والذي يمثل عدد المجموعات في خوارزمية K-Means. ولكن في هذا الدرس فإننا نعرف مسبقا أن عدد المجموعات يساوي 5، والتي تمثل عدد الأحياء في مدينة نيويورك.

    وقبل أن نبدأ بتطبيق خوارزمية ال K-Means دعونا نتعرف على كيفية عمل هذه الخوارزمية. تعتبر خوارزمية K-Means من أشهر خوارزميات التجميع غير الموجه في مجال تعلم الآلة والتي تستخدم لتقسيم البيانات إلى عدد معين من المجموعات يشار له بالحرف K. كما أن K هنا يمثل عدد المجموعات والذي ينبغي تحديدها من قِبل المستخدم قبل تنفيذ الخوارزمية. في هذا الدرس نعرف مسبقا ًعدد المجموعات التي نريدها وعددها 5 والتي تمثل أحياء مدينة نيويورك وهذا يجعل خوارزمية K-Means  خيارا ً مناسبا ً لبيانات هذا الدرس. 

    ملاحظة حول خوارزميات التجميع:

    في هذا الدرس نستخدم خوارزمية التجميع لتصنيف نقاط انطلاق رحلات أوبر إلى عدة مجموعات مختلفة (تمثل المجموعات الأحياء الرئيسية في مدينة نيويورك). ولكن ينبغي أن نشير إلى أن خوارزميات التجميع تعتبر أداة من أدوات استكشاف البيانات والتي يمكن من خلالها اختبار هذه البيانات والتعرف عليها وكيفية توزيعها ولكن لا ينصح بالاعتماد الكلي عليها كأداة موثوقة لتصنيف البيانات حيث أنها ليست الطريقة الوحيدة لاستكشاف البيانات. 

    أما طريقة عمل خوارزمية ال K-Means فتقوم بداية على تحديد عدد المجموعات المرغوب بها ومن ثم يتم توزيع البيانات على هذه المجموعات من خلال تقليل التباين بين عناصر المجموعة الواحدة (ويعرف بالتباين الكلي داخل المجموعة). تُقسَّم البيانات إلى عدد k من المجموعات ويتم تصنيف كل عنصر في البيانات إلى المجموعة ذات النقطة المركزية الأقرب (المتوسط)، حيث تمثل النقطة المركزية الأساس الذي يتم عليه تقسيم البيانات وتصنيفها ولهذا أتت التسمية k-means clustering. وتتم عملية التصنيف باتباع الخطوات التالية:

    1. بعد اختيار عدد المجموعات المرغوب به يتم تحديد نقطة مركزية K لكل مجموعة (متوسط كل مجموعة).
    2. إسناد العناصر المراد تصنيفها إلى إحدى هذه المجموعات وذلك بقياس بعد العنصر من وسط كل مجموعة ومن ثم ضمه إلى المجموعة الأقرب.
    3. بعد إسناد جميع العناصر، يتم إعادة حساب النقطة الوسطى K (متوسط العناصر) لكل مجموعة ومن ثم إعادة الاسناد بناء ً على المتوسط الجديد.
    4. تكرار الخطوة 2 و 3 حتى تصل الخوارزمية لحالة الثبات وتعني استقرار العناصر في المجموعات من خلال إسنادها إلى المجموعة الأقرب. 

    والآن بعد أن استعرضنا طريقة عمل خوارزمية ال K-Means نظريا ً، لنبدأ بتطبيقها عمليا ً:

    لتنفيذ خوارزمية K-Means في R  نستخدم الدالة kmeans() . بداية ً، نقوم بتحديد قيمة k ب 5 (عدد الأحياء). خيار الseeds هنا يسمح بإنشاء نقطة بداية للأرقام التي يتم إنشاؤها عشوائيًا ، بحيث يساعد على الحصول على نفس النتيجة في كل مرة يتم فيها تشغيل الكود.

    (set.seed(20
    (clusters <- kmeans(data14[,2:3], 5
    
    #  في الخطوة التالية نقوم بإضافة عمود Borough لحفظ رقم الجموعة لكل عنصر
    (data14$Borough <- as.factor(clusters$cluster
    #  نتعرف على تفاصيل نتائج التجميع من خلال الأمر التالي 
    (str(clusters

    الصور السابقة تمثل نتائج خوارزمية K-Means وأبرز نتائجها ما يلي:

    Cluster : متجه من الأعداد الصحيحة (من 1: k) يشير إلى المجموعة التي تم تخصيص كل نقطة لها.

    Centers: مصفوفة تحتوي على النقاط المركزية للمجموعات (Cluster centers).

    Withinss: متجه يحتوي على sum of squares داخل المجموعة، وهناك مكون واحد لكل مجموعة.

    Tot.withniss: مجموع squares sum داخل المجموعة ((sum(withinss).

    Size: عدد العناصر في كل مجموعة.

    في الخطوة التالية، سنحاول تمثيل هذه النتائج رسوميا ً:

    الأحياء (المجموعات) التي تم تشكيلها مطابقة للأحياء الحقيقية. رقم المجموعة يتوافق مع المناطق التالية:

    1. برونكس
    2. مانهاتن
    3. بروكلين
    4. ستيتن ايلاند
    5. كوينز
    (library(ggmap
    
    (NYCMap <- get_map("New York", zoom = 10
    ggmap(NYCMap) + geom_point(aes(x = Lon[], y = Lat[], colour = as.factor(Borough)),data = data14) +
      ("ggtitle("NYC Boroughs using KMean

    كما نرى، فإن النتائج رائعة جدًا. يتضح لدينا هنا نتائج خوارزمية k-mean والتي من خلالها استطعنا تصنيف نقاط انطلاق رحلات أوبر في مدينة نيويورك لمدة ستة أشهر. والآن، مالذي يمكننا معرفته من خلال هذه النتائج؟ على سبيل المثال يمكننا استخدام هذه النتائج لعرض معدل نمو طلبات أوبر داخل الأحياء لكل شهر لمعرفة أكثر الأحياء طلبا ً لخدمة أوبر من خلال الخطوات التالية:

    (library(DT
    
    (data14$Month <- as.double(data14$Month
    month_borough_14 <- count_(data14, vars = c('Month', 'Borough'), sort = TRUE) %>% 
      (arrange(Month, Borough
    (datatable(month_borough_14

    وللاطلاع على نتائج تحليل نمو الطلبات لكل حي بشكل أسهل، دعونا نمثلها على شكل رسم بياني من خلال الأمر التالي:

    (library(dplyr
    monthly_growth <- month_borough_14 %>%
      mutate(Date = paste("04", Month)) %>%
      ggplot(aes(Month, n, colour = Borough)) + geom_line() +
      (ggtitle("Uber Monthly Growth - 2014"
    monthly_growth

    من خلال النتائج السابقة، يظهر لدينا بأن حي بروكلين و ستيتن آيلاند هما الأكثر طلبا ً لخدمة أوبر وكذلك الأعلى نموا ً خلال هذه الفترة.

    في الختام وكما رأينا في الخطوات السابقة، فإن خوارزمية K-means من الخوارزميات التي تُنَفذ بسهولة وتعطي نتائج رائعة. ولكن، فإن هذه الخوارزمية لا تخلو من بعض السلبيات كما هو الحال في جميع الخوارزميات الأخرى. أول هذه السلبيات هو ضرورة تحديد عدد المجموعات كخطوة أساسية عند تطبيق هذه الخوارزمية. و كما لاحظتم فلم نواجه تحديا ً كبيرا ً عند تحديد عدد المجموعات في هذا الدرس بسبب معرفتنا المسبقة بعدد الأحياء في نيويورك. ولكن هذه ليست الحالية الطبيعية في جميع البيانات لذلك يُشَكل تحديد عدد المجموعات الأمثل تحديا ً إضافيا ً عند العمل على خوارزمية K-means و هناك عدة طرق يمكن من خلالها تحديد العدد الأمثل لعدد المجموعات لعلنا نتطرق لها في الدروس القادمة. من السلبيات أيضا ً أنها تتأثر بالقيم المتطرفة (outliers) مما قد يحدث تغيرا ً بالنتائج عند إعادة ترتيب البيانات.

    في نهاية هذه الدرس، ما تم إنجازه يعطينا لمحة سريعة عن عالم التعليم الغير موجه في مجال تعلم الآلة، تعلمنا سويا ً كيفية تطبيق بعض الخوارزميات المستخدمة في مشاريع علم البيانات وأخذنا مثالا ً عمليا ً على تصنيف نقاط انطلاق رحلات أوبر في أحياء نيويورك من خلال استخدام خوارزمية K-means. كما أخدنا مثالا ً على كيفية الاستفادة من مثل هذه النتائج لمعرفة أكثر الأحياء نمواً في طلبات خدمة أوبر. في الدروس القادمة سنتعمق أكثر في هذه المجالات من خلال دروس تطبيقية نستطيع من خلالها اكتساب المهارات اللازمة للعمل على مثل هذه المشاريع.

    Reference

    Datacamp/tutorials/by: Sejal Jaiswal

  • استخدام البيانات الضخمة لتحسين أداء الأسواق المركزية (تجربة ولمارت)

    ترجمة: فاضل حمود

    مراجعة: شروق السنان

    مدخل

    تعتبر سلسلة متاجر وول مارت بأنها عملاق قطاع التجزئة في العالم وأكبر شركة في العالم من حيث الإيرادات، بأكثر من مليوني موظف و 20 ألف متجر في 28 دولة حول العالم.

    بعمليات بهذا الحجم فإنه ليس من المستغرب أن أدركوا منذ فترة طويلة القيمة الموجودة في تحليلات البيانات. في عام 2004م، عندما ضرب إعصار ساندي الولايات المتحدة، وجدوا أن رؤى غير متوقعة يمكن أن تظهر عند دراسة البيانات ككل، وليس كمجموعات فردية منفصلة. في محاولة للتنبؤ بالطلب على إمدادات الطوارئ في مواجهة اقتراب إعصار ساندي، قدمت رئيسة قسم المعلومات Linda Dillman  بعض الإحصائيات المفاجئة. بالإضافة إلى المصابيح اليدوية ومعدات الطوارئ، أدى سوء الأحوال الجوية المتوقع إلى زيادة في مبيعات كعك الفراولة في عدة مواقع أخرى. تم إرسال إمدادات إضافية منها [كعك الفراولة] إلى المتاجر في مسار إعصار فرانسيس في عام 2012م، وحققت مبيعات جيدة للغاية، مما دفع شركة وول مارت إلى تطوير قسم جديد لتحليل البيانات الضخمة لتحافظ على هذا التقدم وتبقى دائماً بالصدارة. في عام 2015م، أعلنت الشركة أنها بصدد إنشاء أكبر سحابة بيانات خاصة في العالم، لتمكين معالجة 2.5 بيتابايت من المعلومات كل ساعة.

    ما هي التحديات التي تساعد البيانات الضخمة في حلها في هذا القطاع؟

    تبيع الأسواق المركزية (Supermarkets) ملايين المنتجات لملايين الأشخاص يومياً. إنها صناعة تنافسية جداً ويعتمد عليها نسبة كبيرة من الناس الذين يعيشون في العالم المتقدم لتزويدهم بالأساسيات اليومية. لا تتنافس الأسواق المركزية على السعر فحسب، بل تتنافس أيضًا في خدمة العملاء والراحة والحيوية. إن وجود المنتجات المناسبة في المكان المناسب وفي الوقت المناسب، حتى يتمكن الأشخاص المناسبين من شرائها، تمثل تحديات لوجستية ضخمة. لذا يجب أن يتم تسعير المنتجات بكفاءة حتى مستوى السنتات (الهللات) لتظل قادرة على المنافسة. فالعملاء حين لا يجدون كل ما يحتاجون إليه تحت سقف واحد، سيبحثون عن مكان آخر للتسوق بما يتناسب مع جدول أعمالهم المزدحم.

    كيف استخدمت البيانات الضخمة؟

    في عام 2011 و مع تزايد الوعي بكيفية استخدام البيانات لفهم احتياجات العملاء وتزويدهم بالمنتجات التي يرغبون بشرائها، أنشأت وول مارت Walmart Labs وفريق Fast Big Data الخاص بهم لبحث ونشر مبادرات جديدة قائمة على البيانات في نطاق أعمالهم التجارية.

    تمت اعتماد هذه الاستراتيجية باسم مقهى البيانات (Data Café)  وهو مركز تحليلات حديث في المقر الرئيسي للشركة  في بنتونفيل، أركنساس. يتمكن فريق التحليلات في مقهى البيانات من مراقبة تدفق 200 مسار من البيانات الداخلية والخارجية شكل لحظي، بما في ذلك قاعدة بيانات بحجم 40 بيتابايت لجميع بيانات المبيعات خلال الأسابيع السابقة.

    يُنظر إلى التحليل المتزامن واللحظي للبيانات على أنه مفتاح رئيسي لدفع أداء الأعمال – وكما ذكر كبير المحللين الإحصائيين في وول مارت نافين بيداميل: “إن لم تستطع التنبؤ بمبيعاتك إلاّ بعد مُضي أسبوع أو شهر من تحليل البيانات، فقد فقدت المبيعات خلال ذلك الوقت. يتمثل هدفنا دائمًا في إيصال المعلومات إلى شركائنا في العمل بأسرع ما يمكن، حتى يتمكنوا من اتخاذ الإجراءات وتقليص الوقت المستغرق لإتمامها. إنها تحليلات استباقية وتفاعلية”.

    تتم دعوة فرق من كافة أقسام الشركة لزيارة مقهى البيانات مع مشاكلهم المتعلقة بالبيانات، والعمل مع المحللين لابتكار أفضل الحلول. هناك أيضًا نظام يراقب مؤشرات الأداء عبر الشركة ويطلق تنبيهات آلية عندما تصل إلى مستوى معين – ويدعو الفرق المسؤولة عنها للتحدث إلى فريق البيانات حول الحلول الممكنة.

    يعطي كبير المحللين بيداميل مثالاً على فريق إحدى المتاجر والذين  يعانون من عدم فهم أسباب الانخفاض المفاجئ في مبيعات منتج معين. وبمجرد أن أصبحت بياناتهم في أيدي محللي مقهى البيانات تم التوصل و بسرعة كبيرة على أن الانخفاض كان يُعزى مباشرة إلى خطأ في التسعير. تم تصحيح الخطأ على الفور مما أدى إلى تحسن المبيعات في غضون أيام. يمكن أيضاً مراقبة المبيعات عبر المتاجر المختلفة في مناطق جغرافية مختلفة وبشكل لحظي. يتذكر بيداميل في إحدى السنوات في فترة الهالوين، أنه كانت تتم مراقبة أرقام المبيعات لنوع جديد من البسكويت ، ولكن، إكتشف المحللون أن هناك العديد من المتاجر لم تبع من هذا النوع على الإطلاق مما دفعهم لإطلاق تنبيه إلى فرق التسويق المسؤولة عن تلك المتاجر، والتي أدركت بسرعة أن المنتجات لم يتم وضعها على الرفوف! لم تكن خوارزمية معقدة، ولكن لم يكن رصد هذه المشكلة ممكناً بدون التحليلات الحظية والمباشرة.

    وهناك مبادرة أخرى تتمثل في مشروع الجينوم الاجتماعي التابع لشركة وول مارت، والذي يراقب محادثات وسائل التواصل الاجتماعي العامة ويحاول التنبؤ بالمنتجات التي سيشتريها الأشخاص بناءً على محادثاتهم. لديهم أيضًا خدمة Shopycat، التي تتنبأ بكيفية تأثر عادات التسوق لدى الأشخاص بأصدقائهم (باستخدام بيانات الشبكات الاجتماعية أيضاً) وقد طوروا محرك بحث خاص بهم، يطلق عليه Polaris، للسماح لهم بتحليل عبارات البحث التي أدخلها العملاء على مواقعهم على الشبكة.

    ماهي أبرز النتائج؟

    حسب فريق وول مارت فإن نظام مقهى البيانات أدى إلى تقليل الوقت المستغرق منذ اكتشاف المشكلة وحتى الوصول إلى الحل من متوسط أسبوعين – ثلاثة أسابيع إلى حوالي 20 دقيقة!

    ما هي البيانات التي تم استخدامها؟

    يستخدم نظام مقهى البيانات قاعدة بيانات يتم تحديثها باستمرار تتكون من 200 مليار صف من بيانات المعاملات – وهذا لا يمثل سوى بيانات الأسابيع القليلة الماضية! 

    إضافة إلى ذلك، يستخدم مقهى البيانات البيانات من 200 مصدر آخر، بما في ذلك بيانات الأرصاد الجوية، والبيانات الاقتصادية، وبيانات الاتصالات، وبيانات الوسائط الاجتماعية، وأسعار الغاز، وقاعدة بيانات للأحداث التي تجري بالقرب من متاجر وول مارت.

    ما هي أبرز التقنيات المستخدمة؟

    تتكون قاعدة بيانات المعاملات في الوقت اللحظي في وول مارت من 40 بيتابايت من البيانات. على الرغم من ضخامة هذا الحجم من بيانات المعاملات، إلا أنه يشمل فقط بيانات الأسابيع الأخيرة، حيث أن هذه الفترة هي الفترة القَيِّمة بالنسبة لتحليل البيانات في الوقت اللحظي. يتم تخزين البيانات من متاجر السلسلة والأقسام عبر الإنترنت ووحدات الشركة بشكل مركزي على Hadoop (نظام تخزين البيانات الموزعة وإدارة البيانات).

    وصف المدير التقني جيرمي كنق هذا النهج بأنه “ديمقراطية البيانات” حيث أن الهدف هو إتاحة البيانات لأي شخص في العمل يمكنه الاستفادة منه. في مرحلة ما بعد اعتماد إطار Hadoop الموزع في عام 2011، أصبح المحللون قلقين من أن الحجم كان ينمو بمعدل قد يعيق قدرتهم على تحليله. ونتيجةً لذلك، تم تبني سياسة “الإدارة الذكية” لجمع البيانات والتي تضمنت إنشاء العديد من الأنظمة المصممة لتحسين البيانات وتصنيفها قبل تخزينها. تشمل التقنيات الأخرى المستخدمة Spark و Cassandra، وتستخدم عدة اللغات بما فيها R و SAS لتطوير التطبيقات التحليلية.

    ما هي أبرز التحديات التي واجهت ولمارت؟

    مع عملية تحليلية طموحة مثل تلك التي خططت لها وول مارت، تطلب التوسع السريع عدداً هائلا ً من الموظفين الجدد، وقد ثبت صعوبة العثور على الأشخاص المناسبين ذوي المهارات المناسبة. هذه المشكلة ليست مقتصرة على وول مارت: فقد وجد استطلاع حديث أجراه باحثو Gartner أن أكثر من نصف الشركات تشعر أن قدرتها على إجراء تحليلات البيانات الضخمة تعيقها صعوبة توظيف المواهب المناسبة.

    كان أحد الأساليب التي اتخذها وول مارت لحل هذه المشكلة هو اللجوء إلى موقع مسابقات علوم البيانات Kaggle. وضع Kaggle للمستخدمين تحديًا يتضمن توقع كيفية تأثير الأحداث الترويجية والموسمية مثل مبيعات تخليص الأسهم والعطلات على مبيعات عدد من المنتجات المختلفة. تمت دعوة أولئك الذين توصلوا إلى النماذج الأكثر تطابقًا مع البيانات الواقعية التي جمعتها وول مارت للتقدم لشغل وظائف في فريق علوم البيانات. في الواقع، كان نافين بيداميل أحد أولئك الذين تم توظيفهم في وول مارت بعد مشاركتهم في المسابقة.

    بمجرد أن يبدأ محلل جديد العمل لدى وول مارت، يتم إخضاعه لبرنامج تدوير المحللين. والذي يجعله يتنقل بين عدة فرق مختلفة مع مسؤولية عمل تحليلي، وبذلك يحصل على نظرة عامة وواسعة حول كيفية استخدام التحليلات المختلفة في جميع أنحاء الشركة.

    ذكر ماندار ذاكور، كبير مسؤولي التوظيف في وول مارت في عملياتها لأنظمة المعلومات: “خلقت مسابقة Kaggle ضجة حول وول مارت ومنظومة التحليلات الخاصة بنا. كان الناس يعرفون دائمًا أن وول مارت تُولِّد وتمتلك الكثير من البيانات، ولكن أفضل جزء هو أن هذه المسابقة أتاحت للناس رؤية كيفية استخدامنا للبيانات بشكل استراتيجي”.

    الخاتمة:

    الأسواق المركزية تعتبر أعمال كبيرة وسريعة ومتغيرة باستمرار وهي بُنية معقدة تتكون من العديد من الأنظمة الفرعية وهذا يجعلها بيئة مثالية لتطبيق تحليلات البيانات الضخمة.

    إن المنافسة هي العجلة المحركة للنجاح في هذا المجال. لطالما اضطلعت وول مارت بدور قيادي في المبادرات التي تعتمد على البيانات، مثل برامج الولاء والمكافآت، ومن خلال الالتزام بأحدث التقنيات في التحليلات اللحظية، فقد أظهروا أنهم يخططون للبقاء في المنافسة.

    قد يُنظر إلى متاجر التجزئة على أنها “متخلفة تقنياً” – أو حتى من العصر الحجري – مقارنةً بمنافسيهم عبر الإنترنت، لكن أظهرت وول مارت أنها تتأثر بالبيانات الضخمة المتطورة تماماً كما هو الحال بالنسبة لشركة أمازون و علي بابا.

    وعلى الرغم من الخيارات المطروحة للتسوق عبر الانترنت والتي تبدو أكثر راحة، يبدو أن العملاء، سواء من خلال العادة أو التفضيل، لا يزالون على استعداد لركوب سياراتهم والذهاب إلى المتاجر لشراء الأشياء بأنفسهم. وهذا يعني أنه لا يزال هناك سوق ضخم للاستفادة منه. لذا فإن الشركات التي تستخدم التحليلات على أفضل وجه من أجل زيادة الكفاءة وتحسين تجربة عملائها سوف تزدهر.

     

    المراجع:

    Kaggle (2015) Predict how sales of weather-sensitive products are affected by snow and rain, https://www.kaggle.com/c/walmart- recruiting-sales-in-stormy-weather, accessed 5 January 2016. 

    Walmart (2015) When data met retail: A #lovedata story, http:// careersblog.walmart.com/when-data-met-retail-a-lovedata-story/, accessed 5 January 2016. 

  • تحضير البيانات باستخدام مكتبة Pandas بلغة بايثون

    ترجمة: فاضل حمود.

    تدقيق: أثير الحارثي.

    في هذا الدرس، سنتعرف على أهمية المعالجة المسبقة للبيانات وكيفية القيام بذلك باستخدام مكتبة Pandas بلغة بايثون.

    سيرشدك هذا الدرس إلى بعض المفاهيم والخطوات الأساسية لتحضير البيانات باعتبارها الخطوة الأولى بعد الحصول على أي نوع من أنواع البيانات. يتركز الهدف من هذه المرحلة بمعالجة البيانات الخام وجعلها في شكل يمكن تحليله بسهولة ودقة. يؤدي التحضير الجيد للبيانات إلى التحليل الفعال حيث يمكن إزالة الأخطاء أو نقص البيانات والتي يمكن أن تحدث أثناء عملية جمع البيانات وبالتالي يمكن أن تساعد مرحلة تحضير البيانات في إزالة بعض التحيز الناتج عن رداءة جودة البيانات. لذلك يقضي محلل البيانات الكثير من وقته في هذه الخطوة المهمة.

    تتضمن مرحلة تحضير البيانات عدة خطوات منها: تحميل البيانات، تنظيف البيانات (إزالة البيانات غير الضرورية أو البيانات الخاطئة)، تحويل تنسيقات البيانات، إعادة ترتيب البيانات وغير ذلك. 

    وفي هذا الدرس، سنعمل على بعض هذه الخطوات باستخدام مكتبة Pandas الخاصة بلغة البرمجة بايثون (Python) لتحضير البيانات.

    تأكد من إلمامك بمفاهيم مثل DataFrame و Series، وما إلى ذلك، حيث ستتكرر هذه المصطلحات كثيرا ً في هذا الدرس. 

    في هذا الدرس:

    • سنبدأ بمقدمة قصيرة عن Pandas (المكتبة المستخدمة).
    • ثم سنقوم بتحميل البيانات.
    • بعد ذلك، سنستكشف البيانات المفقودة وكيفية التعامل معها. سنتطرق إلى التعامل مع البيانات المفقودة وطرق استبدالها.
    • سنتعلم بعد ذلك بعض حيل تحويل البيانات منها: استبدال القيم، ودمج سلاسل البيانات، وإضافة المعرفة إلى مجموعة البيانات باستخدام دالة map، وتقسيم البيانات المستمرة (Continuous data)، وأخيراً حول المتغيرات الوهمية (Dummy Variables) والترميز الأحادي (One-hot encoding)

    لنبدأ بمقدمة قصيرة عن Pandas

    مكتبة Pandas

    Pandas هي مكتبة برمجية مكتوبة للغة بايثون وتعد من أشهر المكتبات في مجتمع علوم البيانات حيث توفر هياكل بيانات قوية ومعبرة ومرنة تجعل معالجة البيانات وتحليلها أمرا ً سهلاً. علاوة على ذلك، إذا كان لديك حالة استخدام محددة وجديدة، فيمكنك مشاركتها على موقع pandas GitHub – في الواقع، هذه هي الطريقة التي ظهرت منها معظم الدوال في Pandas، من خلال حالات استخدام واقعية.

    ولاستخدام مكتبة Pandas، علينا استيرادها من خلال الأمر التالي:

    import pandas as pd 

     

    تحميل البيانات

    الخطوة الأولى لتحضير البيانات هي استيرادها من خلال الأمر التالي. إذا كان لديك ملف بصيغة .csv، فيمكنك تحميله بسهولة باستخدام الأمر التالي:

    ('data = pd.read_csv('path_to_file.csv

    في هذا الدرس، سننشئ بيانات صغيرة سهلة الفهم لغرض التطبيق.

    البيانات المفقودة (missing data)

    معالجة البيانات المفقودة

    وتعتبر هذه الخطوة من أشهر المشاكل التي قد تواجه عالم البيانات والتي عليه التعامل معها بحذر. ويمكن أن تظهر البيانات المفقودة في البيانات لأسباب متعددة منها: عدم إضافة البيانات الخاصة بالحقل المحدد بواسطة المستخدم أو تطبيق جمع البيانات، أو فقد البيانات أثناء النقل يدويًا، أو خطأ برمجي وغير ذلك. ومن الضروري أحيانا ً فهم سبب فقدان بعض البيانات لمعرفة كيفية التعامل معها وهذا سيأتي لاحقا ً في هذا الدرس. في الوقت الحالي، سنركز على ما يجب فعله عندما نواجه بعض البيانات المفقودة.

    بالنسبة للبيانات الرقمية، يستخدم Pandas قيمة NaN (ليست برقم) لتمثيل البيانات المفقودة. إنها قيمة فريدة تم تحديدها ضمن مكتبة Numpy لذلك سنحتاج إلى استيراد هذه المكتبة. NaN هي علامة تشير للقيمة الافتراضية المفقودة لأسباب تتعلق بالسرعة والسهولة الحاسوبية. هي قيمة تنبيهية، بمعنى أنها بيانات وهمية يمكن اكتشافها بسهولة والعمل معها باستخدام دوال Pandas.

    لنقم باستكشاف بعض البيانات:

    import numpy as np 
    ([data = pd.Series([0, 1, 2, 3, 4, 5, np.nan, 6, 7, 8
    # لنرى إذا ما كان هناك قيم مفقودة وتحديد مكانها
    ()data.isnull
    0    False
    1    False
    2    False
    3    False
    4    False
    5    False
    6     True
    7    False
    8    False
    9    False
    dtype: bool

     

    كما يتضح لدينا أعلاه، استخدمنا الدالة ()isnull والتي تُرجع قيمة منطقية صحيحة أو خاطئة (True or False). صحيحة (True): عندما تكون البيانات الموجودة في هذا المكان مفقودة أو (NaN). ولاكتشاف العكس نستخدم دالة ()notnull.

    ()data.notnull
    0     True  1     True  2     True  3     True  4     True  5     True  6    False  7     True  8     True  9     True  dtype: bool

    بالإضافة إلى ذلك، يمكننا استخدام دالة ()dropna لتصفية البيانات المفقودة وإزالة القيمة الفارغة (المفقودة) ومشاهدة القيم غير المفقودة فقط. ومع ذلك، لا يتم حذف قيمة NaN بالفعل ولا يزال من الممكن العثور عليها في البيانات الأصلية عن طريق الأمر التالي.

    ()data.dropna
    0    0.0  1    1.0  2    2.0  3    3.0  4    4.0  5    5.0  7    6.0  8    7.0  9    8.0  dtype: float64

     

    وهناك خياران “لحذف” قيمة مفقودة (NaN): إما تخزين البيانات الجديدة (بدون NaN) باسم جديد بحيث لا يتم التعديل على البيانات الأصلية أو تغيير القيمة الافتراضية لخيار inplace. القيمة الافتراضية ل inplace هي false.

    ()not_null_data = data.dropna
    not_null_data
    0    0.0  1    1.0  2    2.0  3    3.0  4    4.0  5    5.0  7    6.0  8    7.0  9    8.0  dtype: float64

    ويمكن أن تكون البيانات أكثر تعقيدا ً وتكون ذات بعدين، مما يعني أنها تحتوي على صفوف وأعمدة. Pandas تدعم معالجة هذا النوع من البيانات أيضا

    ,[data_dim = pd.DataFrame([[1,2,3,np.nan],[4,5,np.nan,np.nan
    ([[7,np.nan,np.nan,np.nan],[np.nan,np.nan,np.nan,np.nan] 
    data_dim

    لنفترض الآن أننا نريد فقط حذف الصفوف أو الأعمدة التي تكون كلها فارغة أو فقط تلك التي تحتوي على قدر معين من القيم المفقودة. تحقق من السيناريوهات المختلفة، تذكر أن الحذف لا يحدث في البيانات الأصلية، وبالتالي لا يتم العبث بمجموعة البيانات الحقيقية. انتبه إلى الخيارات التي يتم تحديدها داخل دالة ()dropna لتحديد كيفية حذف البيانات المفقودة.

    ()data_dim.dropna
    

     

    نلاحظ من النتيجة بأنه تم حذف جميع الصفوف ولاأعمدة لأنها تحتوي على قيمة مفقودة واحدة على الأقل.

    ('data_dim.dropna(how = 'all

     

    # القيمة الافتراضية هي 0 – والتي تشير إلى الصفوف
    ('data_dim.dropna(axis = 1, how = 'all
    (data_dim.dropna(axis = 1, thresh = 2

     

    data_dim.dropna(thresh = 2) 

    الآن تعرفنا على كيفية تحديد القيم المفقودة وحذفها – سواء إذا أردنا رؤية البيانات الناتجة أو القيام بحذف فعلي. في كثير من الحالات، لا يعد حذف القيم الفارغة خيارا ً منطقيا ً، وقد نرغب في ملء البيانات المفقودة ببعض القيم الأخرى. لنرى كيف يمكننا القيام بذلك.

    استبدال البيانات المفقودة

    لاستبدال أو “ملء” البيانات الفارغة، يمكننا استخدام دالة ()fillna. على سبيل المثال، دعونا نحاول استخدام نفس البيانات السابقة ونحاول ملء قيم NaN بـ 0.

    data_dim

     

    (data_dim_fill = data_dim.fillna(0
    data_dim_fill

     

    ومثلما هو الحال مع ()Dropna، يمكنك أيضاً القيام بالعديد من الأشياء الأخرى اعتمادا ً على نوع الخيارات التي تحددها داخل الدالة. تذكر أيضًا بأن خيار inplace = True سيؤدي إلى إجراء التغيير على البيانات الأصلية.

    data_dim_fill = data_dim.fillna({0: 0, 1: 8, 2: 9, 3: 10}) data_dim_fill

    يمكنك تحديد قيمة لخيار ‘method’ في ()fillna التي ستقوم تلقائيا ً بتعبئة القيم المفقودة بالقيمة السابقة (ffill أو pad) أو التالية (bfill أو backfill).

    ('data_dim_fill = data_dim.fillna(method='ffill 
    data_dim_fill

    يمكنك أيضًا تحديد عدد عمليات التعبئة. على سبيل المثال، املأ مكانين فقط في الأعمدة. إذا قمت بتحديد خيار axis = 1، فسيتم ملء قيمة بحسب الصفوف بدل الأعمدة.

    here data_dim_fill = data_dim.fillna(method='ffill', limit = 2) data_dim_fill
    data_dim_fill = data_dim.fillna(axis = 1, method='ffill') data_dim_fill

    بحسب معرفتك بالبيانات، يمكنك استخدام دالة ()fillna بعدة طرق أخرى غير ملئها بأرقام محددة. يمكنك تعبئتها باستخدام المتوسط باستخدام ()mean أو الوسيط باستخدام ()median.

    data_dim
    (()data_dim_fill = data_dim.fillna(data_dim.mean
    data_dim_fill

     

    تحويل البيانات واستبدالها

    حتى الآن، تعاملنا مع البيانات المفقودة (NaN) فقط، ولكن في بعض الحالات نرغب باستبدال قيمة معينة (غير مفقودة) بقيمة مختلفة. وفي حالات أخرى يتم استبدال القيمة المفقودة برقم عشوائي محدد، وبالتالي يجب معاملتها على أنها مفقودة NaN بدلاً من التعامل معها كرقم. في هذه الحالة يمكننا استخدام دالة ()replace.

    ([data = pd.Series([1,2,-99,4,5,-99,7,8,-99 
    data
    0     1  1     2  2   -99  3     4  4     5  5   -99  6     7  7     8  8   -99  dtype: int64
    (data.replace(-99, np.nan
    0    0.0  1    1.0  2    2.0  3    3.0  4    4.0  5    5.0  7    6.0  8    7.0  9    8.0  dtype: float64

    كما نشاهد، لن نرى قيمة -99 بعد الآن بسبب استبدالها بـ NaN. وبالمثل، يمكنك تحديد عدة قيم واستبدالها بقيم أخرى. وللقيام بذلك، سننشئ سلسلة بيانات أخرى ثم ندمج سلسلة البيانات الأصلية بالسلسلة الجديدة ثم نطبق أمر استبدال القيم المتعددة.

    دمج سلاسل البيانات في Pandas

    لدمج عدة سلاسل بيانات يمكننا استخدام الدالة ()concat في Pandas. ولمتابعة التسلسل الرقمي (Indexing) بعد الدمج، يمكنك تحديد خيار ignore_index = True.

    ([new_data = pd.Series([-100, 11, 12, 13 
    combined_series = pd.concat([data, new_data], ignore_index = True (
    combined_series
    0       1  1       2  2     -99  3       4  4       5  5     -99  6       7  7       8  8     -99  9    -100  10     11  11     12  12     13  dtype: int64
    data_replaced = combined_series.replace([-99, -100], np.nan) data_replaced
    0      1.0  1      2.0  2      NaN  3      4.0  4      5.0  5      NaN  6      7.0  7      8.0  8      NaN  9      NaN  10    11.0  11    12.0  12    13.0  dtype: float64
    data_replaced = combined_series.replace({-99: np.nan, -100: 0}) Same as: new_data.replace([-99, -100], [np.nan,0 #
    data_replaced
    0      1.0  1      2.0  2      NaN  3      4.0  4      5.0  5      NaN  6      7.0  7      8.0  8      NaN  9      0.0  10    11.0  11    12.0  12    13.0  dtype: float64

     

    إضافة المعرفة – دالة المطابقة (Map)

    في بعض الحالات، قد ترغب في إضافة المزيد من الأفكار بناءً على منطق معين. ولعمل ذلك يمكننا استخدام دالة المطابقة (map) ومجموعة من الدوال الأخرى. يمكن أن تصبح بعض العمليات المنطقية أكثر تعقيدا ً ولكن دعونا نوضح هذه الفكرة عن طريق المثال التالي.

    لنفترض أن لدينا بيانات من الأرقام يقابلها الرقم كتابة ً باللغة الإنجليزية.

    data_number = pd.DataFrame({'english': ['zero','one','two','three','four','five'], 'digits': [0,1,2,3,4,5
    ({[[
    data_number

    يمكنك استخدام دالة ()map لإضافة عمود يحتوي على قيمة معينة في حال تحقق الشرط المطلوب في هذا المثال الشرط أن يكون الرقم باللغة الإنجليزية من مضاعفات الرقم 2. ولكن ما هي القيمة التي سيتم إضافتها إذا لم يتحقق الشرط (أي الرقم ليس من مضاعفات 2)؟ لنكتشف ذلك.

    {'english_to_multiple = {'two': 'yes',  'four': 'yes
    data_number['multiple'] = data_number['english'].map(english_to_multiple)e
    data_number

     

    يتضح لدينا من خلال النتائج أنه عندما لا يتحقق الشرط نجد القيمة NaN، وقد ذكرنا مسبقا كيفية التعامل مع القيم المفقودة. كان هذا مثالا بسيطا لكيفية استخدام دالة ()map ولكن هناك عدد لا محدود من الأفكار لتطبيق هذه الدالة والاستفادة من امكانياتها. 

    التصنيف أو التقدير (Discretization) – دالة ()cut

    في بعض الأحيان قد نرغب في التصنيف بناءً على منطق معين (شرط معين) ووضع جميع البيانات في فئات منفصلة لغرض التحليل. يمكنك استخدام دالة ()cut لهذا الغرض. على سبيل المثال، لنقم أولاً بإنشاء بيانات تحتوي على 30 رقما ً عشوائيا ً بين 1 و100.

    import random 
    (data = random.sample(range(1, 101), 30
    data
    [45,   39,   25,   83,   27,   6,   73,   43,   36,   93,   97,   17,   15,   99,   37,   5,   31,   22,   65,   30,   3,   26,   91,   12,   52,   76,   63,   84,   59,   53]

    لنفترض أننا نريد تصنيف هذه الأرقام إلى مجموعات نحددها بأنفسنا: فمثلا ً الأرقام بين 1-25 ، 25-35 ، 40-60 ثم 60-80 ثم الباقي. في البداية دعونا نعرف المجموعات.

    [bucket = [1, 25, 35, 60, 80, 100
    (cut_data = pd.cut(data, bucket
    cut_data
    [(35, 60], (35, 60], (1, 25], (80, 100], (25, 35], ..., (60, 80], (60, 80], (80, 100], (35, 60], (35, 60]]  Length: 30  Categories (5, interval[int64]): [(1, 25] < (25, 35] < (35, 60] < (60, 80] < (80, 100]]

    دالة ()cut مفيدة للغاية، وهناك الكثير من الأمور التي يمكننا القيام بها باستخدام هذه الدالة.

    المتغيرات الوهمية (Dummy variables) و الترميز الأحادي (One-Hot Encodings)

    هذا الموضوع مفيد جدا ً عند الرغبة بتحويل بعض البيانات الفئوية (Categorical) إلى قيم عددية بحيث يمكنك استخدامها في نماذج تحليل البيانات، خاصة عند القيام ببناء نماذج تعلم الآلة، حيث يكون مفهوم الترميز الأحادي (One-Hot Encodings) شائعا. باستخدام كلمات تقنية أكثر: الترميز الأحادي هو عملية تحويل القيم الفئوية إلى متجه (Vector) رقمي أحادي البعد.

    يمكن القيام بذلك باستخدام دالة ()get_dummies. إذا كان أحد الأعمدة في البيانات لديك يحتوي على عدد معين من القيم المميزة، نشير لهذا العدد ب n، فستشتق الدالة مصفوفة تحتوي على نفس العدد من الأعمدة وجميع القيم عبارة عن 1 أو 0. دعونا نوضح هذه الفكرة بمثال لتتضح الصورة بشكل أفضل.

    (('data = pd.Series(list('abcdababcdabcd
    data
    0     a  1     b  2     c  3     d  4     a  5     b  6     a  7     b  8     c  9     d  10    a  11    b  12    c  13    d  dtype: object

     

    لنفترض الآن أننا نريد أن يكون لدينا متجهات فردية تشير إلى ظهور كل حرف لإدخاله إلى دالة أخرى. كمثال:  [1,0,0,0,1,0,1,0,0,0,1,0,0,0]=  ‘a’، ويعني: إذا كانت القيمة الأصلية  ‘a’  نضع 1 و 0 في عكس ذلك. استخدام دالة ()get_dummies سيجعل المهمة أسهل.

    pd.get_dummies(data) 

     

    هذا مثال بسيط لمساعدتك على البدء في استخدام هذه الدالة. في تطبيقات العالم الحقيقي، يمكن أن ينتمي الحرف إلى فئات مختلفة في نفس الوقت، وبالتالي سيتعين عليك تعلم طرق أكثر تعقيدا ً. أيضا ً بالنسبة للبيانات الأكبر حجما ً، قد لا تكون هذه الدالة فعالة جدًا من حيث السرعة ولكنها فعالة جدا ً لتطبيق الكثير من الأفكار. 

    ختاما ً، لقد وصلنا إلى نهاية هذا الدرس، وتعلمنا سويا بعض الأدوات الأساسية لبدء الخطوة الأولى في مسار تحضير البيانات. بالتأكيد هناك العديد من المهارات الأخرى التي يجب تعلمها من أجل مرحلة إعداد البيانات منها معرفة كيفية اكتشاف القيم المتطرفة وتصفيتها في مجموعة البيانات. غالبًا ما تكون مرحلة تحضير البيانات في البيانات الحقيقية أكثر تعقيدا ً وقد تحتاج إلى حل مختلف حسب البيانات التي تعمل عليها ، ولكن الفكرة هي أن تبدأ التطبيق على بعض البيانات الصغيرة نسبيا ً لبناء المعرفة والمهارات اللازمة ومن ثم التدرج في التدرب على أنواع مختلفة من البيانات ،تجربة أدوات جديدة.

     

    ###

    Source: DataCamp tutorials/Sejal Jaiswal

  • استخدام البيانات الضخمة لزيادة فعالية الإعلانات (تجربة شركة فيسبوك)

    ترجمة: أمل محمد

    مراجعة: محمد كامل

    مدخل

    فيسبوك، وبشهادة شريحة لا يستهان بها، لا تزال أكبر شبكة للتواصل الاجتماعي في العالم. حيث يستخدمها الكثير الأشخاص من الأبناء وحتى الأجداد للتواصل مع أصدقائهم، ومشاركة مناسباتهم المميزة، بالإضافة إلى تنظيم الفعاليات الاجتماعية. كما يستخدمه ملايين الأشخاص يوميا لقراءة الأخبار، والتواصل مع الشركات، واتخاذ قرارات شرائية. وكما هو الحال في جميع شبكات التواصل الاجتماعي ومحركات البحث، تقدم فيسبوك خدماتها بالمجان لكافة مستخدمي البرنامج. حيث تحصل الشركة على المال من المشاريع التي يدفع أصحابها مبالغ مقابل الحصول على البيانات والمعلومات التي تجمعها حول مستخدميها، وتستخدمه في دفع أجور موظفيها، الذي يزيد عددهم عن ١٠٠٠٠ موظف، والاستمرار في تقديم خدماتها. وقد أعلنت شركة فيسبوك هذه السنة عن استقطابها لمليونين معلن فعال، أغلبهم يعمل لشركات صغيرة أو متوسطة، يدفعون المال مقابل عرض إعلاناتهم لأشخاص قد يهمهم ما يقدمونه.

    ما هي التحديات التي تساعد البيانات الضخمة في حلها في هذا القطاع؟  

    لكي تستمر الشركات تحتاج إلى بيع منتجاتها وخدماتها. ولفعل ذلك، لابد من إيجاد مستهلكين وزبائن لهذه المنتجات. وبناء على الطريقة التقليدية كان هذا يتم بالإعلان بطريقة “إذاعية،” مثل: الجرائد والتلفاز والراديو وعرض العمل الإعلاني، وذلك يعتمد على مبدأ أنه إن عرضت عملك في أكثر الأماكن بروزا ستضمن أن يشاهده عدد كبير من الناس وبالتالي يحتمل أن يكون بعضهم مهتم بما تقدمه. لكن هذه الطريقة بالتأكيد تعد طريقة عشوائية. وبالنسبة لشركة ضخمة ومتعددة الجنسيات، من المؤكد أن يزيد إعلان تلفزيوني يُعرض خلال المباراة الأمريكية النهائية من انتشارها وعرض اسمها أمام مستهلكين محتملين. ولكن عندما نتحدث عن شركة صغيرة ناشئة، فإنه لابد من التفكير بحكمة وحذر حول أكثر الطرق فاعلية لصرف الميزانية المخصصة للتسويق. ومثل هذه الشركات لا يمكنها الإعلان بمختلف الطرق ولجميع الفئات، لذلك تعد الأدوات التي تمكنها من معرفة هوية مستهلكيها ومكان تواجدهم في غاية الأهمية.

    كيف استخدمت البيانات الضخمة؟  

    زود التوسع السريع في عالم الإنترنت خلال العقدين الأخيرين المعلنين بطريقة بسيطة لعمل ذلك. ولأن المواقع تعمل على أجهزة الحاسوب، وليس في الصحف أو لوح الإعلانات، فيمكن التعرف على كل زائر مستقل باستخدام البرنامج المشغل للموقع. حيث تملك منصة فيسبوك، الذي يبلغ عدد مستخدميها المتفاعلين شهريا ١.٥ مليار، صلاحية الوصول إلى عدد كبير من المعلومات المتعلقة بالمستخدمين أكثر من أي منصة أخرى. وتعد المعلومات شخصية الأكثر أهمية، فبينما يمكن لبعض برامج التصفح مثل قوقل تعقب عدد مرات زياراتنا لصفحات معينة (والتي يمكن لمنصة فيسبوك حاليا القيام بها) واستنتاج الكثير عنا بالاعتماد على عاداتنا في التصفح، فإن برنامج فيسبوك يملك كامل الصلاحية للوصول إلى معلوماتنا الديموغرافية مثل: مكان عيشنا، وعملنا، ومتعتنا، وعدد أصدقائنا، وكيفية قضائنا لأوقات فراغنا، وكذلك كتبنا وأفلامنا المفضلة. حيث يمكن، على سبيل المثال، لناشر كتاب أن يدفع لفيسبوك مقابل وضع إعلاناته أمام ملايين الأشخاص ممن يفضلون كتب مشابهة وكذلك مطابقة الملفات التعريفية الديموغرافية لمستخدمي فيسبوك. وتُستخدم البيانات التي تخص المستخدمين خلال تصفحهم لمنصة فيسبوك لمطابقتها مع الشركات التي تقدم المنتجات والخدمات التي من المحتمل أن يكونون مهتمين بها. وبلا شك، فإن فيسبوك تملك أكبر قاعدة بيانات للمعلومات الشخصية وأكثرها وضوحا ويزيد اتساعها في كل جزء من الثانية. وبالإضافة إلى اعتبار فيسبوك منصة لتبادل الرسائل، فإنه يعد أيضا مشغل لبرامج عدة. حيث أنشئ أكثر من نصف مليون تطبيق خصيصا لبرنامج فيسبوك، وأغلبها يستفيد من الصلاحية التي يمنحها التطبيق من خلال APIs خاصة لبيانات المستخدم. حيث تجمع هذه التطبيقات بدورها معلومات عن كيفية استخدامها ومن ثم يستفيد مطوروها في عرض الإعلانات على عملائها. كما تتسع شركة فيسبوك بشرائها لشركات وخدمات أخرى وإضافة ما تزوده تلك الشركات من بيانات لمخزونها. حيث استحوذت الشركة في السنوات الأخيرة على خدمات برنامجي انستقرام وواتساب مما أضاف لها المزيد من المعلومات حول كيفية استخدامنا للصور والرسائل اللحظية. ومما يثير الاهتمام أيضا، أنهم استحوذوا كذلك على مصانع سماعات رأس الواقع الافتراضي (أوكولوس). وعلق البعض على الحاصل بأن شركة فيسبوك مهتمة بتطوير خدماتها بحث يمكننا التواصل بالواقع الافتراضي بدلا من الشاشات المسطحة. والتحكم في أفعالنا في هذه العوالم الافتراضية الجديدة والمثيرة سيكون بلا شك مصدر مهم لبيانات جديدة في المستقبل القريب.

    ماهي أبرز النتائج؟  

    أدت الاستراتيجية التي اتبعتها فيسبوك من استغلال ثروتها الهائلة من بيانات المستخدمين لبيع المساحات الإعلانية، لامتلاك حصة بنسبة ٢٤٪ من سوق الإعلانات المعروضة على الإنترنت في عام ٢٠١٤، والتي تدر على الشركة ما يقارب ٥،٣ مليار دولار من عائدات بيعهم للإعلانات، وقد ارتفعت كما هو متوقع في عام ٢٠١٧ لتصبح بنسبة ٢٧٪، أي ما يعادل أكثر من ١٠ مليار. 

    ما هي البيانات التي تم استخدامها؟  

    مستخدمي منصة فيسبوك يعتبرون هم الكنز التي تعتمد عليه الشركة لجمع بياناتها.  حيث يشارك المستخدمون للتطبيق ما يقارب ٢.٥ مليون منشور كل دقيقة. ومن ثم يُحلل هذا المحتوى لإيجاد معلومات مفتاحية عن المستخدمين تسمح بتصنيفهم إلى عدة فئات حسب اهتمامات  المعلنين. بالإضافة إلى تفاعلهم مع محتوى أشخاص آخرين والبيانات المخزنة في قواعد بيانات فيسبوك، والتي تحتوي على قوائم المشاريع وقواعد البيانات للأفلام والموسيقى والكتب والعروض التلفزيونية. وبالتالي فإنه متى ما أُعجبنا أو نشرنا أي محتوى، فإن هذا يسمح لهم أيضا بمعرفة المزيد عنا. ولعدم اختراق الخصوصية، تُشفر جميع هذه البيانات أثناء إدخالها للأنظمة التي تزاوج ما بين المشاريع والمستهلكين المحتملين. وهذا كله يعني أن اسمك يحذف أو يستبدل برمز تعريفي مميز لا يمكّنهم من التعرف عليك شخصيا. 

    ما هي أبرز التقنيات المستخدمة؟ 

    يعد فيسبوك أكثر المنصات زيارة في العالم بعد محرك البحث (قوقل)، كما أنه أكثر المواقع بحثا في قوقل. ويقال بأنه مسؤول عن ١٠٪ من جميع عمليات العبور عبر الإنترنت. وبالطبع، فإن خدمة إنترنت بهذا الحجم تتطلب بنية تحتية لا يستهان بها. حيث تحتوي مراكز بيانات فيسبوك على خوادم مصممة حسب الطلب، التي تبنى باستخدام شرائح إنتل وإي إم دي بالإضافة إلى أحدث تقنيات توفير الطاقة والتي تساعد في التقليل من التكلفة الهائلة لإبقاء الكثير من الخوادم في وضع التشغيل بشكل متواصل. وقد أتيحت تصاميم أنظمة الخوادم كمراجع مفتوحة المصدر. كما تعتمد فيسبوك على تقنية خاصة ببرمجياتها مكتوبة بلغة PHP وهي متاحة للعامة أيضا.  كما تشغل قواعد بيانات MySQL. وأنشأ مبرمجوه تقنية HipHop لل MySQL compiler والتي تقوم بترجمة كود PHP إلى ++C في وقت قياسي.، مما يسمح باستخدام الكود بسرعة وتقليل الضغط على المعالجات. كما يستخدم فيسبوك نظام التخزين الموزع الخاص به بناء على منصة Hadoop’s HBase للتحكم في التخزين. ويعرف أيضا بأن فيسبوك تستخدم Apache Hive للتحليل المباشر واللحظي  لبيانات المستخدمين.

    ما هي أبرز التحديات التي واجهت فيسبوك؟

    كما هو الحال لدى أغلب أشهر مقدمي خدمات الإنترنت، فإن أكبر تحدي تواجهه شركة فيسبوك هو كسب ثقة عملائها. ففي البداية، كان من المتوقع إيجاد أشخاص يشككون وبقوة في نشر تفاصيلهم الشخصية على الإنترنت لأنه لم يكن باستطاعتهم التأكد من الطريقة التي ستستخدم بها هذه البيانات. وحتى لو التزمت كل شركة في العالم بالشروط والسياسات التي تتعلق بالخصوصية ومشاركة البيانات، فإن أشد هذه السياسات تقف مكتوفة أمام عمليات فقدان البيانات أو سرقتها، مثل هجمات القرصنة. ومنذ البداية، حاولت شركة فيسبوك أن تفوز بثقة المستخدمين بإظهار مدى حرصها على الخصوصية. ومقارنة بما كان في الماضي من ثغرات وإشارات لطرف ثالث غامض وغير محدد، فإن ميزات الخصوصية التي قدمتها شركة فيسبوك غلبت غيرها من المزايا التي تقدمها غيرها من الشركات المعاصرة، مثل شركة Myspace. وتعد حقيقة أنه كان على الأقل هناك وهم خصوصية كافية لجذب الكثير من الأشخاص لثورة وسائل التواصل الاجتماعي. حيث، تلقائيا، كان كل ما يشاركه المستخدم لا يخرج عن إطار مشاركته مع مجموعة من الأصدقاء الموثوقين، على عكس Myspace، التي كانت تشارك فيه المنشورات تلقائيا مع العالم. كما أتاحت شركة فيسبوك خيارات تسمح للمستخدم من تحديد مدى خصوصية ما ينشرون كأن تكون عامة ومتاحة للجميع أو خاصة. غير أنه كانت هناك شكاوى دائمة تتعلق بصعوبة وتعقيد الوصول لهذه الخيارات. 

    الخاتمة:  

    غيّرت منصة فيسبوك طريقة تواصلنا مع بعضنا باستخدام الانترنت تغييرا جذريا، حيث سمح لنا ببناء شبكتنا الخاصة واختيار الأشخاص الذين نرغب بمشاركة معلومات تتعلق بحياتنا معهم. وتعد هذه المعلومات ذات قيمة لا يستهان بها للمعلنين، الذين بإمكانهم استخدام هذه المعلومات لاستهداف أشخاص معينين قد يكونون مهتمين أو يرغبون بمنتجاتهم وخدماتهم، وذلك بناء على التحليل للكم الهائل من البيانات التي تملكها فيسبوك. ويعد الإعلان الموجه ذو فائدة بالغة للمشاريع الصغيرة التي يصعب عليها صرف ميزانية تسويقية لعرض منتجاتها وخدماتها على الفئة الخطأ. كسب ثقة المستخدمين يعد أمرا ً بالغ الأهمية. وبعيدا عن لصوص المعلومات وغيرهم من الأنشطة غير القانونية، قد يزعج المستخدمون لرؤية إعلانات لا تهمهم وبكثرة. ولذلك، فإن من مصلحة شركة فيسبوك وكل المعلنين اختيار الفئة المستهدفة بفعالية أكبر. 

    المراجع:

    1. Statista (2016) Number of monthly active Facebook users worldwideas of 3rd quarter 2015 (in millions), http://www.statista.com/statistics/264810/number-of-monthly-active-facebook-users-worldwide/,accessed 5 January 2016.

    2. eMarketer (2015) Facebook and Twitter will take 33% share of US digital display market by 2017, http://www.emarketer.com/Article/Facebook- Twitter-Will-Take-33-Share-of-US-Digital-Display-Market-by-2017/1012274, accessed 5 January 2016.

    For more information about Facebook and Big Data, visit: http://www.wired.com/insights/2014/03/facebook-decade-big-data/

  • الانحدار الخطي (بايثون)

    ترجمة: محمد كامل

    يعتبر الانحدار الخطي أحد أشهر نماذج تعلم الآلة التي تستخدم في التحليلات التنبؤية من خلال دراسة العلاقة بين المتغير (التابع) والمتغير (المستقل). 

    سنتعلم في هذا الدرس عدة نقاط:

    1- كيفية بناء نموذج الانحدار الخطي بلغة بايثون. 

    2- تقييم النموذج من خلال تقييم دقة التنبؤ و قيمة R-squared.

    3- كيفية التحقق من النموذج عن طريق اختبار الخطية linearity ، والحالة الطبيعية normality ، والتجانس homoscedasticity ، والارتباط الذاتي autocorrelation ، والخطية المتعددة multicollinearity. 

    4- طريقة الكشف عن القيم المتطرفة عن طريق اختبار مسافة كوك Cook’s distance.

    هناك عدة أنواع للانحدار الخطي. الانحدار الخطي البسيط: عندما يكون هناك متغير مسقل واحد. و الانحدار الخطي المتعدد: عندما يكون هناك أكثر من متغير مستقل. وبشكل عام، فإن البيانات لا تكون بشكل خطي في أغلب الحالات الطبيعية، لذلك تحتوي معادة الانحدار الخطي على معدل الخطأ error term

    نموذج الانحدار الخطي

    سنقوم ببناء نموذج انحدار خطي متعدد نحلل فيه بيانات الإسكان في مدينة بوسطن في الولايات المتحدة في نهاية السبعينيات 1790s. تحتوي البيانات على 506 حالة (Cases) و 14 متغير (attributes).

    دعونا نأخذ نظرة سريعة على البيانات:

    names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'[
    
    (data = pd.read_csv("./housing.csv", delim_whitespace=True, names=names
    
    ()data.head

    1- نبذة عن المتغيرات الواردة في البيانات:

    Crime: معدل الجريمة.

    ZN: نسبة الأراضي السكنية.

    INDUS: نسبة المساحة المخصصة للأعمال التجارية لغير قطاع التجزئة.

    CHAS: هل المنطقة السكنية محاذية لنهر تشارليس (1 إذا كانت محاذية و 0 إذا كانت عكس ذلك).

    NOX: معدل تركيز النيتروجين في المنطقة.

    RM: متوسط عدد الغرف في المساكن.

    AGE: نسبة السكان المالكين للمساكن التي بنيت قبل عام 1940.

    DIS: المسافة بين المنطقة و أقرب 5 مراكز توظيف.

    RAD: مؤشر سهولة الوصول إلى الطرق السريعة.

    TAX: معدل قيمة ضريبة المساكن لكل 10000 دولار.

    PTRATIO: عدد التلاميذ إلى المعلمين.

    B: نسبة السكان من البشرة السوداء.

    LSTAT: نسبة السكان من الطبقة الفقيرة.

    MEDV: متوسط قيمة المساكن التي يقطنها ملاك وليس مستأجرين.

    2- نحدد القيم المراد التنبؤ بها والمتغيرات المراد دراسة تأثيرها:

    سنقوم بالتنبؤ بأسعار المنازل (“MEDV”) باستخدام بقية المتغيرات من خلال الأمر التالي:

    predictors = ["CRIM", "ZN", "INDUS", "CHAS", "NOX", "RM", "AGE", "DIS", "RAD", "TAX", "PTRATIO", "B", "LSTAT"]
    
    outcome = "MEDV"-> Create X and y datasets
    
    [X = data[predictors
    ["y = data["MEDV

    3 – بناء نموذج الانحدار:

    لبناء النموذج، سنقوم باستخدام مكتبة Statsmodels. يمكن أيضا ً استخدام Scikit-learn لبناء النموذج ولكن في هذا الدرس سنستخدم Scikit-learn لتدريب واختبار النموذج. 

    import statsmodels.api as sm (X = sm.add_constant(X

    كما هو سائد في هذا النوع من النماذج، سنقوم بتقسيم البيانات لمجموعتين: 80% من البيانات لتدريب النموذج و 20% منها لاختبار النموذج. سيتعلم النموذج من البيانات الموجودة في مجموعة التدريب والتي تكون النتيجة فيها معروفة وبعد تدريب النموذج سنقوم بتعميمه على بقية البيانات في مجموعة الاختبار. سنقوم بالتنبؤ بقيمة y في مجموعة الاختبار ومن ثم مقارنتها مع النتائج الحقيقية التي بحوزتنا للكشف عن مدى فرط التخصيص (Overfitting) أو فرط التعميم (Underfitting). 

    تقسيم بيانات الدريب#
    
    from sklearn.model_selection import train_test_split
    train_X, test_X, train_y, test_y = train_test_split(X, y, train_size = 0.8, random_state = 42)
    
    نموذج الانحدار الخطي#
    
    (model = sm.OLS(train_y, train_X
    ()model = model.fit
    (()print(model.summary2
    
    

    4- النتائج:

    – عدد الصفوف في البيانات 404 (80% من البيانات المتاحة). 

    – قيمة R-squared (والتي تشير إلى جودة النموذج والتي تتراوح قيمتها عادة من 0 إلى 1) هي 0.75 للنموذج الذي قمنا ببنائه. 

    – قيمة p-value أكبر من 0.05 لبعض المتغيرات مثل: “NZ”, “INDUS”, “AGE”, “TAX”  وبالتالي سنقوم بحذف هذه المتغيرات بسبب عدم أهميتها بناء على قيمة P والتي تحدد عما إذا كانت العلاقة التي نحاول الكشف عنها في عينة البيانات تبقى موجودة في عينة أكبر. 

    5- التنبؤ باستخدام مجموعة الاختبار:

    سنقوم باستخدام دالة model.predict للتنبؤ باستخدام test_x ومن ثم مقارنة النتائج مع test_y. 

    (predictions = model.predict(test_X ({df_results = pd.DataFrame({‘Actual’: test_y, ‘Predicted’: predictions

    6- تقييم النموذج:

    من أهم القيم المستخدمة لتقييم النموذج هي: root mean squared error و the square root of the average squared error لقيمة y وتسمى (y-hat) والتي نستطيع من خلالها قياس دقة النموذج.

    من القيم المهمة لتقييم النموذج هي قيمة R-squared والتي تتراوح قيمتها بين 0 و 1 والتي تقيس نسبة التباين في البيانات التي يتم احتسابها في نموذج الانحدار وتشير هذه القيمة إلى مدى يكون النموذج متناسب مع البيانات التي تم تحليليها.

    لذلك، سنقوم الآن بحساب قيمة كلا ً من  RMSE و R-squared من خلال الأمر التالي:

    from sklearn.metrics import r2_score, mean_squared_error RMSE = np.sqrt(mean_squared_error(test_y, predictions r2 = r2_score(test_y, predictions) ((print(RMSE, r2)

    RMSE=4.92

    R-squared = 0.66

    كما يظهر لدينا في نتائج النموذج حينما تم تطبيقه على مجموعة الاختبار، فنلاحظ أن قيمة R-squared انخفضت من 0.75 (في مجموعة التدريب) إلى 0.66 (في مجموعة الاختبار) 

    7- فحص النموذج:

    عادة قبل البدء ببناء نموذج الانحدار الخطي نفترض ما يلي:

    – فرضية الخطية Linearity: وهي افتراض أن العلاقة بين المتغير المستقل والمتغير التابع هي علاقة خطية.

    – فرضية التوزيع الطبيعي Normality: وهي أن البواقي residuals تتبع التوزيع الطبيعي Normal distribution والمتوسط المتوقع يساوي صفر. 

    – فرضية تجانس التباين Homoscedasticity: وهي افتراض أن اختلاف قيمة الباقي ثابته في جميع قيم X. 

    – فرضية عدم وجود الارتباط التلقائي No autocorrelation: وهي افتراض أن قيم البواقي مستقلة عن بعضها البعض. 

    – فرضية التداخل الخطي (No multicollinearity): وهي افتراض عدم وجود ارتباط عالي بين المتغيرات المستخدمة للتنبؤ. 

    قد يكون الحديث عن قياس أداء النموذج غير واضح مع تعدد أدوات القياس، ولكن قبل الشروع في عملية قياس الأداء من المهم أن نتحقق من مدى تحقق الفرضيات المذكورة آنفا ً. 

    7.1- افتراض الخطية:

    نفترض أن العلاقة بين المتغير المستخدم للتبؤ والقيمة المراد التنؤ بها هي علاقة خطية وهذا الافتراض قد لا يكون صحيح دائما. عندما نقوم بعملية النمذجة فنحن نحاول تكييف البيانات لدالة تساعدنا في شرح بياناتنا، ولكن الانحدار الخطي قد لا يكون النموذج المناسب لهذه الحالة. لذلك، سنبدأ باختبار هذه الفرضية عن طريق تمثيل العلاقة بين القيم الناتجة عن التنبؤ والقيم الحقيقية باستخدام scatter plot والنتيجة المثالية أن تقع نقاط البيانات حول الخط القطري. 

    (sns.lmplot(x=’Actual’, y=’Predicted’, data=df_results, fit_reg=False -> نرسم خط قطري من خلال الأمر التالي: (()d_line= np.arange(df_results.min().min(), df_results.max().max (‘–‘=plt.plot(d_line, d_line, color=’red’, linestyle ()plt.show

    في الشكل الظاهر في الأعلى والذي يقارن البيانات الحقيقية والبيانات التي تم التنبؤ بها في مدينة بوسطن، يمكننا ملاحظة أن العلاقة ليست مثالية بسبب ما يسمى بمشكلة انحياز النموذج عند القيم الدنيا والعليا.

    7.2- فرضية التوزيع الطبيعي Normality: 

    هنا فرضية أن البواقي (residuals) توزيعها طبيعي (normally distributed). قد لا تتحقق هذه الفرضية إما بسبب عدم تحقق فرضية الخطية Normality أو بسبب احتواء البيانات على القيم الشاذة أو المتطرفة (outliers). لذلك، سنقوم باختبار فرضية الخطية باستخدام شكلquantile-quantile plot  و  Q-Q plot 

    from statsmodels.graphics.gofplots import qqplot (‘fig=qqplot(model.resid_pearson,line=’45’,fit=’True (“plt.xlabel(“Theoretical quantiles (“plt.ylabel(“Sample quantiles ()plt.show

    التطابق المثالي في الشكل الظاهر على الجهة اليسرى يظهر بأن توزيع البيانات يتبع الخط باللون الأحمر من أسفل اليسار إلى أعلى اليمين. ولكن، في بيانات بوسطن، نلاحظ أن النموذج الذي قمنا ببنائه متحيز نوعا ما underestimating. كما يمكننا أن نمثل قيم البواقي باستخدام أشكال أخرى مثل (histogram) أو استخدام بعض اختبارات الخطية الأخرى مثل Anderson-Darling  أو   Shapiro-Wilk Test

    7.3- فرضية تجانس التباين (Homoscedasticity):

    وهي افتراض أن اختلاف قيم البواقي ثابته في جميع قيم X. ولكن على العكس في عدم التجانس (heteroscedasticity) لا تتحقق هذه الفرضية عند حدوث التباين في قيم البواقي. 

    ((fig, ax = plt.subplots(figsize=(5, 5 sns.regplot(model.fittedvalues,model.resid, scatter_kws={‘alpha’: 0.25}, line_kws=({‘color’: ‘C2’, ‘lw’: 2}, ax=ax (‘ax.set_xlabel(‘predicted (‘ax.set_ylabel(‘residuals ()plt.tight_layout ()plt.show

    تُظهر النتيجة المثالية في الجهة اليسرى توزيعا ً موحدا ً للبواقي، ولكن الحالة مختلفة في بيانات بوسطن. نحتاج إلى توخي الحذر بشأن عدم التجانس، مما يشير إلى أن أخطاء التنبؤ تختلف باختلاف نطاق القيم الناتجة عن التنبؤ مما يعني أن نموذجنا قد يكون نموذجا ً غير مكتمل.

    7.4- فرضية عدم وجود الارتباط الذاتي (No Autocorrelation):

    يحدث هذا الافتراض عندما تكون البواقي ليست مستقلة عن بعضها. وهذا قد يتكرر في بيانات السلاسل الزمنية لأسعار الأسهم. سنقوم بتنفيذ اختبار (Durbin-Watson test) للتأكد من تحقق هذه الفرضية.

    from statsmodels.stats.stattools import durbin_watson (durbinWatson = durbin_watson(model.resid (print(durbinWatson

    نتيجة اختبار (Durbin-Watson test) تتراوح بين0  و 4 وعندما تكون القيمة 2.0 فهذه دلالة على تحقق الفرضية. 

    القيم بين 0 و 2 تشير إلى الارتباط ذاتي السلبي (negative autocorrelation). والنتيجة في البيانات التي قمنا بتحليلها فالنتيجة قريبة جدا من 2.0 وبالتالي فيمكننا القول بأن هذه إشارة على أن الفرضية متحققة. 

    7.5- فرضية التداخل الخطي (Multicollinearity):

    وهي افتراض أن متغيرات التنبؤ (predictor variables) في الانحدار الخطي غير مترابطة مع بعضها البعض. عدم تحقق هذه النظرية لا يعني أن النموذج غير قابل للتطبيق ولكن علينا أولا ً تحديد المتغيرات الغير هامة اذا كانت مترابطة ارتباطا ً قويا ً مع المتغيرات الأخرى.

    سنقوم بتمثيل الارتباط بين متغيرات التنبؤ على شكل خريطة حرارية heatmap وسنقوم أيضا ً بالتحقق من قيم الارتباط بين هذه المتغيرات عن طريق حساب (variance inflation factor (VIF والذي يقيس الارتباط الذاتي بين متغيرات التنبؤ.

    (()mask = np.zeros_like(train_X.drop(“const”, axis=1).corr mask[np.triu_indices_from(mask)] = True ,(sns.heatmap(train_X.drop(“const”, axis=1).corr().round(2 (“annot=True, mask=mask, cmap=”cividis

    كما يظهر لدينا، يمكننا ملاحظة وجود ارتباط عالي بنوعيه السلبي والايجابي في بيانات بوسطن التي نعمل عليها، لذلك سنجري اختبار VIF.

    from statsmodels.stats.outliers_influence import variance_inflation_factor as vif :((for i in range(len(X.columns (v=vif(np.matrix(X),i :{}print(“Variance inflation factor for (((.format(X.columns[i],round(v,2″{}

    VIF for CRIM: 1.79
    VIF for ZN: 2.3
    VIF for INDUS: 3.99
    VIF for CHAS: 1.07
    VIF for NOX: 4.39
    VIF for RM: 1.93
    VIF for AGE: 3.1
    VIF for DIS: 3.96
    VIF for RAD: 7.48
    VIF for TAX: 9.01
    VIF for PTRATIO: 1.8
    VIF for B: 1.35
    VIF for LSTAT: 2.94

    يمكن تفسير نتائج اختبار VIF على النحو التالي:

    إذا كانت قيمة VIF تساوي 1 فهذا يعني بأن هناك متغيرين من متغيرات التنبؤ ليست مترابطة.

    وإذا كانت قيمة VIF بين 1 و 5 فهذا يشير إلى وجود ارتباط متوسط. 

    وأما إذا كانت قيمة VIF أعلى من 5 فهذا يشير إلى وجود ارتباط عالي بين متغيرين. 

    8 – القيم الشاذة أو المتطرفة (Outliers):

    سنقوم بالكشف عن القيم المتطرفة باستخدام شكل Cook’s distance. 

    تحدد مسافة كوك تأثير حذف ملاحظات معينة (observations) من مجموعة البيانات. كما يمكننا الاستفادة من مسافة كوك أثناء عملية الاختبار ما إذا كانت ملاحظة معينة قد تشكل قيمة متطرقة أو متغيرا ً مؤثرا ً. ونستطيع عمل هذا الشكل من خلال الأمر التالي: 

    from statsmodels.stats.outliers_influence import OLSInfluence as influence (inf=influence(model i, d) = inf.cooks_distance) (“plt.title(“Cook’s distance plot (“,”=plt.stem(np.arange(len(i)), i, markerfmt ()plt.show

    من خلال تمثيل كوك نستطيع أن نحدد القيم التي بحاجة إلى فحص إضافي وتحديد إمكانية حذفها. وكقاعدة عامة، تكون القيمة ذات تأثير عالي إذا كانت مسافة كوك أعلى من 4/N-K-1 حيث N تساوي عدد الملاحظات في البيانات (observations)، و K تساوي عدد متغيرات التنبؤ.

    9- الخاتمة:

    في هذا الدرس وجدنا أن بعض الفرضيات التي افترضناها قبل بدء التحليل لم تتحقق وهذا بدوره تسبب بحدوث بعض المشاكل التي سيكون لها أثر على جودة أداء النموذج والقيم الناتجة عن التنبؤ. وكما هي الحالة الطبيعية عند تحليل بيانات حقيقية فإن عدم تحقق هذه الفرضيات أمر طبيعي بل هو الأصل في كثير من الأحيان. ولكن، علينا متابعة خطوات بناء النموذج بحذر ومحاولة الكشف عن المشاكل الناتجة عن عدم تحقق بعض الفرضيات ومحاولة تحسينها قبل اتخاذ بعض القرارات بناءً على نتائج هذه النماذج. 

    وبالنظر إلى نتائج النموذج الذي قمنا ببنائه استنادا ًعلى بيانات مدينة بوسطن، فيمكننا محاولة تحسين أداء هذا النموذج من خلال بعض الأدوات منها Random Forest Regressor و XGBoost. كما يمكننا مواصلة تحسين النموذج من خلال تحليل المكون الرئيسي analysis-PCA لتحديد وحذف بعض متغيرات التنبؤ الأقل أهمية مع الاحتفاظ بالمتغيرات الأكثر الأهمية.

    أيضا ً، يمكننا استخدام ما يسمى باختبار المصادقة (K-fold Cross Validation(CV عن طريق تقسيم البيانات لعدة أجزاء K تسمى folds ومن ثم استخدام كل جزء كمجموعة اختبار testing set. 

    ختاما ً، نموذج الانحدار الخطي علم واسع وما تم التطرق له في هذا الدرس ما هو إلى بعض الأساسيات البسيطة والتي نأمل بأن تكون نبذة مفيدة عن هذا الموضوع وأن تساعدك لبدء رحلتك في نماذج الانحدار الخطي بمختلف أنواعها.

    المصدر:

    https://towardsdatascience.com/linear-regression-model-with-python-481c89f0f05b 

  • استخدام البيانات الضخمة في القطاع الزراعي تجربة شركة (جون دير)

    ترجمة: أثير  الحارثي

    تدقيق: شروق السنان

     نبذة

    كانت شركة التصنيع الزراعي جون دييري شركة رائدة دائماً، حيث قام صاحب الشركة ومؤسسها شخصيا بتصميم وبناء وبيع أحد أولى المحاريث التجارية من الحديد الصلب، والتي بدورها سهلت بشكل واضح حياة المستوطنين المنتقلين إلى الغرب الأوسط خلال منتصف القرن التاسع عشر، والذي جعل من هذه الشركة أسطورة أمريكية. ولأن الشركة في أغلب الأحيان من رواد الابتكار فليس من المستغرب أنهم تبنوا البيانات الضخمة بحماس للمساعدة في إدارة أعمال الشركة افتراضيا تماما كما فعلت على أرض الواقع. 

    ما هي المشكلة التي تساعد البيانات الضخمة في حلها؟ 

     أعداد سكان العالم في تزايد سريع، مما يعني أنه سيكون هناك دائما طلب متزايد على الغذاء. ومع استمرار  عدم تقبل العامة لفكرة الأغذية المعدلة، فإن زيادة كفاءة إنتاج المحاصيل القياسية أمر أساسي لتلبية هذا الطلب المتزايد. أطلق جون ديري العديد من الخدمات التي تدعم البيانات الضخمة والتي تسمح للمزارعين بالاستفادة من المراقبة اللحظية الجماعية للبيانات التي تم جمعها من آلاف المستخدمين لتحقيق هذه الغاية. هذه البيانات تمكن المزارعين من اتخاذ قرارات مدروسة مثل معرفة أي من المحاصيل سيتم زراعتها وكم من الأسمدة سيتم الحاجة إليها. 

     كيف تم استخدام البيانات الضخمة عمليا ً؟

     Myjohndeere.com هي بوابة إلكترونية تسمح للمزارعين بالوصول إلى البيانات التي يتم جمعها من أجهزة الاستشعار المتصلة بآلاتهم الخاصة أثناء عملهم في الحقول، بالإضافة إلى البيانات المجمعة من المستخدمين الآخرين في جميع أنحاء العالم. كما أنها مرتبطة بقواعد بيانات خارجية، بما في ذلك بيانات حالة الطقس والبيانات المالية. 

    هذه الخدمات تتيح للمزارعين اتخاذ قرارات مدروسة بشكل أفضل بشأن كيفية استخدام معداتهم، وكيف يحصلون على أفضل النتائج والعوائد على استثماراتهم من هذه الخدمات المقدمة لهم. على سبيل المثال، يمكن رصد استهلاك الوقود من مختلف الحصادات وربطها مع مستويات إنتاجيتها. من خلال تحليل البيانات من آلاف المزارع، والعمل على محاصيل متنوعة في مختلف الظروف، من الممكن ضبط العمليات للوصول لأعلى مستويات الإنتاج المثلى. يساعد النظام أيضا على تقليل وقت التعطل عن العمل باستخدام البيانات المجمعة من المستخدمين من خلال التنبؤ  بالوقت والمكان المحتمل لتعطل المعدات. كما يمكن مشاركة هذه البيانات مع المهندسين الذين على أهبة الاستعداد لتوريد قطع الغيار الجديدة وتوفير خدمة الصيانة عند الحاجة إليها – وذلك لتقليل الوقت الضائع الناجم عن الآلات الباهظة الثمن التي تتعطل. 

    ومن الخدمات الأخرى التي أطلقتها الشركة في عام 2011 هي خدمة فارمسايت والتي تسمح للمزارعين باتخاذ قرارات استباقية بشأن المحاصيل التي يزرعونها، استنادا إلى المعلومات التي يتم جمعها في حقولهم الخاصة وحقول المستخدمين الآخرين، حيث يتم تعيين توجيهات ووصفات فردية مخصصة لحقل معين أو أجزاء من الحقول، كما يتم برمجة الآليات عن بعد لتعديل سلوك معين وفقاً لأفضل الممارسات المقترحة استناداً على التحليلات. 

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

    ما هي النتائج؟ 

    وبالإضافة إلى زيادة أرباح المزارعين وخلق أغذية أرخص وأكثر وفرة للعالم، هناك مكاسب بيئية محتملة أيضا. يمكن أن تسبب المبيدات الحشرية والأسمدة تلوث الهواء والمجاري المائية ، لذلك فإن الحصول على مزيد من المعلومات حول المستويات الدقيقة اللازمة للإنتاج الأمثل يعني أنه لن يتم استخدام  هذه المبيدات الحشرية أكثر من اللازم.

     إن احتمال حدوث تغيير إيجابي هائل في عالم يواجه زيادة كبيرة في أعداد السكان ونقص في إنتاج الغذاء وخاصة في الدول الناشئة ، هو أمر يمكن أن يفيد الجميع على هذا الكوكب.

     ما هي البيانات المستخدمة؟

     البيانات المستخدمة بشكل أساسي هي البيانات الداخلية، والتي يتم الحصول عليها في المقام الأول من الحساسات على آلات جون ديري والمسابير في التربة، والتي يتم تجميعها بعد ذلك وإتاحتها لمستخدمي myjohndeere.com. كما يتم توفير بعض البيانات الخارجية، بما في ذلك بيانات الطقس والبيانات المالية. 

    ما هي التفاصيل التقنية؟ 

    تستخدم شركة جون دير نظام SAP HANA “نظام إدارة قواعد بيانات علائقية في الذاكرة” — لمعالجة هذه البيانات الضخمة، فيتم تحميل مئات الملايين من بيانات شركة جون ديري في نظام HANA وذلك ليتسنى للمهندسين والمحللين الاستفادة من البيانات باستخدام التحليلات والنماذج الرياضية. 

    ما هي التحديات التي تم التغلب عليها؟ 

    مع كل هذه البيانات التي يتم إنشاؤها ومشاركتها ، هناك جدل متزايد حول من يملكها بالفعل. تتيح منصة MyJohnDeere للمزارعين مشاركة البيانات مع بعضهم البعض (أو اختيار عدم مشاركتها ، إذا رغبوا في ذلك) وكذلك مع طرف ثالث وهم  مطوري التطبيقات من الجهات الخارجية ، الذين يمكنهم استخدام واجهة برمجة التطبيقات او مايعرف بـ (APIs) لربط  المعدات من قبل الشركات المصنعة الأخرى، أو لتقديم خدمات تحليل البيانات الخاصة بهم. ولكن هذا لم يمنع العديد من المزارعين من التساؤل عن السبب في ضرورة دفع تكاليف بياناتهم الخاصة، والسؤال عن السبب في أن جون ديري والشركات الأخرى التي تقدم خدمات مماثلة لا ينبغي أن تدفع لهم – وفقا لمديرة اتحاد مكتب المزارع الأمريكي ماري كاي تاتشر. 

    وتجرى حاليا محادثات بين الاتحاد والشركات بما فيها جون دير ومونسانتو ودوبونت حول كيفية معالجة هذه المخاوف. بالإضافة إلى قضايا الخصوصية، حيث يوجد مخاوف من أن وجود الكثير من المعلومات يمكن أن يسمح للمتداولين في الأسواق المالية بالتلاعب بالأسعار.

     هناك أيضا مسألة انخفاض فرص العمل في مجال الزراعة كنتيجة مباشرة للتشغيل الآلي والبيانات الضخمة. لقد بدأنا بتفويض المزيد والمزيد من المسؤوليات للروبوتات – ليس لأن المزارع كسول (كما سيعرف أي شخص يعيش في منطقة زراعية ، فهي بالتأكيد ليست كذلك!) ولكن لأن الروبوتات يمكن أن تفعل ذلك بشكل أفضل في كثير من الأحيان. من المؤكد أن رؤية جون ديري لمساحات شاسعة من الأراضي الزراعية التي يديرها رجل يجلس في محطة كمبيوتر مع فريق صغير من المساعدين ستؤدي إلى فرص عمل أقل للبشر الذين يعملون في الأرض ، ولكن هذا هو الاتجاه على الأقل في القرن الماضي ، بغض النظر. وهو الاتجاه الذي بدأ قبل وقت طويل من ظهور البيانات الضخمة.

    ما يستفاد من التجربة

     هناك أسطورة شائعة حول البيانات الضخمة أنها تقنيات لا يستطيع القيام بها سوى شركات وادي السيليكون. ومع ذلك ، تظهر هذه الحالة لتثبت أنه ممكن لأي منشأة الاستفادة من البيانات ، وحتى الشركات  التقليدية تتحول اليوم إلى البيانات الضخمة. 

    بدأ العديد من الشركات التقليدية الاستفادة من البيانات الضخمة مثل شركات النقل بالشاحنات، والتي تستخدم البيانات في تخطيط طرق ومسارات سير أكثر كفاءة، والشركات العقارية والتي تستخدم البيانات للتنبؤ بالطفرات والكساد في السوق، وشركات التأمين على السيارات باستخدام  هواتف عملائها لمراقبة كفاءة قيادتهم. 

    باستطاعة أي شركة هذه الأيام أن تكون مثل جون ديري: شركة بيانات ضخمة

    المصدر:

    Big Data in Practice: How 45 Successful Companies Used Big Data Analytics to Deliver Extraordinary Results by Bernard Marr