Untitled
unknown
plain_text
a year ago
2.3 kB
7
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