تحليلات البيانات الضخمة
بعدما تحدَّثنا عن كيفية جمع البيانات الضخمة وتخزينها، يمكننا الآن تناول بعضٍ من الأساليب المُستخدمة في استخراج المعلومات المفيدة من هذه البيانات، على غرار تفضيلات العملاء أو مدى سرعة انتشار وباءٍ ما. تتغيَّر تحليلات البيانات الضخمة، المصطلح الشامل لأساليب تحليل البيانات، بسرعة مع تزايد أحجام مجموعات البيانات وإفساح علم الإحصاء التقليدي المجالَ أمام هذا النموذج الجديد.
تقدِّم شركة هادوب، التي تعرَّفنا عليها في الفصل الثالث، وسيلةً لتخزين البيانات الضخمة من خلال نظام الملفات الموزَّعة الذي أنشأته. وكمثال على أساليب تحليل البيانات الضخمة، سنلقي نظرةً على نموذج «ماب رديوس» البرمجي، وهو عبارة عن نظام معالجة للبيانات الموزَّعة والذي يشكِّل جزءًا من الوظيفة الأساسية لنظام «هادوب إيكوسيستم». تستخدم أمازون، وجوجل، وفيسبوك، وغيرها من مؤسساتٍ أخرى نظام هادوب في تخزين بياناتها ومعالجتها.
نموذج «ماب رديوس»
ثمة أجزاء عديدة في هذا النموذج التحليلي: مُكَوِّن «التجزئة»، ومرحلة «الخلط»، ومُكَوِّن «التجميع». يُكتَب مُكَوِّن التجزئة بواسطة المُستخدِم، ويجري فيه فرز البيانات التي تُهمنا. ثم تأتي مرحلة الخلط، التي تُعَد جزءًا رئيسيًّا من الكود الرئيسي لنموذج «ماب رديوس» من هادوب، حيث تُوضَع البيانات في مجموعاتٍ حسب المفتاح، وأخيرًا نصل إلى مُكَوِّن التجميع، الذي يكتبه المستخدم أيضًا، والذي يتولَّى تجميع هذه المجموعات وعرض النتيجة. تُرسَل النتيجة بعد ذلك إلى نظام هادوب للملفات الموزَّعة من أجل تخزينها.
لنفترض، على سبيل المثال، أن لدينا ملفات المفتاح والقيمة الآتية مُخزَّنة في نظام هادوب للملفات الموزَّعة، مع وجود إحصاءاتٍ عن كلٍّ من الأمراض التالية: الحصبة، وفيروس زيكا، والسُّل، والإيبولا. في هذه الحالة، المرض هو المفتاح، وتُعيَّن له قيمة تمثِّل عدد الحالات المصابة بكل مرض. ما يهمنا هو إجمالي عدد الحالات لكل مرض.
الملف ١:
الملف ٢:
الملف ٣:
يُعَد هذا مثالًا بسيطًا للغاية، ولكن يُمَكِّننا نموذج «ماب رديوس» من تحليل كمياتٍ كبيرةٍ للغاية من البيانات. على سبيل المثال، باستخدام البيانات التي تقدِّمها مؤسسة كومون كراول، وهي مؤسسة غير ربحية توفِّر نسخةً مجانية من شبكة الإنترنت، يمكننا إحصاء عدد مرات ظهور كل كلمة على شبكة الإنترنت عن طريق كتابة برنامج كمبيوتر مناسب يستخدم نموذج «ماب رديوس» البرمجي.
عوامل تصفية «بلوم»
الفكرة الأساسية في عوامل تصفية «بلوم» أننا نريد إنشاء نظام، بِناءً على قائمة من عناصر البيانات، للإجابة عن السؤال «هل يوجد (س) في القائمة؟» في حالة مجموعات البيانات الضخمة، قد تصبح عملية البحث في المجموعة بأكملها بطيئةً للغاية بما يجعل البحث غير مفيد؛ ومن ثمَّ، نستخدم عامل تصفية «بلوم» الذي لا يكون دقيقًا بنسبة ١٠٠ في المائة؛ لأنه أسلوب قائم على الاحتمالات — قد تحدِّد الخوارزمية أن عنصرًا ما ينتمي إلى القائمة رغم أنه لا ينتمي إليها في الواقع، ولكنه مع ذلك أسلوبٌ يتسم بالسرعة والموثوقية وكفاءة التخزين لاستخراج المعلومات المفيدة من البيانات.
لعوامل تصفية «بلوم» الكثير من الاستخدامات. على سبيل المثال، يمكن استخدامها للتحقق ممَّا إذا كان عنوان ويب معين يؤدي إلى موقع إلكتروني ضار. في هذه الحالة، قد يعمل عامل تصفية «بلوم» بمثابة قائمة حظر بعناوين المواقع الإلكترونية الضارة المعروفة والتي يمكن الاستعانة بها للتحقُّق، بسرعة ودقة، ممَّا إذا كان عنوان الموقع الإلكتروني الذي نقرت عليه للتو آمنًا أم لا. ويمكن كذلك أن نضيف إلى قائمة الحظر عناوين المواقع الإلكترونية التي اكتُشِفَ حديثًا أنها ضارة. وبما أن عدد المواقع الإلكترونية قد تخطَّى حاليًّا المليار، ويُضاف المزيد منها يوميًّا، أصبح تتبُّع المواقع الإلكترونية الضارة إحدى مشكلات البيانات الضخمة.
أحد الأمثلة الوثيقة الصلة على ذلك رسائل البريد الإلكتروني الضارة، التي ربما تكون بريدًا عشوائيًّا أو ربما تحتوي على محاولات تصيُّد احتيالي. يوفِّر لنا عامل تصفية «بلوم» طريقة سريعة للتحقق من كل عنوان بريد إلكتروني؛ ومن ثمَّ، نتمكَّن من إصدار تحذير في الوقت المناسب إذا لزم الأمر. يشغل كل عنوان ٢٠بايت تقريبًا؛ ومن ثمَّ فإنَّ تخزين كلٍّ منها وفحصه عملية تستهلك وقتًا طويلًا للغاية بما أننا نحتاج إلى تنفيذ هذا بسرعة كبيرة — باستخدام عامل تصفية «بلوم»، يمكننا تقليل كمية البيانات المخزَّنة كثيرًا. يمكننا أن نرى كيفية هذا عمليًّا باتباع عملية إنشاء عامل تصفية «بلوم» صغير واستعراض آلية عمله.
الفهرس | ٠ | ١ | ٢ | ٣ | ٤ | ٥ | ٦ | ٧ | ٨ | ٩ |
قيمة البت | ٠ | ٠ | ٠ | ٠ | ٠ | ٠ | ٠ | ٠ | ٠ | ٠ |
علينا الآن أن نتعرَّف على «دوال التجزئة»، وهي عبارة عن خوارزميات مُصمَّمة لتعيين كل عنصر في قائمة معينة إلى موضعٍ ما في المصفوفة. وبذلك، لن نخزِّن سوى الموضع المُعيَّن في المصفوفة، بدلًا من عنوان البريد الإلكتروني نفسه؛ ومن ثمَّ يقل مقدار مساحة التخزين المطلوبة.
في شرحنا هنا، سنعرض نتيجة استخدام دالتَي تجزئة، ولكن، تُستخدم في المعتاد ١٧ أو ١٨ دالةً معًا في حالة التعامل مع مصفوفة أكبر بكثير. وبما أن هذه الدوال مُصمَّمَة لإجراء عملية التعيين على نحو موحَّد نوعًا ما، فإن كلَّ فهرس لديه فرصة متساوية لعرضه كنتيجة في كل مرة تُطبَّق فيها خوارزمية التجزئة على عنوان مختلف.
ومن ثمَّ، علينا أولًا أن ندع خوارزميات التجزئة تُعيِّن كلَّ عنوان بريد إلكتروني إلى أحد فهارس المصفوفة.
البيانات | دالة التجزئة ١ | دالة التجزئة ٢ |
---|---|---|
[email protected] | ٣ | ٤ |
[email protected] | ٢ | ٧ |
[email protected] | ٤ | ٧ |
[email protected] | ٢ | ٦ |
الفهرس | ٠ | ١ | ٢ | ٣ | ٤ | ٥ | ٦ | ٧ | ٨ | ٩ |
قيمة البت | ٠ | ٠ | ١ | ١ | ١ | ٠ | ١ | ١ | ٠ | ٠ |
كيف نستخدم إذن هذه المصفوفة بوصفها عامل تصفية «بلوم»؟ دعونا نفترض أننا تسلمنا رسالة بريد إلكتروني ونرغب في التحقق ممَّا إذا كان العنوان يظهر في قائمة عناوين البريد الإلكتروني الضارة أم لا. ولنفترض أن هذا العنوان مُعيَّن إلى الموضعَين ٢ و٧، اللذَين يحملان القيمة ١. بما أن جميع القيم المعروضة تساوي ١، من «المحتمل» أن العنوان ينتمي إلى القائمة، وعليه، فمن «المحتمل» أن يكون ضارًّا. لا يمكننا الجزم يقينًا بأن العنوان موجود في القائمة؛ لأن الموضعَين ٢ و٧ كانا نتيجة تعيين عناوين أخرى وربما تكون الفهارس قد استُخدِمَت أكثر من مرة. ومن ثمَّ، عندما نختبر انتماء عنصر ما إلى القائمة، فمن المحتمَل أيضًا عرضُ نتيجة إيجابية خاطئة. ومع ذلك، في حالة عرض فهرس مصفوفة بالقيمة ٠ كنتيجة لأي دالة تجزئة (تذكَّر أنه قد يوجد بوجه عام ١٧ أو ١٨ دالة)، نعلم يقينًا أن العنوان غير موجود في القائمة.
إن العمليات الحسابية المتضمَّنة معقَّدة، ولكننا نلاحظ أنه كلما زاد حجم المصفوفة زاد عدد الأماكن غير المشغولة، وتضاءلت احتمالية الحصول على نتائج إيجابية زائفة أو تطابق غير صحيح. ومن الجليِّ أن حجم المصفوفة يتحدَّد بعدد المفاتيح ودوال التجزئة المُستخدَمة، ولكن لا بد أن تكون المصفوفة كبيرةً بما يكفي لتوفير عدد من الأماكن غير المشغولة يسمح لعامل التصفية بأداء وظيفته بفاعلية ويقلِّل عدد النتائج الإيجابية الزائفة إلى الحد الأدنى.
تتسم عوامل تصفية «بلوم» بالسرعة، ويمكنها أن تقدِّم طريقةً مفيدة للغاية لاكتشاف مُعامَلات بطاقات الائتمان الاحتيالية. يتحقَّق عاملُ التصفية ممَّا إذا كان عنصرٌ معين ينتمي إلى قائمة أو مجموعة معينة أم لا، وعليه، تُوضَع علاماتٌ على أي معاملات غير معتادة بأنها لا تنتمي إلى قائمة معاملاتك المعتادة. على سبيل المثال، إذا لم تكن اشتريت من قبل معدات تسلق الجبال باستخدام بطاقتك الائتمانية، فسيضع عامل تصفية «بلوم» علامةً على عملية شراء حِبَال التسلق هذه بأنها مشبوهة. وعلى النقيض من ذلك، إذا كنت قد اشتريت معدات تسلق الجبال من قبل، فسيُحدِّد عامل تصفية «بلوم» عملية الشراء هذه بأنها ربما تكون مقبولة، ولكن سيظل الاحتمالُ قائمًا في أن النتيجة زائفة.
تُستخدَم عوامل تصفية «بلوم» أيضًا لتسريع الخوارزميات المُستخدَمة في ترتيب نتائج استعلامات الويب، وهو موضوع على جانب كبير من الأهمية لأولئك الذين لديهم مواقع إلكترونية يرغبون في الترويج لها.
خوارزمية «بيدج رانك»
يعتمد أسلوب حساب رتبة الصفحات هذا على عدد الروابط المؤدية إلى صفحة ويب ما، فكلما زاد عدد الروابط، ارتفعت درجة التقييم، وظهرت الصفحة في مكان أكثر تقدمًا ضمن نتائج البحث. ولا يعكس هذا عدد مرات زيارة الصفحة. إذا كنت مصمِّم مواقع إلكترونية، فإنك ترغب في تحسين موقعك حتى يتصدَّر قائمة نتائج البحث بكلمات بحثٍ معينة؛ وذلك لأن أغلب الناس لا ينظرون إلى ما هو أبعد من نتائج البحث الثلاث أو الأربع الأولى. وهذا يتطلَّب عددًا هائلًا من الروابط، ويؤدي، لا محالة، إلى عملية متاجرة بالروابط. حاولت جوجل حل مشكلة الترتيب «الزائف» تلك عن طريق تعيين رتبة جديدة هي صفر للشركات المتورطة في الأمر، أو حتى إزالتها تمامًا من محرك بحث جوجل، إلا أن هذا لم يحلَّ المشكلة، بل أجبر هذه التجارة على العمل في الخفاء، واستمر بيع الروابط.
لم تُستبعَد خوارزمية «بيدج رانك» نفسها، بل أصبحت جزءًا من مجموعة كبيرة من برامج الترتيب غير المتاحة للعامة. يعيد محرك بحث جوجل حساب الرُّتَب بصورة دورية، بما يعكس الروابط المضافة وكذلك المواقع الإلكترونية الجديدة. وبما أن خوارزمية «بيدج رانك» حسَّاسة من الناحية التجارية، فلا توجد تفاصيل كاملة عنها متاحة للعامة، ولكن يمكننا تكوين فكرة عامة عنها بالنظر إلى مثال. تقدِّم الخوارزمية طريقةً معقدة لتحليل الروابط بين صفحات الويب بِناءً على نظرية الاحتمالات، حيث تُشير الاحتمالية «واحد» إلى اليقين والاحتمالية «صفر» إلى الاستحالة، وكل شيء آخر يحمل قيمةً احتمالية تتراوح بين هاتَين القيمتَين.
لفهم كيفية تحديد الرُّتَب، نحتاج أولًا إلى أن نعرف الشكل الذي يكون عليه التوزيع الاحتمالي. إذا فكَّرنا في نتيجة إلقاء نرد ذي ستة أوجه متساوية، فإن النتائج من ١ إلى ٦ تحمل احتمالية الظهور نفسها، وعليه، فإن كلًّا منها له احتمالية بنسبة ١ / ٦. تصف القائمةُ التي تتضمَّن جميع النتائج المحتملة، بالإضافة إلى احتمالية حدوث كل منها، التوزيعَ الاحتمالي.
بالرجوع مرةً أخرى إلى مسألة ترتيب صفحات الويب حسب الأهمية، لا يمكننا القول إن جميعها متساوية من حيث الأهمية، ولكن إذا توافرت لنا طريقة لتعيين الاحتمالات لكل صفحة ويب، فمن شأن هذا أن يمنحنا مؤشرًا معقولًا عن مدى أهميتها. إذن، ما تفعله خوارزميات على غرار «بيدج رانك» هو أنها تنشئ توزيعًا احتماليًّا لشبكة الويب بأكملها. لتفسير ذلك، دعونا نتخيَّل متصفحًا عشوائيًّا للويب يبدأ التصفح من أي صفحة ويب ثم ينتقل إلى صفحة أخرى باستخدام الروابط المتاحة.
-
إجمالي الأصوات لصالح BD1 هو ١ / ٢ (من قِبل BD2).
-
إجمالي الأصوات لصالح BD2 هو ١ (من قِبل BD3).
-
إجمالي الأصوات لصالح BD3 هو (من قِبل BD1 وBD2).
نسبة الأصوات المُعطاة من قِبل BD1 | نسبة الأصوات المُعطاة من قِبل BD2 | نسبة الأصوات المُعطاة من قِبل BD3 | |
---|---|---|---|
لصالح BD1 | صفر | ١ / ٢ | صفر |
لصالح BD2 | صفر | صفر | ١ |
لصالح BD3 | ١ | ١ / ٢ | صفر |
وبما أن اختيار صفحة البدء يكون عشوائيًّا، فإن احتمالية اختيار المتصفح لكل صفحة منها يكون متساويًا؛ ومن ثمَّ تُعيَّن لكل منها رُتبة صفحة مبدئية هي ١ / ٣. لتحديد رتب الصفحات المرغوب فيها فيما يخص مثالنا الحالي، علينا أن نُحدِّث رُتب الصفحات المبدئية حسب نسبة الأصوات المُعطاة لكل صفحة.
مجموعات البيانات العامة
نموذج البيانات الضخمة
رأينا سابقًا بعضًا من طرق الاستفادة من البيانات الضخمة، وتحدَّثنا في الفصل الثاني عن البيانات الصغيرة. بالنسبة إلى تحليل البيانات الصغيرة، يمكن استخدام الأسلوب العلمي على نحو راسخ تمامًا وينطوي بالضرورة على التفاعل البشري: شخصٌ تتراءى لذهنه فكرة ما، ثم يضع فرضيةً أو نموذجًا فكريًّا، ويبتكر طرقًا لاختبار توقعاته. كتبَ عالِمُ الإحصاء الشهير جورج بوكس عام ١٩٧٨: «جميع النماذج خاطئة، ولكن بعضها مفيد». وما يعنيه بهذه العبارة أنَّ النماذج الإحصائية والعلمية، بوجه عام، لا تُقدِّم تمثيلاتٍ دقيقةً للعالَم من حولنا، ولكن يمكن لنموذج فكري جيد أن يُقدِّم تصوُّرًا مفيدًا لِمَا يجب أن تستند إليه التوقعات ويستخرج النتائج بطريقة موثوقة. ولكن، كما أوضحنا سابقًا، فإننا لا نتَّبع هذه الطريقة عند التعامل مع البيانات الضخمة. بدلًا من ذلك، نجد أن السيادة للآلة وليس للعالِم.
وصفَ توماس كون، في إحدى كتاباته عام ١٩٦٢، مفهوم الثورات العلمية التي تلي فتراتٍ طويلةً من العلم العادي عندما يُطوَّر نموذج حالي ويُدرَس من جميع جوانبه. وإذا ظهر عدد كافٍ من الانحرافات التي لا يمكن حلها وتؤدي إلى تقويض أركان نظريةٍ قائمة، ما يؤدي بالباحثين إلى فقدان الثقة فيها، فإن هذا يُسمَّى «أزمة»، وتُحَل في نهاية المطاف بوضع نظرية جديدة أو نموذج فكري جديد. ولكي يُقبَل نموذج فكري جديد، فإنه لا بد أن يُجيب عن بعض الأسئلة الإشكالية الموجودة في النموذج الفكري القديم. ولكن، بوجه عام، لا يطمس النموذج الجديد النموذج السابق بالكامل. على سبيل المثال، غيَّر التحوُّل من ميكانيكا نيوتن إلى النظرية النسبية لأينشتاين من نظرة العِلم إلى العالَم، دون أن يطرح قوانين نيوتن جانبًا: تُمثِّل حاليًّا ميكانيكا نيوتن حالةً خاصة من نظرية النسبية الأوسع نطاقًا. كما يُمثِّل التحوُّل من علم الإحصاء الكلاسيكي إلى أساليب تحليل البيانات الضخمة تغيُّرًا كبيرًا، وتجتمع فيه الكثير من السمات المميِّزة للتحوُّل النوعي. وعليه، فإنَّ الأمر يستلزم حتمًا تطوير أساليب للتعامل مع هذا الوضع الجديد.
دعونا نتناول أسلوب إيجاد ارتباطات في البيانات الضخمة، والذي يوفِّر وسيلةً للتوقع بناءً على قوة العلاقات بين المتغيِّرات. من المتعارَف عليه في علم الإحصاء الكلاسيكي أنَّ الارتباط لا يقتضي السببية. على سبيل المثال، قد يُسجِّل مُعلِّم عدد مرات غياب أحد الطلاب عن المحاضرات ودرجات الطالب؛ ومن ثمَّ، عندما يجد ارتباطًا واضحًا بينها، قد يستخدم غياب الطالب في توقع درجاته. ولكن، لن يكون من الصائب أن يستنتج أن عدد مرات غياب الطالب سبب في تدني درجاته. لا يمكننا معرفة السبب في ارتباط متغيِّرَين من خلال النظر إلى العمليات الحسابية المجرَّدة فحسب؛ فربما الطلاب الأقل قدرةً على الاستيعاب يميلون إلى التغيُّب عن الصف، وربما لا يمكن للطلاب الذين يغيبون بسبب المرض أن يعوِّضوا ما فاتهم لاحقًا. ومن ثمَّ، لا بد من التفاعل والتفسير البشري لتحديد أي الارتباطات مفيدة.
فيما يخصُّ البيانات الضخمة، يؤدي استخدام الارتباطات إلى ظهور مشكلاتٍ إضافية. فإذا تناولنا مجموعة بيانات هائلة، يمكن كتابة خوارزميات تؤدي — عند تطبيقها — إلى عدد كبير من الارتباطات الزائفة، التي تكون مستقلةً تمامًا عن وجهات نظر أي إنسان أو آرائه أو فرضياته. تنشأ مشكلات بسبب الارتباطات الزائفة — على سبيل المثال، معدلات الطلاق واستهلاك السمن النباتي، وهي أحد الارتباطات الزائفة الكثيرة التي تحدَّثت عنها وسائل الإعلام. يمكننا أن نرى مدى سُخف هذا الارتباط من خلال تطبيق الأسلوب العلمي. ولكن، عندما يصبح عدد المتغيِّرات كبيرًا، يزداد أيضًا عدد الارتباطات الزائفة. تُعد هذه إحدى المشكلات الرئيسية المصاحبة لمحاولة استخراج معلومات مفيدة من البيانات الضخمة؛ لأننا عندما نفعل ذلك، مثلما هو الحال مع التنقيب في البيانات الضخمة، فإننا عادةً ما نبحث عن أنماط وارتباطات. وكما سنرى في الفصل الخامس، كانت هذه المشكلات هي أحد أسباب فشل توقُّعات خدمة «اتجاهات الأنفلونزا من جوجل».