1. Intro 2018년 기준, 전 세계 게임 플레이어 수는 23억 명 이상이 될 정도로 게임 산업이 성장했다. 해당 논문은 플레이어의 행동을 바탕으로 1주일이라는 프레임 내에서의 게임 플레이어 수의 변동 패턴에 대한 내용을 다뤘다. 2. 관련 선행 연구 1) 플레이어의 행동을 기반으로 한 다른 플레이어의 행동 프로파일링 2) 시계열 클러스터링을 사용하여 게임 이벤트와 플레이어의 구매 행동 중 다양한 게임 활동 패턴 발견 3) 게임 플레이 시간과 게임 특성에 따라 6개 그룹의 게이머 프로필 식별 이 외에도, 원격 측정을 사용하여 플레이어의 여러 행동 패턴을 연구한 사례 등 다양한 선행 연구가 있다. 그러나 주간 패턴이나 일반적인 플레이어의 변동 패턴에 대해 다룬 사례가 많지는 않다. 그렇기에 해당 연구..
딥러닝/시계열 검색 결과
정규화 방법론 선형회귀 분석을 통해서 계산된 계수(Weight)에 대한 제약 조건을 추가함으로써 과적합(Overfiiting)을 방지하는 방법 일반적으로 과적합은 계수의 크기를 엄청나게 증가시키는 경우에 많이 발생하므로, 정규화 방법론에서 사용하는 제약 조건은 계수의 크기를 제한하는 방법이 많이 사용된다. 참고> argmin 앞으로 선형 회귀 등 여러 기계학습 알고리즘을 접하다 보면, argmin이라는 기호를 접할 때가 있다. argmin은 뒤의 식을 최소로 만드는 해당 변수의 값을 찾아낼 때 사용하는 것으로 대괄호 안에 있는 식은 ( x - 1) ^ 2이므로, x = 1인 경우에 최솟값 0을 가진다. 이런 경우에 x_hat에는 대괄호 안에 있는 식을 최솟값으로 만드는 x의 값인 1을 x_hat에 할당한..
"시계열이 정상성이다." : 시간의 흐름에 따라 '통계적 특성'이 변하지 않는다. 비정상성을 지니는 데이터를 정상화 알고리즘을 적용해 예측 본 데이터의 특성을 적용하여 다시 본 데이터의 특성을 가지는 상태에서의 예측값을 도출 정상성 변환을 하는 이유 일반적인 경우에, 예측 범위의 상한, 하한이 정해져 있지 않다. 하지만, 정상성 변환 과정을 거치면 상한과 하한이 어느정도 예측 가능한 범위 내로 좁혀지게 된다. 이것 외에도 Variance나 Autocorrelation 등의 고려 요소도 사라지게 된다. 중요한 것은 정상성 그 자체보다는 정상성을 하는 이유가 더 중요하다. 정상성은 한가지 수단에 불과하고, 정상성 변환을 하는 이유로 다른 수단을 사용할 수 있어야 한다. 강정상, 약정상 강정상 : 모든 통계량..
이전 포스팅에서는 조건수가 데이터 분석에서 어떤 영향을 끼치는 지에 대해서 알아보았다. 조건수가 커지게 되면 X의 값이 조금만 변화하더라도, 예측 결과가 크게 변화하기 때문에, 조건수를 줄이는 방향으로 데이터 분석을 진행해야 한다는 것을 알아보았다. 조건수를 줄이는 방법 조건수를 줄이는 방법 중 크게 2가지에 대해서 알아볼 것이다. 1. Scaling 2. 다중 공선성 제거 1. Scaling 스케일링은 데이터의 각 Column마다 단위가 다르기 때문에, 단순히 각 Column들의 Variance를 보고 데이터를 정확하게 파악하기 힘들다. 이런 어려움을 없애기 위해서 범위를 일반적으로 0 ~ 100까지 의 비율로 통일시키는 과정을 Scaling이라고 부른다. Scaling의 방법에도 여러가지가 있다. 1..
조건수에 대해서 알아보기 전에 기본적인 데이터 분석의 목표를 알아보자. 데이터 분석의 공통적인 목표 : Train과 Test Data의 예측 성능을 높이는 것 하지만, 실질적으로 Train과 Test 데이터의 예측 성능을 동시에 올리는 것이 쉽지 않다. (Train을 과도하게 학습하면 Overfitting이 발생하기 때문이다. ) 하지만, 최종적으로 우리가 높여야 할 성능 1순위는 Test Data의 예측 성능이다. 그렇다면, Train의 성능을 조금 희생하더라도 Test의 성능이 더 잘 나올수 있도록 하는 방향으로 분석을 진행해야 한다. 이러한 방향으로 데이터 분석을 진행하는 데에, 조건수(Condition Number)라는 개념이 사용된다. 조건 수 (Condition Number) 조건수의 감소 목..
1. 예측 모델 적용 및 평가 이전 글 [논문 Review] 콜센터 인입 콜량 예측을 위한 시계열 모델 비교 분석 1에서 소개한 것처럼, 콜센터의 콜량을 예측하는 기법은 다양하다. 하지만, 국내 데이터로 연구된 사례는 드물다. 해당 연구에서는 ARIMA, 인공신경망 등 다양한 모델 기법을 활용해서 결과를 비교한 뒤 최적의 모델을 도출하는 순서로 진행되었다. 모델 평가 지표는 MAPE(Mean Absolute Percentage Error)와 RMSE(Root Mean Square Error)를 사용했다. - MAPE : 예측 값과 실제 값의 차이의 절댓값에 대한 평균값으로 실제 값과 예측 오류 사이의 비율을 확인하는 지표다. - RMSE : MSE(Mean Square Error)의 제곱근에 해당하는 값..
해당 논문에서는 실제 콜센터의 데이터를 활용하여 콜량을 예측하기 위한 최적화된 모델을 개발해서 상담 인력의 적정 수준을 결정하도록 하는 내용을 다뤘다. 1. 선행 연구 분석 1) 2주 후의 콜량을 예측 단변량 시계열 방법을 활용하고, ARIMA와 시계열을 분해하기 위한 Holt-Winters를 통해 어느 정도는 예측할 수 있었다. 그러나, 다른 요인이나 회귀 모델 등과의 비교까지는 이루어지지 못했다. 2) 모바일 기지국에 인입되는 호출 부하 예측 반향 상태 네트워크 모델과 유전 알고리즘을 통해 파라미터 최적화에는 성공했다. 하지만, 모바일 기지국간의 콜 트래픽 예측이기 때문에 콜센터 대기 상황에서의 인입 예측이 아니라는 점에서 한계가 있었다. 3) 다양한 리드타임(경과 시간) 및 일간 혹은 일자 내의 상..
저번 실습을 진행한 결과, 간단한 모델을 사용해서 예측을 진행했음에도, R-squared의 값이 1.0이 나왔다. 이것을 조금 더 현실적인 부분을 반영해서 데이터 전처리를 진행해보자. 왜 R-squared 값이 1이 나왔을까? Test Data의 정보를 Train Data에 반영했기 때문이다. 그렇다면 Test Data는 알려지지 않은 데이터를 어떻게 가정하고 풀어야 하는가? 1. Training Data의 특성이 그대로 반복된다고 가정한다. 2. 한단위씩 예측을 수행하고, Training Data를 갱신해나가면서 학습 및 예측을 수행한다. 특히, 2번에 관해서는 1스텝 교차 검사, 2스텝 교차검사 등이 있다. 기존에 시계열 분석에서 Train Data와 Test Data를 분리하는 경우에는 특정 시점을..
이번에는 Y의 실제값과, 알고리즘을 통해서 예측한 Y값을 비교함으로써, MAE, MSE, MAPE 등을 계산하고, 시각화하는 실습을 진행한다. Y의 예측값을 산출하기 위해서는 일단 간단한 데이터 분석 알고리즘이 있어야 한다. 선형회귀 분석의 기초인 OLS를 그 예시로 활용할 계획이다. 일단 OLS에 대해서 간단하게 알아보자. OLS (Ordianry Least Square) 우리말로는 최소자승법 혹은 최소제곱법이라고 불리기도 한다. OLS는 잔차제곱합인 RSS (Residual Sum of Squares)를 최소화하는 가중치 벡터를 구하는 방법이다. 입력된 데이터를 X라고 하고, 가중치 벡터를 w라고 할 때, 잔차 : (실제 y값) - ( 예측한 y값) 여기에서 잊지말아야 할 점은, e가 상수가 아니라 ..
이전까지의 실습 내용을 통해서 데이터를 전처리하였고, 이번 실습에서는 전처리된 데이터가 어떤 그래프 형태를 지니는지, 어떤 특성을 가지고 있는지를 시각화하는 실습을 진행할 것이다. 그 후 각 Column 들 간의 상관도를 계산할 것이다. 시각화 raw_fe.describe(include = 'all').T 보통 df.describe() 혹은 df.describe().T를 통해서 데이터의 기본적인 통계적 특성을 확인한다. 여기에서 include = 'all'이라는 옵션을 설정해주게 되면, 수치로 된 데이터가 아닌, object 형태의 데이터나, category 형태의 데이터 또한, 생략하지 않고 보여준다. 히스토그램 raw_fe.hist(bins = 20, grid = True, figsize = (16,..
최근댓글