728x90

R과  SAS에서 실행한 시계열분석 실습을 이번에는 Python 으로 해 봅니다.

계속 보완해 나갈 계획입니다 ^^^

그냥 단순한 60개의 데이터입니다. 향후 10개의 데이터를 예측해 보기로 합니다. 

 

644 546 515 506 468 729 719 626 677 679 654 630 662 539 419 592 376 390 292 340 
457 254 368 376 254 85 198 212 262 368 554 538 478 623 522 404 360 619 524 562 
438 327 311 466 423 515 367 340 279 264 411 409 436 468 409 275 265 301 423 405 
384 557 474 519 459 504 349 312 303 423 384 425 391 317 404 368 516 558 537 579 
567 606 554 335 367 447 354 257 237 212 283 318 439 611 598 586 602 558 541 527

 

(1) 그래도 혹시 12개월 마다 계절성이 있는 것 아닌가?
(2) 아예 별 의미도 없는 데이터,  제멋대로 된 데이터가 아닐까? 
     뭐 분석할 것도 없는 것 아닌가? 생각해 보시는 것도 필요합니다.

 

[실습]

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from statsmodels.tsa.arima.model import ARIMA

 

ar1_data= pd.read_csv('d:/r_stat/ar1.csv') # 변수명 date, x

ar1_data.head(7) # 7개의 데이터 확인

ar1_data['date']=pd.to_datetime(ar1_data.date,format='%Y-%m-%d') # to_datatime() 문자열등을 Timestamp를 나타내는 날짜형으로

ar1_data.head()

type(ar1_data['date'])

ar1_data.info()

ar2_data = ar1_data.set_index('date')

 

order = (1,0,0)

model = ARIMA(ar2_data,order=(1,0,0),freq=None)

fit = model.fit()

fit.summary()

 

(1) 여느 Python 프로그램 처럼 관련 라이브러리를 로딩합니다.

 

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

 

(1) 일단 데이터를 읽어 온다. ar1.csv

 

ar1_data= pd.read_csv('d:/r_stat/ar1.csv') # 변수명 date, x

(2)

ar1_data['date']=pd.to_datetime(ar1_data.date,format='%Y-%m-%d')

# to_datatime() 문자열등을 Timestamp를 나타내는 날짜형으로

 

ar1_data.head(7)

 

ar1_data.tail()

 

ar1_data.info()

 

 

ar2_data = ar1_data.set_index('date')

 

order = (1,0,0)

model = ARIMA(ar2_data,order=(1,0,0),freq=None)

fit = model.fit()

fit.summary()

 

 

Z(t) = 450.7599 + 0.7381 Z(t-1)

 

 

+ Recent posts