1. Learn
  2. /
  3. Courses
  4. /
  5. R로 배우는 시계열 분석

Connected

Exercise

자기상관 계산하기

자기상관(또는 지연 상관)은 시계열이 과거 값에 의존하는지 평가하는 데 사용돼요. 길이가 n인 시계열 x에 대해, 한 시점 차이가 나는 n-1개의 관측치 쌍을 고려합니다. 첫 번째 쌍은 (x[2],x[1]), 다음 쌍은 (x[3],x[2])와 같아요. 이런 각 쌍은 관측 인덱스 t를 2부터 n까지 바꿔가며 (x[t],x[t-1]) 형태가 됩니다. x의 래그 1 자기상관은 이 (x[t], x[t-1]) 쌍들의 표본 상관으로 추정할 수 있어요.

일반적으로는 이런 관측치 쌍을 수동으로 만들 수 있어요. 먼저 길이가 n-1인 두 벡터 x_t0와 x_t1을 만들어 각 행이 (x[t], x[t-1]) 쌍에 대응되게 하세요. 그런 다음 cor() 함수를 적용해 래그 1 자기상관을 추정합니다.

다행히 acf() 명령이 지름길을 제공해요. 시계열 x에 acf(..., lag.max = 1, plot = FALSE)를 적용하면 래그 1 자기상관을 자동으로 계산합니다.

마지막으로, 두 추정치는 표본 공분산을 계산할 때 사용하는 배율이 약간 달라(1/(n-1) 대 1/n) 약간 차이가 난다는 점을 참고하세요. 후자는 편향된 추정량이지만 시계열 분석에서는 더 선호되며, 결과적인 자기상관 추정치는 (n-1)/n의 배수만큼만 달라집니다.

이 연습에서는 래그 1 자기상관을 수동과 자동 방식으로 모두 계산해 볼 거예요. 시계열 x와 그 길이 n(150)은 이미 로드되어 있으며, 오른쪽 그림에 시계열이 표시되어 있어요.

Instructions

100 XP
  • 길이가 n-1인 두 벡터 x_t0와 x_t1을 만들어 각 행이 (x[t], x[t-1]) 쌍에 대응되게 하세요.
  • 미리 작성된 코드를 사용해 x_t0와 x_t1이 (x[t], x[t-1]) 쌍이 맞는지 확인하세요.
  • plot()으로 x_t0와 x_t1의 산점도를 확인하세요.
  • cor()로 x_t0와 x_t1의 상관을 확인하세요.
  • x에 대해 acf()를 사용해 래그 1 자기상관을 자동으로 계산하세요. 단일 래그만 생성하도록 lag.max 인수를 1로, 그래프를 그리지 않도록 plot 인수를 FALSE로 설정하세요.
  • 미리 작성된 코드를 사용해 차이 배율이 (n-1)/n인지 확인하세요.