You are on page 1of 53

Analiza szeregów czasowych w R – wprowadzenie

Adam Zagdański

200000

level
80
95

150000

2009 2010 2011 2012 2013 2014


Time

Wydział Matematyki
Politechnika Wrocławska

6.03.2023
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przydatne R-pakiety

stats – podstawe struktury i narzędzia wykorzystywane do reprezentacji i analizy


szeregów czasowych w R,
forecast – główny pakiet zawierający proste i zaawansowane metody
prognozowania, miary dokładności prognoz, itp.
Mcomp – kilka tysięcy szeregów wykorzystanych w konkursach M-competitions,
expsmooth – dane towarzyszące książce: Hyndman et al., Forecasting with
exponential smoothing: The state space approach, 2009.
fpp, fpp2 – dane towarzyszące książce: Hyndman and Athanasopoulos,
Forecasting: principles and practice, 1st ed - 2012, 2nd ed.- 2018.
fma – dane towarzyszące książce: Makridakis et al., Forecasting: Methods and
applications, 1998.
lattice i ggplot2 – dodatkowe funkcje do wizualziacji szeregów czasowych,
TSAFBook – dane towarzyszące książce: Zagdański i Suchwałko, Analiza i
prognozowanie szeregów czasowych. Praktyczne wprowadzenie na podstawie
środowiska R, 2015.
wiele innych – patrz CRAN Task View: Time Series Analysis,
http://cran.r-project.org/web/views/TimeSeries.html

Analiza szeregów czasowych w R – wprowadzenie 2/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Plan zajęć

1 Jak reprezentować szeregi czasowe w R?


2 Podstawowe metody graficznej prezentacji szeregów.

Analiza szeregów czasowych w R – wprowadzenie 3/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Plan zajęć

1 Jak reprezentować szeregi czasowe w R?


2 Podstawowe metody graficznej prezentacji szeregów.

Analiza szeregów czasowych w R – wprowadzenie 3/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przypomnienie: Czym jest szereg czasowy (ang. time


series)?
Definicja
Szereg czasowy to obserwacje interesującej nas wielkości,
zarejestrowane w kolejnych odstępach czasu (np. dniach,
miesiącach lub kwartałach).

Uwaga
Na zajęciach będziemy ograniczali się do tzw. szeregów
regularnych, tzn. szeregów o jednakowych odstępach czasowych.

Typowe oznaczenia:
Szereg czasowy: Xt , Yt , Zt , Wt , . . . (gdzie t - czas (ang. time))
Realizacja szeregu czasowego: x1 , x2 , . . . , xn
Prognoza h-krokowa (gdzie h - horyzont prognozy): X̂n+h lub
Fn+h
Analiza szeregów czasowych w R – wprowadzenie 4/31
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przypomnienie: Czym jest szereg czasowy (ang. time


series)?
Definicja
Szereg czasowy to obserwacje interesującej nas wielkości,
zarejestrowane w kolejnych odstępach czasu (np. dniach,
miesiącach lub kwartałach).

Uwaga
Na zajęciach będziemy ograniczali się do tzw. szeregów
regularnych, tzn. szeregów o jednakowych odstępach czasowych.

Typowe oznaczenia:
Szereg czasowy: Xt , Yt , Zt , Wt , . . . (gdzie t - czas (ang. time))
Realizacja szeregu czasowego: x1 , x2 , . . . , xn
Prognoza h-krokowa (gdzie h - horyzont prognozy): X̂n+h lub
Fn+h
Analiza szeregów czasowych w R – wprowadzenie 4/31
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Przypomnienie: Czym jest szereg czasowy (ang. time


series)?
Definicja
Szereg czasowy to obserwacje interesującej nas wielkości,
zarejestrowane w kolejnych odstępach czasu (np. dniach,
miesiącach lub kwartałach).

Uwaga
Na zajęciach będziemy ograniczali się do tzw. szeregów
regularnych, tzn. szeregów o jednakowych odstępach czasowych.

Typowe oznaczenia:
Szereg czasowy: Xt , Yt , Zt , Wt , . . . (gdzie t - czas (ang. time))
Realizacja szeregu czasowego: x1 , x2 , . . . , xn
Prognoza h-krokowa (gdzie h - horyzont prognozy): X̂n+h lub
Fn+h
Analiza szeregów czasowych w R – wprowadzenie 4/31
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Kilka przykładów

Monthly airline passengers in US Monthly unemployment rate in Poland Monthly petrol prices in Poland
AirPass{TSAFBook} bezrobocie{TSAFBook} benzyna{TSAFBook}

