Untitled
unknown
plain_text
5 months ago
2.3 kB
3
Indexable
# wczytanie danych # The number of international passenger bookings (in thousands) per month # on an airline (Pan Am) in the United States were obtained from the Federal # Aviation Administration for the period 1949–1960 (Brown, 1963) -> 12 years # timeseries.object.name <- ts(data, start, end, frequency) data(AirPassengers) tabela <- AirPassengers tabela print(tabela) length(tabela) head(tabela, n=10) #first 10 observations tail(tabela, n=12) #last 10 observations -> here last year class(tabela) # time series object start(tabela) end(tabela) frequency(tabela) # liczba obserwacji w jednostce czasu deltat(tabela) #okres czasu pomiędzy kolejnymi obserwacjami -> here 1/12 deltat(tabela)*length(tabela) # = frequency cycle(tabela) # pozycje każdej obserwacji w danym cyklu (tu roku) summary(tabela) # useless? plot(tabela, ylab = "Passengers (in 1000's)") # widoczny trend i komponenta sezonowa ############ Funkcja sACF # funkcja z pakietu stats acf(tabela, lag.max = 40) # zbędna wartość w 0 oraz lag jest ułamkiem częstości # leipiej użyć pakietu forecast library(forecast) Acf(tabela, lag.max = 40, main = "Funkcja sACF", col = "darkolivegreen4") # dla porównania white_noise <- as.ts(rnorm(100)) Acf(white_noise, lag.max = 30, main = "Funkcja sACF", col = "darkolivegreen4") # znów widoczny trend i komponenta sezonowa # trend moze byc tez losowy !!! mean(tabela) # what about mean within years ? tapply(tabela, cycle(tabela), mean) # średnia w miesiącach po latach # po latach meanyear<-aggregate(tabela, 1, function(x) mean(x[1:12])) meanyear plot(meanyear) # trend ewidentnie wzrostowy (linowy)? # średnia od stycznia do marca po latach meanyear<-aggregate(tabela, 1, function(x) mean(x[1:3])) meanyear plot(meanyear) # Estymacja trendu # Średnia ruchoma tabela_smooth <- filter(tabela, sides = 2, filter = rep(1 /13, 13)) # q=6 head(tabela_smooth) # 2q wartości NA sum(is.na(tabela_smooth)) # pozbywamy się NA tabela_smooth_no_na <- na.omit(tabela_smooth) sum(is.na(tabela_smooth_no_na)) plot(tabela, main = "Metdoa średniej ruchomej", col = "darkolivegreen4", lty = 1, lwd =2, ylab = "AirPassengers") lines(tabela_smooth_no_na, col = "red", lty = 2) legend("bottomright", legend = c("szereg", "wyestymowany trend"), col = c("darkolivegreen4", "red"), lty = c(1,2))
Editor is loading...
Leave a Comment