ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • prophet 모델
    공부/데이터 2022. 7. 2. 21:49

    Prophet은 시계열 데이터를 모델링하기 위한 파이썬 또는 R 모듈입니다.

    • 모델링 할 수 있다 라는 내용을 쉽게 설명하면 시계열 데이터 내 순차적 데이터를 모방할 수 있는 블랙박스를 구성할 수 있다라는 의미로 생각할 수 있습니다. 블랙박스는 경우에 따라서 수백, 수천만개의 파라미터를 포함하고 있습니다.

    시계열 데이터를 예측(모델링)하는 방법론에는 머신러닝 방법론 그리고 고전적인 기법 ARIMA가 있습니다. Prophet은 머신러닝 기법은 아니며, ARIMA라고 하는 알고리즘 방법론을 응용하고 있습니다. ARIMA를 이용하면 계절마다의 반복성이나 여름철에 증가하는 전기 사용료를 모델링할 수 있습니다.

    Prophet 은 한층 더 진보적인 방법으로 트렌드와 주기적 특성뿐 아니라 예외적이고 이벤트와 같은 휴가철 상황까지도 모델링할 수 있도록 ARIMA 알고리즘을 확장한 것입니다.

    prophet은 facebook에서 만든 시계열 예측 라이브러리로 장점으로 사용법이 쉽다는 것입니다. 이는 인지도나 참고할만한 문서가 별로 없다는 단점을 무시하고도 남는 큰 장점으로 생각됩니다.

    사용법

    pip install fbprophet

    prophet 설치하고 Prophet이라는 객체를 생성한 후, 시계열 데이터를 학습(fit)하면 됩니다. 머신러닝에 꼭 필요한 패키지가 scikit-learn 이라는 것인데 Prophet은 scikit-learn 패키지와 인터페이스가 유사합니다. 객체 생성에 필요한 여러 가지 설정값과 더불어 해당 객체를 선언하고 데이터를 이용해 학습하면 됩니다.

    m = Prophet(**kwargs)
    m.fit(df)
    future = m.make_future_dataframe(periods=1)
    forecast = m.predict(future)

    단점

    문저나 인지도가 낮다는 단점 이외에 해당 모델 자체에 단점이 존재합니다. 기상 자료 예측을 위해서 prophet 모델을 적용했다고 할 때, 이미 관측이 되어있는 기상 인자를 이용하여 산불 발생 위험도를 계산할 수 있다는 측면에서 매우 효과적이지만 아직 관측되지 않은 앞으로 일어날 기상 변화에 따른 위험도 계산은 불가능하다는 단점이 있습니다.

    또한 단기간에 급격한 변화가 발생하는 경우, 예측을 제대로 하지 못하는 한계가 있습니다. 간단하며 빠른 예측이라는 Prophet 모델의 장점이 분명히 존재하지만, 예를 들어 산불이 발생하고 확산하는 과정에서 진화를 위해 실시간 예측을 수행해야 하는 경우에 사용하기에는 정확도가 떨어진다는 단점 역시 존재합니다.

    레퍼런스

    https://tbacking.com/2020/09/19/페이스북-prophet-을-이용한-주가-폭락-자동-감지/

    http://craftaesthetics.blogspot.com/2018/01/facebook-prophet.html

    https://cordingdiary.tistory.com/109

    https://www.j-kosham.or.kr/journal/view.php?number=10130

    댓글