5.5
18
bezrobocie
60000

benzyna
AirPass

4.5
14
45000

10

3.5
2002 2006 2010 2014 2000 2005 2010 2015 2006 2008 2010 2012 2014

Time Time Time


Dow−Jones index quarterly US GDP Half−hourly electricity demand

window(taylor, end = c(1, 1240))


dj{fma} usgdp{expsmooth} taylor{forecast}
10000
3800

30000
usgdp

6000
dj

3600

20000
2000

0 50 100 150 200 250 300 1950 1970 1990 1 2 3 4

Time Time Time

Analiza szeregów czasowych w R – wprowadzenie 5/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Reprezentacja szeregów czasowych: klasa ts

Przykład (AirPass{TSAFBook})
Miesięczna liczba pasażerów linii lotniczych (w tysiącach) w USA,
w latach 2002–2014.

library(TSAFBook)
data(AirPass)
print(AirPass)

## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2002 43622 43391 54556 50796 52677 55429 57901 57961 45498 53674 50348 55753
## 2003 49034 46557 56282 52380 54559 58586 63071 61329 49936 55852 52938 56202

class(AirPass)

## [1] "ts"

Analiza szeregów czasowych w R – wprowadzenie 6/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Reprezentacja szeregów czasowych w R: klasa ts

Przykład (usgdp{expsmooth})
Kwartalne wartości produktu krajowego brutto (GDP) w USA,
zarejestrowane w okresie 1947:1 - 2006:1.

library(expsmooth)
data(usgdp)
print(usgdp)

## Qtr1 Qtr2 Qtr3 Qtr4


## 1947 1570.5 1568.7 1568.0 1590.9
## 1948 1616.1 1644.6 1654.1 1658.0
## 1949 1633.2 1628.4 1646.7 1629.9

class(usgdp)

## [1] "ts"

Analiza szeregów czasowych w R – wprowadzenie 7/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Klasa ts: konstruktor


dane miesięczne
# ts(data, start = c(year,month), frequency = 12)

dane kwartalne
# ts(data, start = c(year,quarter), frequency = 4)

Przykład (Skonstruujemy obiekt ts w oparciu o miesięczne dane dotyczące sprzedaży


samochodów (Jan 2012-Dec 2013))

data <- c(27165, 27089, 33655, 27291, 27175, 26478, 23736, 20710,
21400, 25459, 26867, 24707, 29859, 26881, 28586, 27379,
25706, 28706, 27934, 21908, 24945, 30729, 28038, 30984)

car.sales.ts <- ts(data, start = c(2012,1), frequency = 12)


car.sales.ts

## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2012 27165 27089 33655 27291 27175 26478 23736 20710 21400 25459 26867 24707
## 2013 29859 26881 28586 27379 25706 28706 27934 21908 24945 30729 28038 30984

Analiza szeregów czasowych w R – wprowadzenie 8/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Klasa ts: Podstawowe własności

# the time of the first and the last observation


start(AirPass)

## [1] 2002 1

end(AirPass)

## [1] 2014 2

# the number of observations per unit of time


frequency(AirPass)

## [1] 12

Analiza szeregów czasowych w R – wprowadzenie 9/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Klasa ts: Podstawowe własności

# the time of the first and the last observation


start(usgdp)

## [1] 1947 1

end(usgdp)

## [1] 2006 1

# the number of observations per unit of time


frequency(usgdp)

## [1] 4

Analiza szeregów czasowych w R – wprowadzenie 10/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Inne klasy wykorzystywane do reprezentacji szeregów


czasowych w R

xts – extensible time series,


mts – multiple time series,
msts – multi-seasonal time series,
its – irregularly spaced time series,
...

Analiza szeregów czasowych w R – wprowadzenie 11/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Reprezentacja szeregów czasowych R)


1 Wczytaj do przestrzeni roboczej R’a wybrane dane wbudowane z wybrane
pakietu. Sprawdź czy są one reprezentowane jako klasa ts. (funkcja
is.ts()).
2 Wykorzystaj poznane funkcje do zbadania podstawowych własności
danych (częstotliwość, data początkowa, końcowa, interwał, itp.).
3 Wczytaj do R przykładowe dane w formacie tekstowym (np. dane
dostępne na http:
// prac. im. pwr. edu. pl/ ~zagdan/ TSAFBook/ dane/ dane-TXT. zip ).
4 Stwórz na ich podstawie obiekt klasy ts.

Analiza szeregów czasowych w R – wprowadzenie 12/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Reprezentacja szeregów czasowych R)


