Okna rozszerzające się

Manipulowanie danymi szeregów czasowych w R

Harrison Brown

Graduate Researcher in Geography

Okno kroczące a rozszerzające się

Okno kroczące:

  • Ruchomy punkt startowy
  • Okno ma stałą szerokość

Okno rozszerzające się:

  • Stały punkt startowy
  • Okno ma rosnącą szerokość
Manipulowanie danymi szeregów czasowych w R

Proces okna rozszerzającego się

Rosnąca szerokość okna:

  • Szerokość 1 w obserwacji 1,
  • Szerokość 2 w obserwacji 2,
  • Szerokość 3 w obserwacji 3,
  • ...

Jaka jest statystyka dostępnych danych?

Stały punkt startowy:

  • Wszystkie okna zaczynają się na początku szeregu czasowego.

Diagram koncepcyjny okna rozszerzającego się dla szeregu czasowego. Cztery pola oznaczone numerami od 1 do 4 reprezentują szereg czasowy. Poniżej znajdują się cztery poziome linie o rosnącej długości, każda zaczynająca się od lewej krawędzi i kończąca na kolejnym polu.

Manipulowanie danymi szeregów czasowych w R

Obliczanie okna rozszerzającego się

Okna rozszerzające się w R:

  • zoo::rollapply()!
  • width może być liczbą lub wektorem

Szerokość okna rozszerzającego się:

  • 1, 2, 3, 4, ...

Funkcja do generowania sekwencji liczb:

  • base::seq_along()
seq_along(daily_temp)
[1] 1 2 3 4 5 6 7 8 9 ...
    ... 363 364 365
Manipulowanie danymi szeregów czasowych w R

Obliczanie okna rozszerzającego się

exp_widths <- seq_along(daily_temp)

exp_widths
[1] 1 2 3 4 5 ... 363 364 365
temp_expand <- 
  rollapply(
    data = daily_temp,
    FUN = mean,
    width = exp_widths,
    # Alignment must be 'right'
    align = 'right'
  )
Manipulowanie danymi szeregów czasowych w R

Wizualizacja okien rozszerzających się

ggplot() + 
# Original data
  geom_line(data = daily_temp,
            aes(x = Index,
            y = daily_temp),
            color = 'grey50') +

# Expanding window plot geom_line(data = temp_expand, aes(x = Index, y = temp_expand), color = 'red') + theme_light() + labs(y = 'Degrees Celsius')

Wykres szeregu czasowego dziennych temperatur. Szara linia pokazuje duże wahania temperatury z dnia na dzień. Czerwona linia przedstawia rozszerzającą się średnią.

Manipulowanie danymi szeregów czasowych w R

Wnioski z okien rozszerzających się

  • Statystyki zbliżają się do wartości globalnych
  • Rozszerzająca się średnia staje się mniej wrażliwa na zmiany
  • Wcześniejsze obserwacje są bardziej wrażliwe na zmiany

Wykres szeregu czasowego dziennych temperatur. Szara linia pokazuje duże wahania temperatury z dnia na dzień. Czerwona linia przedstawia rozszerzającą się średnią.

Manipulowanie danymi szeregów czasowych w R

Czas na ćwiczenia!

Manipulowanie danymi szeregów czasowych w R

Preparing Video For Download...