Professional Documents
Culture Documents
Analiza Szeregów Czasowych W R - Wprowadzenie: Adam Zagdański
Analiza Szeregów Czasowych W R - Wprowadzenie: Adam Zagdański
Analiza Szeregów Czasowych W R - Wprowadzenie: Adam Zagdański
Adam Zagdański
200000
level
80
95
150000
Wydział Matematyki
Politechnika Wrocławska
6.03.2023
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Przydatne R-pakiety
Plan zajęć
Plan zajęć
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
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
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
30000
usgdp
6000
dj
3600
20000
2000
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"
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)
class(usgdp)
## [1] "ts"
dane kwartalne
# ts(data, start = c(year,quarter), frequency = 4)
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)
## 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
## [1] 2002 1
end(AirPass)
## [1] 2014 2
## [1] 12
## [1] 1947 1
end(usgdp)
## [1] 2006 1
## [1] 4
Ćwiczenie
Ćwiczenie
Ćwiczenie
Ćwiczenie
plot(AirPass)
65000
AirPass
45000
Time
library(forecast)
library(ggplot2)
autoplot(AirPass)
70000
AirPass
60000
50000
Rysunek: AirPass:
Analiza szeregów ggplot-based
czasowych time plot
w R – wprowadzenie 15/31
Wprowadzenie Reprezentacja szeregów czasowych R Wizualizacja
library(forecast)
seasonplot(AirPass, col = rainbow(12), year.labels = TRUE)
2013
2007
2006
2005
2004
2011
2012
2010
2008
2009
2003
2002
45000
Month
library(forecast)
ggseasonplot(AirPass, year.labels = TRUE)
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
monthplot(AirPass)
65000
AirPass
45000
J F M A M J J A S O N D
library(forecast)
ggmonthplot(AirPass)
70000
60000
x
50000
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Month
Series AirPass
0.8
0.2
ACF
−0.4
12 24 36
Lag
Series AirPass
0.2 0.6
Partial ACF
−0.4
12 24 36
Lag
tsdisplay(AirPass)
AirPass
45000
0.4
PACF
ACF
−0.4
−0.4
0 5 10 20 30 0 5 10 20 30
Lag Lag
ggtsdisplay(AirPass)
70000
60000
50000
0.5 0.5
PACF
ACF
0.0 0.0
−0.5 −0.5
12 24 36 12 24 36
Lag Lag
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
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
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
60000
50000
65000
trend
60000
55000
remainder seasonal
5000
0
−5000
2500
0
−2500
2002 2004 2006 2008 2010 2012 2014
Time
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
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
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
Ćwiczenie
Ćwiczenie
Ćwiczenie
Ćwiczenie
Ćwiczenie