Aplicando funções a janelas móveis

Manipulando Dados de Séries Temporais em R

Harrison Brown

Graduate Researcher in Geography

Funções móveis do pacote zoo

zoo::roll*:

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

Limitações:

  • Sem rollmin()!
  • Só algumas funções existem
Manipulando Dados de Séries Temporais em R

rollapply

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

Argumentos:

  • data: Objeto de série temporal
  • width: Largura da janela (k)
  • FUN: Função resumo (mean, max, ...)
  • align: Alinhamento da janela ('left', 'right' ou 'center')
  • fill: Valores fora da janela
Manipulando Dados de Séries Temporais em R

Aplicando funções com janela móvel

Objetivo:

  • Encontrar a faixa de valores em janela de 30 dias
  • Aproximar a "variação" nos dados
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
  )
Manipulando Dados de Séries Temporais em R

Aplicando funções com janela móvel

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

Gráfico da série temporal "daily temperature range". Mostra como a faixa de valores muda ao longo do tempo; a faixa é calculada em uma janela móvel de 30 dias, e a diferença entre os valores mínimo e máximo é exibida.

Manipulando Dados de Séries Temporais em R

Vamos praticar!

Manipulando Dados de Séries Temporais em R

Preparing Video For Download...