tfarima provides a comprehensive framework for building customized Transfer Function and ARIMA models with multiple operators and parameter restrictions. The package implements exact maximum likelihood estimation and offers a wide range of tools for time series analysis.
Install the stable version from CRAN:
install.packages("tfarima")
Or install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("gallegoj/tfarima")
library(tfarima)
# Load example data
data(rsales)
# Build a basic ARIMA model with seasonal components
model <- um(rsales,
i = list(1, c(1, 12)), # Regular and seasonal differences
ma = list(1, c(1, 12)), # MA(1) and seasonal MA(1)
bc = TRUE) # Box-Cox transformation
# Fit the model
fitted_model <- fit(model)
# Display results
summary(fitted_model)
# Generate forecasts
predictions <- predict(fitted_model, n.ahead = 12)
plot(predictions)
# Diagnostic checking
tsdiag(fitted_model)
um(): Build univariate ARIMA modelstfm(): Build transfer function modelslagpol(): Create lag polynomials with parameter restrictionsfit(): Estimate model parameters using exact or conditional MLoutliers(): Detect and model outliers automaticallycalendar(): Add calendar effects (trading days, Easter, leap year)tsdiag(): Diagnostic checking plotsresiduals(): Extract model residualsAIC(), logLik(): Information criteria and likelihoodpredict(): Generate forecastsseasadj(): Seasonal adjustmentucomp(): Unobserved components decomposition# Load retail sales data
data(rsales)
# Build and fit model with calendar effects
model <- um(rsales,
i = list(1, c(1, 12)),
ma = list(1, c(1, 12)),
bc = TRUE)
# Add calendar effects
model_cal <- calendar(model, easter = TRUE)
fitted <- fit(model_cal)
# Perform seasonal adjustment
sa <- seasadj(fitted)
# Plot results
plot(sa)
# Load gas furnace data
data(seriesJ)
# Build transfer function model
model <- tfm(seriesJ$output,
inputs = list(seriesJ$input),
orders = list(c(3, 2, 0)))
# Fit the model
fitted <- fit(model)
# Summary and diagnostics
summary(fitted)
tsdiag(fitted)
For more detailed information and examples, see:
vignette("tfarima")help(package = "tfarima")The package implements methods from:
Box, G.E.P., Jenkins, G.M., Reinsel, G.C. and Ljung, G.M. (2015). Time Series Analysis: Forecasting and Control. John Wiley & Sons.
Box, G.E.P., Pierce, D.A. and Newbold, D.A. (1987). Estimating Trend and Growth Rates in Seasonal Time Series. Journal of the American Statistical Association, 82(397), 276-282.
Bell, W.R. and Hillmer, S.C. (1983). Modeling Time Series with Calendar Variation. Journal of the American Statistical Association, 78(383), 526-534.
Chen, C. and Liu, L.M. (1993). Joint Estimation of Model Parameters and Outlier Effects in Time Series. Journal of the American Statistical Association, 88(421), 284-297.
GPL (>= 2)
José L. Gallego
To report bugs or request features, please visit: https://github.com/gallegoj/tfarima/issues
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.