1 Wczytaj do przestrzeni roboczej R’a wybrane dane wbudowane z wybrane
pakietu. Sprawdź czy są one reprezentowane jako klasa ts. (funkcja
is.ts()).
2 Wykorzystaj poznane funkcje do zbadania podstawowych własności
danych (częstotliwość, data początkowa, końcowa, interwał, itp.).
3 Wczytaj do R przykładowe dane w formacie tekstowym (np. dane
dostępne na http:
// prac. im. pwr. edu. pl/ ~zagdan/ TSAFBook/ dane/ dane-TXT. zip ).
4 Stwórz na ich podstawie obiekt klasy ts.

Analiza szeregów czasowych w R – wprowadzenie 12/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Reprezentacja szeregów czasowych R)


1 Wczytaj do przestrzeni roboczej R’a wybrane dane wbudowane z wybrane
pakietu. Sprawdź czy są one reprezentowane jako klasa ts. (funkcja
is.ts()).
2 Wykorzystaj poznane funkcje do zbadania podstawowych własności
danych (częstotliwość, data początkowa, końcowa, interwał, itp.).
3 Wczytaj do R przykładowe dane w formacie tekstowym (np. dane
dostępne na http:
// prac. im. pwr. edu. pl/ ~zagdan/ TSAFBook/ dane/ dane-TXT. zip ).
4 Stwórz na ich podstawie obiekt klasy ts.

Analiza szeregów czasowych w R – wprowadzenie 12/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Reprezentacja szeregów czasowych R)


