ملاحظات عالم التاريخ: كيفية قياس أوقات تشغيل الماراثون أثناء الاستلقاء على الأريكة



استمرارًا لدورة الملاحظات حول المشكلات الحقيقية في علم البيانات ، سنتعامل اليوم مع مشكلة حية ونرى المشكلات التي تنتظرنا على طول الطريق.



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



واليوم سنتناول مسألة مهمة - سنطبق علم البيانات في الحياة الواقعية ونجيب على السؤال:



ماذا تخبرنا البيانات حول ماراثون موسكو؟



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



TL ؛ DR: لقد جمعت بيانات عن سباقات ماراثون موسكو لعام 2018/2019 ، وحللت وقت وأداء المشاركين ، وجعلت الكود والبيانات متاحة للجمهور.



جمع البيانات



من خلال البحث السريع على Google ، وجدنا نتائج العامين الماضيين ، 2019 و 2018 .







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



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







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



ما الذي كان عليّ أن أصلحه؟



  • — - , , - (, ).
  • - , — « ».
  • Url- — - , url — , — .
  • — — 2016, 2017… , 2019 — , — , — , , .
  • NA: DNF, DQ, "-" — , , .
  • أنواع البيانات: الوقت هنا عبارة عن نقطة زمنية ، ولكن نظرًا لعمليات إعادة التشغيل والقيم غير الصالحة ، يتعين علينا العمل مع المرشحات ومسح قيم الوقت حتى نعمل على نتائج الوقت الخالص لحساب المتوسطات - جميع النتائج هنا هي متوسط ​​أكثر من أولئك الذين أنهوا و من لديه وقت صالح.


وإليكم الكود المفسد في حال قرر أي شخص الاستمرار في جمع بيانات تشغيل ممتعة.



كود المحلل اللغوي
from bs4 import BeautifulSoup
import requests
from tqdm import tqdm

def main():
    for year in [2018]:
        print(f"processing year: {year}")
        crawl_year(year)


def crawl_year(year):
    outfilename = f"results_{year}.txt"
    with open(outfilename, "a") as fout:
        print("name,result,place,country,category", file=fout)
    # parametorize year
    for i in tqdm(range(1, 1100)):
        url = f"https://results.runc.run/event/absolute_moscow_marathon_2018/finishers/distance/1/page/{i}/"
        html = requests.get(url)
        soup = BeautifulSoup(html.text)
        names = list(
            map(
                lambda x: x.text.strip(),
                soup.find_all("div", {"class": "results-table__values-item-name"}),
            )
        )
        results = list(
            map(
                lambda x: x.text.strip(),
                soup.find_all("div", {"class": "results-table__col-result"}),
            )
        )[1:]
        categories = list(
            map(
                lambda x: x.text.strip().replace(" ",""),
                soup.find_all("div", {"class": "results-table__values-item-country"}),
            )
        )
        places = list(
            map(
                lambda x: x.text.strip(),
                soup.find_all("div", {"class": "results-table__col-place"}),
            )
        )[1:]
        for name, result, place, category in zip(names, results, places, categories):
            with open(outfilename, "a") as fout:
                print(name, result, place, category, sep=",", file=fout)


if __name__ == "__main__":
    main()
```


تحليل الوقت والنتائج



دعنا ننتقل إلى تحليل البيانات ونتائج السباق الفعلية. 

الباندا المستخدمة ، numpy ، matplotlib و seaborn - كلها في الكلاسيكيات.



بالإضافة إلى متوسط ​​القيم لجميع المصفوفات ، سننظر بشكل منفصل في المجموعات التالية:



  • الرجال - بما أنني أنتمي إلى هذه المجموعة ، فإن هذه النتائج مثيرة للاهتمام بالنسبة لي.
  • النساء للتماثل.
  • 35 — «» , — .
  • 2018 2019 — ?.


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











كما نرى ، لم تتغير متوسطات 2018 و 2019 عمليًا - حوالي 1.5 دقيقة كانت أسرع للعدائين في عام 2019. الفرق بين المجموعات التي أهتم بها ضئيل.



دعنا ننتقل إلى التوزيعات ككل. وأول وقت السباق.





كما يمكننا أن نرى الذروة قبل الساعة الرابعة بقليل - فهذه علامة مشروطة لأولئك الذين يحبون "الركض جيدًا" = "نفد 4 ساعات" ، تؤكد البيانات الشائعات الشائعة.



بعد ذلك ، دعنا نرى كيف تغير الوضع في المتوسط ​​على مدار العام.







كما نرى ، في الواقع ، لم يتغير شيء على الإطلاق - تبدو التوزيعات متطابقة تقريبًا.



بعد ذلك ، ضع في اعتبارك التوزيعات حسب الجنس:











بشكل عام ، كلا التوزيعين طبيعيان مع مراكز مختلفة قليلاً - نرى أن الذروة في الذكور تظهر أيضًا في التوزيع الرئيسي (العام).



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







كما نرى ، فإن الصورة هي نفسها الموجودة في مجموعة الذكور بأكملها.

من هذا نستنتج أن 4 ساعات هي أيضًا متوسط ​​وقت جيد بالنسبة لي.



دراسة تحسينات المشاركين 2018 - 2019



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



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



  • شارك 14 شخصًا في كلا السنتين ولم ينتهوا أبدًا
  • ركض 89 شخصًا على ارتفاع 18 مترًا ، لكنهم فشلوا عند 19 مترًا
  • 124 بالعكس
  • أولئك الذين تمكنوا من الركض في المرتين تحسنوا نتيجتهم بمعدل 4 دقائق


ولكن هنا تبين أن كل شيء مثير للاهتمام:







هذا يعني ، في المتوسط ​​، أن الأشخاص يحسنون النتائج بشكل طفيف - ولكن بشكل عام ، فإن الفارق لا يصدق وفي كلا الاتجاهين - أي أنه من الجيد أن نأمل أن يكون أفضل - ولكن بالحكم على البيانات ، اتضح بشكل عام كما تريد!



الاستنتاجات



لقد توصلت إلى الاستنتاجات التالية لنفسي من البيانات التي تم تحليلها



  • بشكل عام ، 4 ساعات هو هدف متوسط ​​جيد.

  • المجموعة الرئيسية من العدائين هي بالفعل في سن تنافسية للغاية (وفي نفس المجموعة معي).

  • في المتوسط ​​، يحسن الأشخاص نتائجهم بشكل طفيف ، ولكن بشكل عام ، بناءً على البيانات ، كيف وصلوا إلى هناك على الإطلاق.

  • متوسط ​​النتائج للسباق بأكمله هو نفسه تقريبًا لكلا العامين.

  • من المريح جدًا التحدث عن الماراثون من الأريكة.






All Articles