Data Analysis

R/머신러닝 & 딥러닝

[R] 시계열분석 관련 실습(2)

Holy_Water 2022. 11. 7. 16:56

핵심함수

ts(): 시계열 데이터를 만들 때 쓰는 함수

acf(): 시계열 정상성 여부를 판단, 모형식별 시 사용

pacf(): 부분 자기 상관 함수 시각화 시 사용

SMA(): 시계열 데이터를 이동평균한 값으로 생성하는 함수 SMA(data, n =  이동평균수)

tsdiag(): 쉽게 잔차분석을 할 수 있게 해주는 함수

Box.test(): Box-Ljung감정에 의한 진차항 모형진단

실습1 (시계열 요소 분해 시각화) 

자기 상관 함수에 의해서 주기 생성에는 어떤 종류의 시간 간격이 영향을 미치는가를 보여주고 있다.
모든 시차가 점선 안에 있기 때문에 주어진 시점 간의 자기 상관성은 없는 것으로 해석

 

 

실습2 (시계열 자료의 추세 패턴 찾기 시각화)

추세패턴: 시계열 자료가 증가 또는 감소하는 경향이 있는지 알아보고, 증가 또는 감소하는 경향이 선형(linear)인지 비선형(nonlinear)인지를 찾는 과정
추세 패턴의 객관적인 근거는 차분(Differencing)과 자기 상관성(Autocorrelation)을 통해서 얻을 수 있다.

plot(diff(tsdata, differences = 1)) 의 결과값

실습2 (이동평균법을 이용한 평활하기)

이동평균(Moving Average)
일정한 기간의 자료를 평균으로 계산하고 이동시킨 추세를 파악하여 다음기간의 추세를 예측하는 방법

 

1단계: 시계열 자료 생성

 

 

par(mfrow = c(1, 1)) 결과값

 

 

실습3 (계절성이 없는 정상성 시계열분석)

정상성 시계열은 대체로 평균을 중심으로 진폭이 일정하게 나타난다. 만약 비정상성 시계열이면 차분을 통해서 정상성 시계열로 바꾸는 작업이 필요

차분을 통해서 비정상성 시계열을 정상성 시계열로 변환
차분은 일반 차분과 계절 차분으로 구분
계절성을 갖는 경우에는 계절 차분을 적용

모형의 적합성 검증을 위해서 잔차가 백색 잡음(white noise)인가를 살펴본다. 백색잡음: 모형의 잔차가 불규칙적이고, 독립적으로 분포된 경우를 의미
특정 시간 간의 데이터가 서로 관련성이 없다(독립적인 관계)

plot(model2)의 결과값

 

 

실습 (계절성을 갖는 정상성 시계열분석)

 

모형 진단을 통해서 적절하나 모형으로 판단되면 이 모형으로 가까운 미래를 예측하는데 이용

 

plot(fore), plot(fore2) 결과값