롤링 윈도우에 함수 적용

R로 시계열 데이터 다루기

Harrison Brown

Graduate Researcher in Geography

zoo의 롤링 함수

zoo::roll*:

  • rollmean()
  • rollmax()
  • rollsum()
  • ...

제한사항:

  • rollmin() 없음!
  • 제공 함수가 제한적
R로 시계열 데이터 다루기

rollapply

rollapply(data = ftse,
          width = 7,
          FUN = min,
          align = 'right',
          fill = NA)

인수:

  • data: 시계열 객체
  • width: 윈도우 너비(k)
  • FUN: 요약 함수(mean, max, ...)
  • align: 정렬('left', 'right', 'center')
  • fill: 윈도우 밖 채움값
R로 시계열 데이터 다루기

함수의 롤 적용

목표:

  • 30일 윈도우의 값 범위 계산
  • 데이터의 ‘변동’ 근사
daily_temp
2019-01-01 13.191304
2019-01-02  6.945833
2019-01-03  8.495833
2019-01-04  8.683333
2019-01-05  7.400000
...
find_range <- function(x){
  max(x) - min(x)
}
daily_temp_range <- 
  rollapply(
      daily_temp,
    FUN = find_range,
    width = 30,
    align = 'right',
    fill = NA
  )
R로 시계열 데이터 다루기

함수의 롤 적용

autoplot(daily_temp_range) + 
  theme_light() + 
  labs(y = 'Temperature Range')

‘일별 온도 범위’ 시계열 그래프. 30일 롤링 윈도우로 범위를 계산하여, 각 시점의 최소값과 최대값 차이를 시간에 따라 보여줍니다.

R로 시계열 데이터 다루기

연습해 봅시다!

R로 시계열 데이터 다루기

Preparing Video For Download...