[리그오브레전드 데이터분석] 아니 우리팀 핑와 나만 삼?

JoonQpa·2022년 7월 8일
3

개인프로젝트

목록 보기
6/6
post-thumbnail

롤을 하다보면 아이템을 사기위해 돈을 아껴놓아야할지, 핑와를 한개 또는 두개를 구입해야할지 고민될때가 많은데, 이때 핑와 구입이 승률에 미치는 영향을 분석해보고 싶어졌습니다.

⭐ 분석 주제
핑와 구입량이 팀의 승률에 미치는 영향

⭐ 가설
승리팀과 패배팀의 총 골드 획득량이 비슷한 게임이라면, 핑와 구입량이 승률에 유의미한 영향을 미칠 것이다.

⭐ 계획
승리팀과 패배팀의 총 골드 획득량이 비슷한 플레티넘 게임을 분석.

총 골드 획득량이 비슷한 경기를 추리는 이유:

골드 획득량 차이가 많이 나는 경기를 분석할 경우, 골드 획득량이 많은 팀의 핑와구입 기회비용이 상대팀보다 낮아져 두 팀사이에서 핑와구입의 영향력이 달라짐에 따라 분석 결과에 영향을 줄 수 있다.

또한 골드 자체가 승률에 가장 직접적으로 연관되어 있기때문에 골드차이가 많이 벌어진 경기를 분석할 경우, 이미 골드차이를 많이 벌려놓은 팀의 승률이 높을 수밖에 없는 상태에서, 골드 여유가 있는 팀에서의 핑와 구입량이 당연히 높을 것이기 때문에 핑와의 양향력이 과대평가 될 가능성이 있다.


먼저 분석을 위해서 API key와 플레티넘 아이디를 세팅하여 matchID를 가져옵니다.

Helper 모듈은 제가 분석을 위해 API에서 데이터를 요청했던 코드들을 소소하게 정리해둔 클래스입니다

분석을 위해 사용할 데이터를 가져오기 위해 플레티넘 1에 해당하는 경기들을 추려서 플레티넘 플레이어들의 puuid를 가져왔습니다.

플레이어들이 진행했던 matchId를 호출한 모습입니다. 분석을 위해 최대한 많은 경기를 호출하고 분석하고 싶었지만, APIKey rate limit를 다룰줄 몰라서 모든 경기를 분석하진 못했습니다.

핑와의 영향력을 분석하기위해서,

승리팀과 패배팀의 총 골드 차이가 10,000골드 이하인 경기들을 추리기 위한 코드입니다.

API rate limit를 다루지 못해 코드를 돌릴때마다 API Key가 만료되는 바람에 모든 경기를 추릴 수 없어 약 40경기의 데이터만을 가지고 분석했습니다.

이번 분석의 핵심요소인, 핑크 와드 구입량 데이터를 추린 모습입니다.

데이터가 위에서부터 순서대로 승리팀, 패배팀으로 구성되어 있는 점을 이용하여, 1~5 번째 플레이어(승리팀)의 핑크와드 구입량을 모두 합하고,
6~10 번째 플레이어(패배팀)의 핑크와드 구입량도 구해주었습니다.

승리팀과 패배팀의 핑와 구입량을 첫번째 열로 두고,
승리시 1, 패배시 0의 값을 주는 win 열을 새로 만들어 줍니다.

큰 의미는 없어보이는 분포도..

independent variable의 값이 0과 1의 값을 갖는 binary data type일땐 Linear regression이 아닌 Logistic Regression을 통해 회귀분석을 합니다.

Logistic Regression 결과 표.

우선 가장 먼저 P-value의 값이 0.689로 pinkWardswin은 통계적으로 유의하지 않다.

즉, 핑크 와드의 구입량은 게임의 승패에 statistically significant한 영향을 주지 않는다. 라는 결론이 지어집니다.


⭐ 느낀점
게임을 플레이하면서 핑크 와드가 중요하다는 것은 누구나 아는데, 그래서 얼마나 중요하다는 것인지 궁금해서 시작된 분석이였다.

당연히 의미있는 결과가 나올 것이라는 예상과 다르게 통계적으로 의미없는 결과가 나와서 데이터를 다룰때에 문제점이 있었나 다시 한번 천천히 살펴봐야겠다.

(핑와대신 AP템트리를 올리는 블리츠를 인정할 수 없다.)

API rate limit를 다루는 법을 알아낸 다음 훨씬 더 큰 데이터셋과 여러 다른 변수들을 함께 넣어 다시 한번 분석을 해보고싶다.


🙄 다음 개인 프로젝트 계획

  1. 회귀 분석 사이트 만들기.

정말 간단한 통계분석도 통계분석 툴이 아닌 파이썬 코드를 추적하고, 적용하려니 꽤 번거롭다는 생각이 들었다.

그래서 이용자가 데이터셋을 업로드하고, 분석하고 싶은 variables들을 선택했을때, 자동으로 회귀분석을 시켜주어 결과 값을 리턴하는 간단하지만 유용해서 내가 쓰고 싶은 통계 분석 계산기 사이트를 만들어봐야겠다.

  1. 롤에서 승패와 가장 직결되는 변수찾기

광범위한 데이터셋을 뽑아내서 승패에 가장 큰 영향을 미칠 것 같은 변수들을 한데 모아 분석해봐야겠다.



혹시나 롤 API서버에서 데이터를 추출할때 저와 같은 분들께 조금이라도 도움이 될까하여 만들어본 모듈입니다.

Helper 클래스
깃헙주소 :https://github.com/attabooi/riot-api


부족한 글을 읽어주셔서 감사하고, 조언 혹은 피드백 남겨주시면 감사한 마음으로 읽겠습니다!

profile
Intuition factory: from noob to pro

0개의 댓글