본문 바로가기

ML | DL | Big data/ML7

VAR(Vector Auto Regression)을 이용한 다변량 시계열 분석 및 예측 너무나 당연한 이야기이지만 일변량 시계열 데이터는 단일 시간 종속 변수만 포함하고, 다변량 시계열 데이터는 다중 시간 종속 변수로 구성된다. 다변량 분석에서 예측할 변수의 과거의 데이터를 고려해야할 뿐만 아니라 여러 변수들 사이의 의존성을 고려해야 한다. 다변량 시계열 모델은 특정 주어진 데이터에 대해 더 신뢰성 있고 정확한 예측을 제공하기 위해 의존성을 이용해야 한다. 이번 글에서는 실제 데이터셋에 VAR(Vector Auto Regression)이라는 다변량 시계열 모델을 다뤄보자. 혼자 공부하고 이해할 때는 영어 그 자체로 충분했던 것들이 글을 쓰기 시작하면서 어떻게 한글로 써야 할까? 라는 의문이 들어서 중요한 용어들만 집고 넘어가고, 애매한 것들은 영어 원문으로 쓰기로 했다. univaritat.. 2020. 9. 26.
시계열 예측을 지도 학습으로 바꾸는 방법 - Time Series to Supervised Learning with Sliding window 슬라이딩 윈도우를 통해 시계열 데이터를 지도학습으로 변형하기 시계열 데이터 예측(Time series forecasting)은 지도 학습(Supervised learning)으로 변형시킬 수 있다. 이번 글에서는 시계열 문제를 시계열 문제를 머신러닝을 위한 지도 학습으로 어떻게 재구성하는지에 다뤄보고자 한다. 이번 글에서 다룰 내용은 다음과 같다. Supervised Learning(지도 학습)은 무엇이고 그것이 어떻게 모든 예측 모델링 머신러닝의 기초가 되는지. 시계열 데이터 집합을 구성하기 위한 슬라이딩 윈도우(Sliding window)를 사용하는 방법 다변량 데이터(multivariate data) 및 다단계 예측(multi-step forecasting)에 슬라이딩 윈도우를 적용하는 방법 자, .. 2020. 9. 11.
Python Prophet - 자동차 판매량 시계열 데이터 예측하기(Time Series Forecasting) 이번 글에서는 시계열 예측을 위해 Facebook의 Prophet 라이브러리를 알아보자. 시계열 예측은 사용할 수 있는 방법들이 다양하고 각각의 방법마다 하이퍼 파라미터들이 매우 다양하기 때문에 어려울 수도 있다. Prophet 라이브러리는 일변량 시계열 데이터셋(univariate time series datasets)을 예측하기 위해 설계된 오픈소스 라이브러리이다. 기본 적으로 추세나 계절적 구조를 가진 데이터에 대해 모델에 적합한 하이퍼 파라미터들을 자동으로 찾을 수 있도록 설계되었고 사용하기 쉽다. 이번 글에서는 다룰 내용은 다음과 같다. Prophet의 전반적인 이해 Prophet 모델의 학습 방법, 입출력 형태 Prophet 모델을 평가하는 방법 이제 시작해보자. Prophet Forecast.. 2020. 8. 28.
XGBoost (4) - 머신러닝으로 부동산 가격 예측 실습하기 / Tutorial 지루한 이론과 설치가 끝나고 드디어 실습이다. 이번 글에서는 sklearn에서 제공하는 보스턴 주택 가격 데이터를 이용해 xgboost 모델을 학습시키고 예측하기까지 해 볼 예정이다. 개발 환경 설치가 완료된 이상 대부분 개발환경의 제약은 받지 않으나 내가 개발한 환경은 다음과 같다. AWS Linux python 3.6.10 준비하기 이전 글에서 설치한 xgboost용 python을 활성화해준다. source /bin/activate sklearn, pandas, matplotlib, graphviz를 설치하지 않은 경우 설치해준다. pip install sklearn pandas matplotlib graphviz 앞에 sudo를 붙이거나 가상 환경을 활성화시키지 않은 상태로 설치하는 실수는 하지 말.. 2020. 7. 14.
XGBoost (3) - Python 가상 환경에 설치하기 저번 글에서는 파라미터와 개념 등 이론적인 면에 대해서 글을 썼다면 이번 글부터는 실습 위주의 포스팅이다. 나는 sw는 실행해보면서 이해하는 부분이 크기 때문에, 첫 이론 학습은 간략히, 실습은 세세하게, 이후 다시 이론을 학습하는 편을 선호한다. 이번 글은 실습의 시작인 설치 편이다. 각 환경에 따라 모두 설치 과정을 보여주고 싶었으나 너무 귀찮기에, 내 환경에서만 진행한다. 앞으로는 docker를 배워서 사용해볼까 생각 중이다. 20200721 업데이트 잠깐. docker 환경에 익숙하거나 사용해볼 의향이 있다면 아래 글을 참고해서 환경 구축을 하는 것을 추천한다. 사용해보니 너무 간단한다. 3줄로 간단히 머신러닝/딥러닝 환경 구축하기(docker kaggle image 설치/활용하기) 사전 필요 지.. 2020. 7. 13.
XGBoost (2) - Parameter 이해와 현업자의 설정 방법 이전의 글에서 언급한 것과 같이 XGBoost의 장점 중에는 오버핏에 강하고 다양한 파라미터 조정으로 최적화된 모델을 만들 수 있다고 했다. 이번 글에서는 이런 장점을 가능하게 해주는 XGBoost의 파라미터, 그중에서도 Tree Booster를 사용하기 위한 파라미터를 설명하고자 한다. (가장 많이 쓰이기도 하고, 다른 건 잘 안 써서 잘 모르기도 함) Tree Booster를 사용하기 위해서는 세 가지 유형의 파라미터를 설정해야 한다. General parameter : 일반적으로 트리 또는 선형 모델에서 부스팅을 수행하는 데 사용하는 부스터와 관련된 파라미터이다. Booster parameter : 선택한 부스터의 파라미터에 따라 다름. 이글에서는 Tree Booster parameter를 설명할 .. 2020. 7. 9.
XGBoost (1) - 입문용 예제로 개념 쉽게 이해하기 요즘 현업에서 자주 사용하는 모델 중 하나가 XGBoost이다. 개인적으로 내 업무는 Data Scientist보다 Data Engineer에 가까워서 모델에 관해 심도 깊은 이해는 필요 없지만, 어느 정도의 이해는 필요하다고 생각된다. 그래서 겉핥는 정도의 이론 부분을 포함하여 사용법 예제, 시행착오 등을 순차적으로 포스팅할 예정이다. 사전 필요 지식 XGBoost 학습을 위해서는 다음에 관한 지식이 필요하다. 추후 기회가 되면 포스팅 할 예정. Gradient Boost Regression Regularization XGBoost란? [XGBoost: A Scalable Tree Boosting System] 논문에서 소개된 "Extreme Gradient Boosting"을 의미하며, 여기서 "Gr.. 2020. 7. 8.