Page 28 -
P. 28
return datetime.strptime('199'+x, '%Y-%m') strptime( )은 날짜와 시간 정보를
문자열로 바꾸어 주는 메서드
series = read_csv('../chap7/data/sales.csv', header=0, parse_dates=[0], index_col=0,
squeeze=True, date_parser=parser) 자전거 매출에 대한 CSV 데이터 호출
model = ARIMA(series, order=(5,1,0)) ARIMA( ) 함수 호출
model_fit = model.fit(disp=0) 모형을 적용할 때 많은 디버그 정보가 제공되는데
print(model_fit.summary()) 모델에 대한 정보 표시 disp 인수를 0으로 설정하여 이 기능을 비활성화
residuals = DataFrame(model_fit.resid) DataFrame에 모델에 대한 오차 정보를 residuals에 저장
residuals.plot() residuals 정보를 시각적으로 표현
pyplot.show()
residuals.plot(kind='kde')
pyplot.show()
print(residuals.describe())
코드를 실행하면 ARIMA() 함수를 호출하여 sales 데이터셋에 대한 정보를 보여 줍니다.
ARIMA Model Results
================================================================================
Dep. Variable: D.Sales No. Observations: 35
Model: ARIMA(5, 1, 0) Log Likelihood -197.350
Method: css-mle S.D. of innovations 66.436
Date: Sun, 02 Aug 2020 AIC 408.699
Time: 10:28:58 BIC 419.587
Sample: 02-01-1991 HQIC 412.458
- 12-01-1993
================================================================================
coef std err z P>|z| [0.025 0.975]
--------------------------------------------------------------------------------
const 12.4256 3.774 3.292 0.001 5.028 19.823
ar.L1.D.Sales -1.0850 0.188 -5.764 0.000 -1.454 -0.716
ar.L2.D.Sales -0.6688 0.283 -2.365 0.018 -1.223 -0.114
ar.L3.D.Sales -0.4426 0.297 -1.489 0.136 -1.025 0.140
ar.L4.D.Sales -0.0495 0.288 -0.172 0.864 -0.614 0.515
ar.L5.D.Sales 0.1652 0.197 0.840 0.401 -0.220 0.551
Roots
================================================================================
Real Imaginary Modulus Frequency
--------------------------------------------------------------------------------
AR.1 -1.1401 -0.4612j 1.2298 -0.4388
AR.2 -1.1401 +0.4612j 1.2298 0.4388
AR.3 0.0222 -1.2562j 1.2564 -0.2472
AR.4 0.0222 +1.2562j 1.2564 0.2472
AR.5 2.5355 -0.0000j 2.5355 -0.0000
-------------------------------------------------------------------------------
262