Time Series
zoo/xts (irregular & financial series), prophet (Meta's forecasting), modeltime (ML for time series with tidymodels), timetk, tsfeatures, slider (rolling windows), anomalize.
31.1 Base time series objects
ts_data <- ts(c(112, 118, 132, 129, 121, 135), start = c(2024, 1), frequency = 12)
plot(AirPassengers)
decompose(AirPassengers) |> plot() # trend, seasonal, random
stl(log(AirPassengers), s.window = "periodic") |> plot()
acf(AirPassengers); pacf(AirPassengers)
window(AirPassengers, start = c(1955, 1))
lag(ts_data, 1); diff(log(AirPassengers))31.2 Classical forecasting (forecast package)
library(forecast)
fit <- auto.arima(AirPassengers)
summary(fit)
fc <- forecast(fit, h = 24); autoplot(fc)
ets(AirPassengers) |> forecast(h = 12) # exponential smoothing
checkresiduals(fit); accuracy(fc)
tseries::adf.test(diff(log(AirPassengers))) # stationarity test31.3 Tidy time series: tsibble + fable (tidyverts)
library(fpp3) # loads tsibble, fable, feasts, tsibbledata
aus_production |>
model(ets = ETS(Beer), arima = ARIMA(Beer), snaive = SNAIVE(Beer)) |>
forecast(h = "2 years") |>
autoplot(aus_production |> filter(year(Quarter) > 2000), level = 80)31.4 Other tools
zoo/xts (irregular & financial series), prophet (Meta's forecasting), modeltime (ML for time series with tidymodels), timetk, tsfeatures, slider (rolling windows), anomalize.