1 Wczytaj do przestrzeni roboczej R’a wybrane dane wbudowane z wybrane
pakietu. Sprawdź czy są one reprezentowane jako klasa ts. (funkcja
is.ts()).
2 Wykorzystaj poznane funkcje do zbadania podstawowych własności
danych (częstotliwość, data początkowa, końcowa, interwał, itp.).
3 Wczytaj do R przykładowe dane w formacie tekstowym (np. dane
dostępne na http:
// prac. im. pwr. edu. pl/ ~zagdan/ TSAFBook/ dane/ dane-TXT. zip ).
4 Stwórz na ich podstawie obiekt klasy ts.

Analiza szeregów czasowych w R – wprowadzenie 12/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wizualizacja szeregów czasowych

Wykresy zwykłe (podstawowe)


Wykresy sezonowe
Autokorelacja
Dekompozycja
Inne

Analiza szeregów czasowych w R – wprowadzenie 13/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wizualizacja szeregów czasowych

Wykresy zwykłe (podstawowe)


Wykresy sezonowe
Autokorelacja
Dekompozycja
Inne

Analiza szeregów czasowych w R – wprowadzenie 13/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wizualizacja szeregów czasowych

Wykresy zwykłe (podstawowe)


Wykresy sezonowe
Autokorelacja
Dekompozycja
Inne

Analiza szeregów czasowych w R – wprowadzenie 13/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wizualizacja szeregów czasowych

Wykresy zwykłe (podstawowe)


Wykresy sezonowe
Autokorelacja
Dekompozycja
Inne

Analiza szeregów czasowych w R – wprowadzenie 13/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wizualizacja szeregów czasowych

Wykresy zwykłe (podstawowe)


Wykresy sezonowe
Autokorelacja
Dekompozycja
Inne

Analiza szeregów czasowych w R – wprowadzenie 13/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wykresy szeregów czasowych: funkcja plot()

plot(AirPass)
65000
AirPass

45000

2002 2004 2006 2008 2010 2012 2014

Time

Analiza szeregów czasowych w R – wprowadzenie 14/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wykresy szeregów czasowych: funkcja autoplot()

library(forecast)
library(ggplot2)
autoplot(AirPass)

70000
AirPass

60000

50000

2002 2004 2006 2008 2010 2012 2014


Time

Rysunek: AirPass:
Analiza szeregów ggplot-based
czasowych time plot
w R – wprowadzenie 15/31
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wykresy sezonowe: funkcja seasonplot()

library(forecast)
seasonplot(AirPass, col = rainbow(12), year.labels = TRUE)

Seasonal plot: AirPass


65000

2013
2007
2006
2005
2004
2011
2012
2010
2008
2009
2003
2002
45000

Jan Mar May Jul Sep Nov

Month

Analiza szeregów czasowych w R – wprowadzenie 16/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wykresy sezonowe: funkcja ggseasonplot()

library(forecast)
ggseasonplot(AirPass, year.labels = TRUE)

Seasonal plot: AirPass

70000

2013
2007
2006
60000 2005
2004
2011
2012
2010
2008
2009
2003
2002
2014
50000

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Month

Analiza szeregów czasowych w R – wprowadzenie 17/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wykresy sezonowe: funkcja monthplot()

monthplot(AirPass)
65000
AirPass

45000

J F M A M J J A S O N D

Analiza szeregów czasowych w R – wprowadzenie 18/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wykresy sezonowe: funkcja ggmonthplot()

library(forecast)
ggmonthplot(AirPass)

70000

60000
x

50000

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Month

Analiza szeregów czasowych w R – wprowadzenie 19/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Funkcja autokorelacji (ang. autocorrelation function (ACF)

Acf(AirPass, lag.max = 36)

Series AirPass
0.8
0.2
ACF

−0.4

12 24 36

Lag

Analiza szeregów czasowych w R – wprowadzenie 20/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Funkcja cząstkowej autokorelacji (ang. partial


autocorrelation function (PACF))

Pacf(AirPass, lag.max = 36)

Series AirPass
0.2 0.6
Partial ACF

−0.4

12 24 36

Lag

Analiza szeregów czasowych w R – wprowadzenie 21/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wszystkie wykresy na jednym: funkcja tsdisplay()

tsdisplay(AirPass)

AirPass
45000

2002 2004 2006 2008 2010 2012 2014


0.4

0.4
PACF
ACF

−0.4

−0.4

0 5 10 20 30 0 5 10 20 30

Lag Lag

Analiza szeregów czasowych w R – wprowadzenie 22/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wszystkie wykresy na jednym: funkcja ggtsdisplay()

ggtsdisplay(AirPass)

70000
60000
50000

2002 2004 2006 2008 2010 2012 2014

0.5 0.5
PACF
ACF

0.0 0.0

−0.5 −0.5
12 24 36 12 24 36
Lag Lag

Analiza szeregów czasowych w R – wprowadzenie 23/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wszystkie wykresy na jednym: funkcja ggtsdisplay()

ggtsdisplay(usgdp)

9000
6000
3000
1950 1960 1970 1980 1990 2000

1.00 1.00
0.75 0.75
PACF
ACF

0.50 0.50
0.25 0.25
0.00 0.00

4 8 12 16 20 24 4 8 12 16 20 24
Lag Lag

Analiza szeregów czasowych w R – wprowadzenie 24/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Wszystkie wykresy na jednym: funkcja ggtsdisplay()

Przykład (Gaussian White Noise (WN))

WN <- rnorm(200) #uncorrelated observations from N(0,1)


ggtsdisplay(WN, main="white noise")

white noise
2
1
0
−1
−2
0 50 100 150 200

0.15 0.15
0.10 PACF 0.10
0.05 0.05
ACF

0.00 0.00
−0.05 −0.05
−0.10 −0.10
−0.15 −0.15
0 5 10 15 20 0 5 10 15 20
Lag Lag

Analiza szeregów czasowych w R – wprowadzenie 25/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Dekompozycja
Idea: Identyfikujemy regularne tendencje w analizowanym
szeregów czasowym
Definicja
Dekompozycja addytywna

Xt = mt + st + Zt ,

Dekompozycja multiplikatywna

Xt = mt · st · Zt ,

gdzie:
Xt – obserwowany szereg,
mt – trend (tendencja długoterminowa),
st – wahania sezonowe (sezonowość),
Zt – losowe fluktuacje.
Analiza szeregów czasowych w R – wprowadzenie 26/31
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Dekompozycja w R: funkcja decompose()

AirPass.decomp.add <- decompose(AirPass)


autoplot(AirPass.decomp.add)

Decomposition of additive time series


70000
data

60000
50000
65000
trend

60000
55000
remainder seasonal

5000
0
−5000

2500
0
−2500
2002 2004 2006 2008 2010 2012 2014
Time

Analiza szeregów czasowych w R – wprowadzenie 27/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Dekompozycja w R: funkcja decompose()

AirPass.decomp.mult <- decompose(AirPass, type="multiplicative")


autoplot(AirPass.decomp.mult)

Decomposition of multiplicative time series


70000
data

60000
50000
65000
trend

60000
55000
1.15
remainder seasonal

1.10
1.05
1.00
0.95
0.90
0.85
1.05
1.00
0.95
2002 2004 2006 2008 2010 2012 2014
Time

Analiza szeregów czasowych w R – wprowadzenie 28/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Inne funkcje: xyplot(){lattice}

library(lattice)
xyplot(AirPass, strip=TRUE, cut=list(number=3, overlap=0.5))

time
65000
55000
45000
2002 2003 2004 2005 2006 2007 2008
time
65000
55000
45000
2005 2006 2007 2008 2009 2010 2011
time
65000
55000
45000
2008 2009 2010 2011 2012 2013 2014

Time

Analiza szeregów czasowych w R – wprowadzenie 29/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Inne funkcje: mvtsplot(){mvtsplot}

library(mvtsplot)
library(expsmooth)
data(jewelry) # 314 weekly time series on jewelry product sales
mvtsplot(jewelry[,1:50]) # first 50 time series
Level

250
0 200 400
150
50

0 20 40 60 80 100 120

Analiza szeregów czasowych w R – wprowadzenie 30/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Wizualizacja szeregów czasowych)


1 Wykorzystaj poznane wykresy do zapoznania się z wybranym
szeregiem.
2 Jakie charakterystyczne własności danych dostrzegasz?
3 Zwróć uwagę m.in. na: (nie)jednorodność wariancji w czasie,
obecność trendów długoterminowych, występowanie wahań
sezonowych (sezonowości).
4 Wykorzystaj poznane wykresy do przeanalizowania obecności
autokorelacji dla różnych danych.
5 Dla których opóźnień (lag) obserwujesz największą korelację?
Jakie wnioski można na tej podstawie wyciagnąć
(przynajmniej wstępnie) odnośnie występowania w danych
regularnych składowych (trendu, sezonowości)?

Analiza szeregów czasowych w R – wprowadzenie 31/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Wizualizacja szeregów czasowych)


