딥러닝

Prophet 라이브러리를 이용하여 가격예측하기

민랑이 2021. 3. 3. 17:56

- 이번 시간에는 Facebook에서 만든 Prophet라이브러리를 이용한 가격예측을 하는 코드를 만들어보겠다.

 

먼저 Prophet은 

페이스북 연구팀의 션 테일러와 벤 레담은 블로그 포스트를 통해

“프로핏은 전문가는 물론 비전문가도 높은 품질의 예측 작업을 좀 더 쉽게 할 수 있는 툰”이라며,

예측들을 비전문가에게 직관적인 방식으로 맞춤화할 수 있다”고 설명했다.

 

- Prophet의 코드는 github에서 무료로 다운 받을 수 있으며, 비즈니스 문제에 특화된 툴로, 컴퓨터 인프라 용량 계획처럼 최소한 수개월의 데이터가 필요하거나 시장 흐름에 영향을 미칠 수 있는 휴일(유통업체에게 블랙 프라이데이) 같이 계절 특성이 있는 문제, 트래픽을 예측하려는데 새 웹 사이트가 개설되는 것처럼 큰 영향을 미치는 행사가 있는 경우 등을 예로 들 수 있다. 또한 프로핏은 일부 누락된 값이나 특이값도 처리할 수 있다.

 

먼저 Prophet을 사용하기 위해 데이터셋을 불러오는 작업을 해준다. 

#데이터셋은 kaggle이나 github등에서 불러올 수 있다.

  라이브러리들을 import해주고 데이터를 불러와준다.(참고로 현재 파이썬을 실행하는 툴은 구글의 코랩이다.)

#데이터셋을 불러왔으면 데이터셋이 맞게 왔는지 확인하고 만약 필요없는 컬럼이 있으면 제거 후 변수에 저장해준다.

#변수에 저장했으면 데이터의 날짜등이 정렬이 안되있으면 sort_values함수를 이용하여 정렬 한 후

변수에 다시 저장해준다

#모델링을 하기전 prophet을 사용 할 때는 컬럼명을 반드시 날짜는 'ds'로 가격은 'y'로 변경해줘야 prophet이 적용된다. 변경하지 않고 모델링을 할 경우 에러가 난다. 

 

#마지막으로 모델링과 학습은 위와 같은 이미지로 시켜주면 되는데 상당히 간편한 편이다. 여기서 중요한 것은  make_future_dataframe함수를 사용할 때 periods는 예측하고 싶은 수를 넣으면 되는데, 기본적으로 freq=가 'D'로 default parameter로 되있기 때문에 연도나 주기,시간등으로 바꿀려면 다른 명령어를 적용해준다. (아래이미지 참조)

#마지막으로 제대로 학습이 되었는지 이미지화 하여 확인해 볼 수 있다.

#검은 점들은 기존에 있는 데이터들이고 물결표시로 되있는 것은 내가 365일을 예측해 달라고 했기 때문에 기존 데이터의 마지막이 2018년 2월이므로 2018년 3월부터 2019년 3월까지 예측한 값을 이미지화 해준다.