Áp dụng hàm cho cửa sổ trượt

Xử lý Dữ liệu Chuỗi Thời gian trong R

Harrison Brown

Graduate Researcher in Geography

Hàm rolling từ zoo

zoo::roll*:

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

Hạn chế:

  • Không có rollmin()!
  • Chỉ có một số hàm nhất định
Xử lý Dữ liệu Chuỗi Thời gian trong R

rollapply

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

Tham số:

  • data: Đối tượng chuỗi thời gian
  • width: Độ rộng cửa sổ (k)
  • FUN: Hàm tổng hợp (mean, max, ...)
  • align: Căn chỉnh cửa sổ ('left', 'right', hoặc 'center')
  • fill: Giá trị điền ngoài cửa sổ
Xử lý Dữ liệu Chuỗi Thời gian trong R

Áp dụng hàm theo cửa sổ trượt

Mục tiêu:

  • Tìm khoảng giá trị trong cửa sổ 30 ngày
  • Xấp xỉ “độ biến thiên” của dữ liệu
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
  )
Xử lý Dữ liệu Chuỗi Thời gian trong R

Áp dụng hàm theo cửa sổ trượt

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

Biểu đồ chuỗi thời gian “biên độ nhiệt độ hàng ngày”. Biểu đồ cho thấy cách biên độ thay đổi theo thời gian; biên độ được tính trên cửa sổ trượt 30 ngày, là hiệu giữa giá trị nhỏ nhất và lớn nhất.

Xử lý Dữ liệu Chuỗi Thời gian trong R

Hãy thực hành!

Xử lý Dữ liệu Chuỗi Thời gian trong R

Preparing Video For Download...