1 Wykorzystaj poznane wykresy do zapoznania się z wybranym
szeregiem.
2 Jakie charakterystyczne własności danych dostrzegasz?
3 Zwróć uwagę m.in. na: (nie)jednorodność wariancji w czasie,
obecność trendów długoterminowych, występowanie wahań
sezonowych (sezonowości).
4 Wykorzystaj poznane wykresy do przeanalizowania obecności
autokorelacji dla różnych danych.
5 Dla których opóźnień (lag) obserwujesz największą korelację?
Jakie wnioski można na tej podstawie wyciagnąć
(przynajmniej wstępnie) odnośnie występowania w danych
regularnych składowych (trendu, sezonowości)?

Analiza szeregów czasowych w R – wprowadzenie 31/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Wizualizacja szeregów czasowych)


1 Wykorzystaj poznane wykresy do zapoznania się z wybranym
szeregiem.
2 Jakie charakterystyczne własności danych dostrzegasz?
3 Zwróć uwagę m.in. na: (nie)jednorodność wariancji w czasie,
obecność trendów długoterminowych, występowanie wahań
sezonowych (sezonowości).
4 Wykorzystaj poznane wykresy do przeanalizowania obecności
autokorelacji dla różnych danych.
5 Dla których opóźnień (lag) obserwujesz największą korelację?
Jakie wnioski można na tej podstawie wyciagnąć
(przynajmniej wstępnie) odnośnie występowania w danych
regularnych składowych (trendu, sezonowości)?

Analiza szeregów czasowych w R – wprowadzenie 31/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Wizualizacja szeregów czasowych)


1 Wykorzystaj poznane wykresy do zapoznania się z wybranym
szeregiem.
2 Jakie charakterystyczne własności danych dostrzegasz?
3 Zwróć uwagę m.in. na: (nie)jednorodność wariancji w czasie,
obecność trendów długoterminowych, występowanie wahań
sezonowych (sezonowości).
4 Wykorzystaj poznane wykresy do przeanalizowania obecności
autokorelacji dla różnych danych.
5 Dla których opóźnień (lag) obserwujesz największą korelację?
Jakie wnioski można na tej podstawie wyciagnąć
(przynajmniej wstępnie) odnośnie występowania w danych
regularnych składowych (trendu, sezonowości)?

Analiza szeregów czasowych w R – wprowadzenie 31/31


Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja

Ćwiczenie

Ćwiczenie (Wizualizacja szeregów czasowych)


1 Wykorzystaj poznane wykresy do zapoznania się z wybranym
szeregiem.
2 Jakie charakterystyczne własności danych dostrzegasz?
3 Zwróć uwagę m.in. na: (nie)jednorodność wariancji w czasie,
obecność trendów długoterminowych, występowanie wahań
sezonowych (sezonowości).
4 Wykorzystaj poznane wykresy do przeanalizowania obecności
autokorelacji dla różnych danych.
5 Dla których opóźnień (lag) obserwujesz największą korelację?
Jakie wnioski można na tej podstawie wyciagnąć
(przynajmniej wstępnie) odnośnie występowania w danych
regularnych składowych (trendu, sezonowości)?

Analiza szeregów czasowych w R – wprowadzenie 31/31

You might also like