Atcoder의 속도 분포 시각화

소개



Python에 의한 스크래핑 연습을 겸해 AtCoder(경기 프로그래밍)에 참가하고 있는 사람의 레이트 분포를 가시화해 보았습니다.

대략적인 내용


  • AtCoder의 연령대
  • 참여 횟수에 대한 비율 분포
  • 나이와 요율의 관계
  • 마지막으로

  • 1. AtCoder의 연령대



    우선은 Atcoder에 참가하고 있는 연령층을, 스크레이핑 해 집계했습니다. 또한 프로필에서 연령을 입력하지 않은 사람은 계산하지 않습니다.



    역시 이미지대로 젊은 사람, 특히 대학생이 많네요.

    2. 참여 횟수에 대한 비율 분포



    평균값과 표준 편차로 시각화



    당연하지만 콘테스트 참가 횟수와 비율은 상관성이 있다고 생각됩니다. 덧붙여서, AtCoder의 레이팅 시스템의 사양에서는 참가 횟수가 10회 이하중은, 레이트가 실력보다 대폭으로 낮은 값이 붙을 가능성이 있다고 합니다.
    AtCoder 콘테스트 등급 정보

    지금까지의 콘테스트에 참가한 횟수마다, 액티브 유저의 레이트를 평균치와 표준 편차로 가시화해 보았습니다. 평균값이 청색인 점에서 평균값 ±표준 편차를 노란색 밴드로 표시합니다. 위의 등급 시스템의 사양 때문에 참가 횟수 10회까지 그리고 그 이후로, 참가 횟수와 레이트 사이에 다른 기울기가 되고 있습니다만, 기본적으로 참가 횟수와 레이트에 선형에 가까운 양의 상관이 있는 것 같습니다 .



    예를 들어, 지금까지 5회 콘테스트에 참가한 사람의 인원수와 요율의 히스토그램은 아래와 같습니다.


    중앙값과 백분위수로 시각화



    평균치에 의한 가시화라고 하면 경기 프로그래밍의 경험자(처음부터 비정상적으로 퍼포먼스가 높다)등의 특이치의 영향을 강하게 받아 버리므로, 중앙값과 퍼센타일에 의한 가시화를 해 보기로 했습니다. 중앙값이 청색인 점으로, 상위 25%~하위 25%를 노란색 띠로 나타내고 있습니다. 중앙값은 평균값에 비해 전체적으로 약간 점수가 낮은 것 같습니다.



    3. 연령과 요율의 관계



    연령대와 비율 분포의 관계로 시각화했습니다. 또한, 상술한 바와 같이 AtCoder의 레이팅 시스템의 사양상, 참가 횟수가 10회 이하 중은, 레이트가 실력보다 대폭 낮은 값이 붙을 것 같기 때문에, 참가 횟수가 10회 이상의 사람에 한정하고, 또한 이상치의 영향이 어려워지도록 중앙값으로 시각화했습니다. 결과를 보면 아무래도 연령과 등급에 상관이 거의 ​​없는 것 같습니다. 40대에 관해서는 데이터 적고, 결과에 편차가 있으므로 참고 정도입니다.



    4. 끝에



    이번에는 Python의 스크래핑으로 Atcoder 사용자 정보를 시각화했습니다.
    끝까지 봐 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기