xgboost는 기본적으로 tree-based 모델이다. tree-based 모델들이 가진 단점은 training dataset에서 발견된 값 중 최대값 이상의 값(또는 최소값 이하의 값)을 extrapolate(추론)/predict(예측)할 수 없다는 점이다.
구글 검색 결과, 해결책으로 제시되는 방법은, 먼저 trend를 remove하거나(즉 detrend화 하거나), series를 stationary하도록 만든 다음 xgboost를 활용해야 한다.
xgboost 외에 고려할만한 머신러닝 모델은 무엇이 있을까?
- 김영송, 양성민, 조서형, 최재혁, "시계열 데이터 분류를 위한 기계 학습 모델 설계 및 성능 비교, “ 2017년 한국통신학회 하계종합학술발표회에 따르면, 시계열 데이터의 처리 및 예측을 위해 SVM(Support Vector Machine), RF(Random Forest), MLP(Multilayer Perceptron)를 활용하여 세 가지 학습모델을 제시하고 있다.
시계열 데이터란 일정 기간에 대해 시간의 함수로 표현되는 데이터를 말한다. 시계열 데이터는 과거의 시계열 데이터 분석을 통해 앞으로의 사건을 예측 할 수 있다는 점에서 중요한 의미를 가진다.
이런 시계열 데이터를 처리하는 방법으로 지금까지 다양한 기술들이 연구되고 소개 되었다.[1,2] 대표적인 기계 학습 방법으로는 SVM(Support Vector Machine), Decision Tree, Hidden Markov model, Naive Bayes Classifier 등을 비롯하여 최근에 다시 각광받고 있는 심층 신경망(Deep Neural Network) 등이 있다.
[1] P Casale, O Pujol, P Radeva, "Human activity recognition from accelerometer data using a wearable device", Pattern Recognition and Image Analysis, 2011. [2] A Vahdatpour, M Sarrafzadeh, "Unsupervised discovery of abnormal activity occurrences in multi-dimensional time series, with applications in wearable systems", Proceedings of the 2010 SIAM, 2010.
Random Forest 는 의사결정트리(decision tree)의 앙상블(ensemble) 학습 기법을 사용하는 모델로서 주어진 데이터로 여러 가지 모델을 학습한 뒤, 그 모델들의 결과를 종합해 사용하여 정확도를 높인다. 동시에 일반화를 위해 Random space method 를 통해 과적합(overfitting)문제를 피하는 학습 기법이다. 여러 개의 Decision tree 가 분류한 최종 예측 결과를 투표(voting) 방식으로 최종 결과를 결정한다. 본 논문에서는 Decision tree 의 개수를 50 개, sampling parameter 는 100 개로 실험을 진행하였다. MLP(MultiLayer Perceptron)의 은닉층은 시계열 데이터 특성상 시간 축으로 가까운 데이터들 사이의 correlation 이 높기 때문에 높은 correlation 을 갖도록 학습시키기 위해 2 층으로 구성하였으며 MLP 의 경우 비선형적이고 복잡한 분류 문제에 대해 좋은 성능을 나타내기 때문에 비교 실험을 하기에 적절하다.
초음파 거리 측정 센서 특성상 난반사(diffuse reflection)로 인해 잡음(noise)이 많이 포함된 데이터를 학습하기 때문에 비선형적인 패턴 분류에 대해서는 SVM 이 MLP 와 Random Forest 보다 좋은 성능을 나타내지 못하였다. RF 와 MLP 는 SVM 보다 잡음과 Outlier 가 많은 비선형적 데이터에 대하여 높은 성능을 보였다.