Page 27 -
P. 27

statsmodels 라이브러리
                      statsmodels는 다음 통계 분석 기능을 제공하는 파이썬 패키지입니다.
                      •검정 및 추정(test and estimation)
                      •회귀 분석(regression analysis)
                      •시계열 분석(time-series analysis)
                      파이썬에서 사용하려면 pip install statsmodels 명령으로 사전 설치 작업이 필요합니다.



                    예제에서 ARIMA(5,1,0)을 적용해 보겠습니다. 자기 회귀 차수를 5로 설정하고 차분 차수는 1을
                    사용하겠습니다. 또한, 시계열을 정지 상태로 만들고 이동 평균 차수는 0을 사용합니다.

                    예제는 두 단계로 진행됩니다. 첫 번째 단계에서 ARIMA() 함수를 사용하여 간단한 오차 정보만 보                          7
                    여 주는 예제를 먼저 진행한 후, 두 번째 단계에서 첫 번째 단계를 확장하여 실제 예측해 봅니다
                    (코드를 좀 더 단순화하여 이해하기 쉽게 하기 위해 두 단계로 나누어 진행하는 것이며, 특별한 의                            시계열 분석
                    미는 없습니다).

                    먼저 statsmodels 라이브러리를 설치합니다.


                       > conda install -c conda-forge statsmodels

                    혹은

                       > pip install statsmodels


                    설치가 완료되었다면, 첫 번째 단계의 예제를 구현하는 데 필요한 라이브러리와 데이터를 호출합
                                                                         3
                    니다. 데이터셋은 7장 예제 파일의 data 폴더에 있는 sales.csv 파일 을 사용하며, 자전거 매출
                    정보가 담겨 있습니다.


                     코드 7-1 ARIMA( ) 함수를 호출하여 sales 데이터셋에 대한 예측
                       from pandas import read_csv   파이썬 판다스 라이브러리의 read_csv( ) 메서드를 사용해서 외부 TEXT 파일,
                       from pandas import datetime  CSV 파일을 불러와서 DataFrame으로 저장
                       from pandas import DataFrame
                       from statsmodels.tsa.arima_model import ARIMA
                       from matplotlib import pyplot

                       def parser(x):    시간을 표현하는 함수 정의


                    3   캐글에서 제공하는 샴푸 판매 데이터셋(https://www.kaggle.com/minhvo/arima-model-for-time-series-forecasting/data)을 일
                       부 수정하여 사용합니다.

                                                                                                  261
   22   23   24   25   26   27   28   29   30   31   32