R에서 자기상관을 계산하는 방법
자기 상관은 연속적인 시간 간격에 걸쳐 시계열과 지연된 버전 간의 유사성 정도를 측정합니다.
변수의 현재 값과 과거 값 사이의 관계를 측정하기 때문에 “계열 상관” 또는 “지연 상관”이라고도 합니다.
시계열의 자기상관관계가 높으면 과거 값을 참고하는 것만으로도 미래 값을 예측하기 쉬워집니다.
R에서 자기상관을 계산하는 방법
15개의 서로 다른 기간에 대한 특정 변수의 값을 보여주는 다음과 같은 시계열이 R에 있다고 가정합니다.
#define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)
tseries 라이브러리의 acf() 함수를 사용하여 시계열의 각 지연에 대한 자기상관을 계산할 수 있습니다.
library (tseries) #calculate autocorrelations acf(x, pl= FALSE ) 0 1 2 3 4 5 6 7 8 9 10 1.000 0.832 0.656 0.491 0.279 0.031 -0.165 -0.304 -0.401 -0.458 -0.450 11 -0.369
결과를 해석하는 방법은 다음과 같습니다.
- 시차 0에서의 자기상관은 1 입니다.
- 시차 1의 자기상관은 0.832 입니다.
- 시차 2에서의 자기상관은 0.656 입니다.
- 시차 3의 자기상관은 0.491 입니다.
등등.
lag 인수를 사용하여 표시할 지연 수를 지정할 수도 있습니다.
#calculate autocorrelations up to lag=5 acf(x, lag=5, pl= FALSE ) Autocorrelations of series 'x', by lag 0 1 2 3 4 5 1.000 0.832 0.656 0.491 0.279 0.031
R에서 자기상관 함수를 그리는 방법
pl=FALSE 인수를 사용하지 않고도 R의 시계열에 대한 자기상관 함수를 그릴 수 있습니다.
#plot autocorrelation function
acf(x)
x축은 시차 수를 표시하고 y축은 해당 시차 수에 대한 자기상관을 표시합니다. 기본적으로 플롯은 시차 = 0에서 시작하고 자기 상관은 시차 = 0에서 항상 1 입니다.
기본 인수를 사용하여 플롯에 대해 다른 제목을 지정할 수도 있습니다.
#plot autocorrelation function with custom title acf(x, main=' Autocorrelation by Lag ')