1. 주간 인구 패턴 검색
1) 데이터 선택
이전 글 [논문 Review] 온라인 게임의 주간 플레이어 인구 패턴 1에서 제시한 것처럼, 모든 게임에서 플레이어 수의 변동이 주간별 계절성을 보이는 것은 아니다. 그래서 이 클러스터링 과정에는 조각별 선형 추세 제거 기술이 적용 후 계절성이 나타난 1508개의 게임만 사용되었다. 또한, 주간 플레이어의 변동 패턴을 나타내기 위해서는 각 게임의 시계열 데이터에서 플레이어 수가 일주일 내에 어떻게 변동하는지에 대한 모집단 데이터를 추출해야 한다. 그런데, 게임마다 업데이트나 경쟁 등 다양한 이벤트로 인해 추세가 나타날 수도 있기에 0에 가장 가까울 정도의 낮은 추세를 가진 segment에서 데이터를 추출하며, 추세 제거 방법에는 piecewise 선형 제거를 사용한다.
여기서 5mData와 60mData의 게임에서 1주일 간 추출한 플레이어 모집단 데이터는 데이터 포인트 수에 따라 크기가 다르며, 5mData의 게임 데이터의 차원이 60mData에 비해 높은 것은 사실이다. 하지만, 이 연구의 목적은 플레이어의 패턴을 발견하는 것이기 때문에 차원 축소는 진행하지 않았다.
2) 데이터 정규화
각 게임의 전체 모집단 크기는 수백에서 수천까지 다양하기 때문에, 클러스터링에서 거리 측정의 선택을 하려면 정규화는 필수적이다. 따라서, 이 부분에서 raw data를 0 ~ 1의 범위로 정규화를 진행했다.
3) 거리 측정
데이터 수집 문제 또는 다른 이유로 인해 게임 사용자 모집단 데이터에 약간의 왜곡이 있을 수 있다. 따라서 유클리드 거리 대신, DTW(Dynamic Time Warping) 알고리즘을 통해 시간적인 워프를 사용해서 두 시계열 간의 유사성을 측정했다.
DTW(Dynamic Time Warping)는 속도와 길이가 다를 수 있는 두 시계열 간의 형상 기반 유사성을 인식할 수 있는 알고리즘으로, 보행의 유사성을 검증할 때도 이 알고리즘이 사용된다.
4) 군집화 기법 및 매개변수
클러스터 분석은 계측정 클러스터링 기법을 사용했으며, 사전에 계산된 DTW 거리 행렬에서 2개의 data object씩 연결하는 방법을 사용했다. 연결 방법은 Single(가장 가까운 거리), Complete(가장 먼 거리), Average(평균 거리)인 3가지를 적용했다. 연결 방법에 대한 평가는 덴드로그램이 거리 행렬을 얼마나 잘 표현했는지를 나타내는 척도인 Cophenetic 상관계수를 사용했다. Cophenetic 상관계수를 나타내는 방법은 다음과 같다.
Dij : 덴드로그램을 구축하는 데 사용된 거리 행렬 D에서 i와 j 데이터 object 사이의 거리
Tij : i와 j 데이터 object 사이의 덴드로그램에서 Cophenetic 거리(데이터 object가 덴드로그램에 처음 결합되는 링크의 높이)
3가지 연결 방법에 대해 Cophenetic 상관계수를 측정한 결과, Average 방법이 가장 높게 나타났다. 따라서, 계층적 군집 분석 방법으로 Average 연결 방법을 사용한다.
그리고, 클러스터 분석에서 중요한 작업 중 하나는 최적의 클러스터 수를 결정하는 것이다. 클러스터의 상한선을 5, 10, 15, 25, 50, 75, 100으로 지정하고 수행한 결과, 75개가 군집 분석 공정의 최적 군집 수로 나타났다.
5) 대표 주간 패턴 생성
각 클러스터가 나타내는 패턴을 시각화하려면 클러스터 별 주간 플레이어 모집단 패턴을 구성해야 한다. 이를 위해 DTW 기반 평균화 절차를 수행했으며, 알고리즘은 다음과 같다.
Data라는 이름의 N x W 행렬의 N은 클러스터링에 사용되는 총 게임 수 1,508개, W는 일주일을 나타내는 데이터 포인트 수이다. Order은 덴드로그램 순서이며, K는 클러스터 내의 게임 수의 배열을 의미한다.
2. 결론
클러스터링 결과, 위와 같이 9개의 패턴이 나타났다. 대부분의 게임이 클러스터 1과 2에 속했으며, 클러스터 1에서 주중과 주말의 플레이어 차이가 확연히 드러났다. 나머지 7개의 클러스터는 상대적으로 게임의 수가 적지만, 역시 주말에 모집단 변화가 나타난 것은 사실이다. 그러나 클러스터 2, 3, 5, 6, 9에서는 주중과 주말의 플레이어 수 차이가 크게 나지는 않는다.
그리고, 추가적인 Insight를 제공하기 위해 태그, 연령 요구 사항 및 각 클러스터에서 게임의 전체 모집단 크기와 같은 게임의 공통 특성에 대해 서술한 부분을 요약하면 다음과 같다.
- 태그: 태그는 게임 특성을 나타내는 데 사용되며, 가중치를 적용해 나타난 클러스터 별 게임 태그 비율 파악
- 연령 제한: 게임 등급 기준은 'Australian Classification Board’에 따라 클러스터 별 연령층 파악
- 전체 모집단 크기: 각 게임에 대해 데이터를 수집한 6개월 동안의 평균 플레이어 수를 기준으로, 각 클러스터 별 모든 게임의 최소, 평균, 최대 평균 플레이어 모집단
3. 결론 및 향후 과제
해당 논문에서 기술된 내용을 요약하면 다음과 같다.
본 논문은 게임마다 주간 플레이어 변동 패턴이 나타나는지 여부를 확인하고 이러한 패턴이 얼마나 자주 관찰되는지 발견하는 것에 중점을 두었다. 77%의 게임이 주간 계절성을 나타낸다는 것을 알아냈고, 9가지 주간 플레이어 변동 패턴을 파악했다. 또한, 태그, 연령 요건 및 전체 모집단을 기반으로 한 각 주간 패턴에 대해 게임 특성을 생성했다.
추가로, 논문에서는 매출이 플레이어 수에 미치는 영향도 조사할 계획이 있다고 하는데, 플레이어 수와 게임 내의 플레이어의 활동성에 대한 연구까지 진행한다면 게임 산업에 도움이 될 것 같다는 생각이 든다.
Reference
D. Vihanga, M. Barlow, E. Lakshika and K. Kasmarik, "Weekly Seasonal Player Population Patterns in Online Games: A Time Series Clustering Approach," 2019 IEEE Conference on Games (CoG), London, UK, 2019, pp. 1-8, doi: 10.1109/CIG.2019.8848108.
'딥러닝 > 시계열' 카테고리의 다른 글
[실전 시계열 분석] - chap04 시계열 데이터의 시뮬레이션 (0) | 2022.03.22 |
---|---|
Bagging & Boosting (1) | 2021.05.17 |
[논문 Review] 온라인 게임의 주간 플레이어 인구 패턴 1 (0) | 2021.03.26 |
정규화 방법론 알고리즘 (0) | 2021.03.24 |
정상성 (0) | 2021.03.22 |
최근댓글