Learn R Programming

tfarima

Overview

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.

Key Features

  • Flexible model specification: Build ARIMA and transfer function models with multiple lag polynomials and parameter restrictions
  • Model identification: Tools for identifying appropriate model structures
  • Estimation methods: Exact or conditional maximum likelihood estimation
  • Diagnostic checking: Comprehensive model validation tools
  • Automatic outlier detection: Identify and handle outliers in time series
  • Calendar effects: Model trading day, Easter, and leap year effects
  • Forecasting: Generate predictions with confidence intervals
  • Seasonal adjustment: Decompose time series into trend, seasonal, and irregular components

Installation

Install the stable version from CRAN:

install.packages("tfarima")

Or install the development version from GitHub:

# install.packages("devtools")
devtools::install_github("gallegoj/tfarima")

Quick Start

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)

Main Functions

Model Building

  • um(): Build univariate ARIMA models
  • tfm(): Build transfer function models
  • lagpol(): Create lag polynomials with parameter restrictions

Model Estimation and Selection

  • fit(): Estimate model parameters using exact or conditional ML
  • outliers(): Detect and model outliers automatically
  • calendar(): Add calendar effects (trading days, Easter, leap year)

Model Evaluation

  • tsdiag(): Diagnostic checking plots
  • residuals(): Extract model residuals
  • AIC(), logLik(): Information criteria and likelihood

Forecasting and Decomposition

  • predict(): Generate forecasts
  • seasadj(): Seasonal adjustment
  • ucomp(): Unobserved components decomposition

Example: Seasonal Adjustment

# 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)

Example: Transfer Function Model

# 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)

Documentation

For more detailed information and examples, see:

References

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.

License

GPL (>= 2)

Author

José L. Gallego

Issues and Contributions

To report bugs or request features, please visit: https://github.com/gallegoj/tfarima/issues

Copy Link

Version

Install

install.packages('tfarima')

Monthly Downloads

378

Version

0.4.1

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Jose L. Gallego

Last Published

November 3rd, 2025

Functions in tfarima (0.4.1)

ccf.tfm

Cross-correlation check
display

Graphs for ARMA models
as.ucarima.um

Coerce a Univariate Model to UCARIMA form
coef.um

Coefficients of a univariate model
diagchk.tfm

Diagnostic Checking for Transfer Function Models
AIC.tfm

AIC and BIC for Transfer Function Models
as.um

Convert arima into um.
coef.ucm

Extract coefficients from UCM objects
diagchk.ssm

Diagnostic checking
coef.tfm

Coefficients of a Transfer Function Model
airline

Airline Model (SARIMA(0,1,1)x(0,1,1)s)
ide

Identification plots
kf

Kalman filter for SS models
irf

Impulse response function
lagpol0

Create lag polynomial objects
easter

Easter effect
init_kf

Initialization of Kalman filter
outliers.ssm

Outliers detection at known/unknown dates
as.lagpol

Lag polynomial converter
output

Output of a transfer function or a transfer function model
logLik.ssm

Log-likelihood of a SS model
cwfact

Cramer-Wold Factorization
autocov.ssm

Theoretical autocovariances of an ARMA model
decomp.ssm

Unobserved components decomposition
autocorr.ucarima

Theoretical simple/partial autocorrelations of an ARMA model
factors

Lag polynomial factorization
predict.tf

Predict transfer function
predict.ssm

Predict method for state space models
lagpol

Lag polynomials
ks

Kalman smoother for SS models
fit.tfm

Fit a Transfer Function Model
fit.ucarima

Estimation of UCARIMA models
fit.ssm

Estimation of the ARIMA model
print.tfm

Print Transfer Function Model
noise.ssm

Extract Noise Component from Transfer Function Model
outlierDates

Outlier dates
psi.weights

Psi weights of an AR(I)MA model
printLagpol

Print non-normalized polynomial as a lag polynomial
printLagpolList

Prints a list of lagpol objects.
residuals.ssm

Residuals of fitted state space models
residuals.tfm

Extract Residuals from Transfer Function Model
print.uc

Print method for unobserved components
seriesC

Series C Chemical Process Temperature Readings: Every Minute.
seriesJ

Gas furnace data
phi.ucarima

Unscramble AR polynomial
residuals.um

Residuals of the ARIMA model
roots

Roots of lag polynomials
modify.tfm

Modifying a TF or an ARIMA model
autocov2MA

Convert autocovariances to MA parameters
pccf

Prewhitened cross correlation function
calendar.ssm

Calendar effects
equation.ucarima

Equation of ucarima model
factorize

Factorized form of a univariate ARIMA model
inv

Inverse of a lag polynomial
print.ssm

Print method for ssm objects
theta

Unscramble MA polynomial
tsdiag.tfm

Diagnostic Plots for Time-Series Fits Description
spec

Spectrum of an ARMA model
intervention.tfm

Intervention analysis/Outlier treatment
ssm

Time Invariant State Space Model
tf

Transfer function for input
print.summary.ssm

Print summary of fitted state space model
setinputs.tfm

Add or Replace Inputs in Models
residuals.ucarima

Residuals of fitted UCARIMA models
tfest

Helper function to create a tf object
sincos

Trigonometric variables
sim.tfm

Simulate Time Series from ARIMA or Transfer Function Models
nabla.ucarima

Unscramble I polynomial
tsdiag.um

Diagnostic Plots for Time-Series Fits Description
signal

Signal component of a TF model
tsvalue

Extract time series value by date
tfm

Transfer Function Model Constructor
varsel

Variable selection
wkfilter.as_ucarima

Wiener-Kolmogorov filter
uc0

Unobservable components (UC) for structural time series models
logLik.tfm

Log-Likelihood of Transfer Function Model
predict.tfm

Forecast Transfer Function Model
uc

Unobservable components
logLik.um

Log-likelihood of an ARIMA model
predict.um

Forecasts from an ARIMA model
sdummies

Seasonal dummies
print.tf

Print method for transfer function objects
print.lagpol

Print Method for Lag Polynomial Objects
pi.weights

Pi weights of an AR(I)MA model
std

Standardize time series
seasadj

Seasonal adjustment
polyderivEvalR

Evaluate the k-th derivative of a polynomial at point z
print.summary.tfm

Print Summary of Transfer Function Model
summary.um

Summary of um model
roots2lagpol

Lag polynomial from roots
summary.tfm

Summarize Transfer Function Model
print.summary.um

Print Summary of Univariate Model
rsales

Retail Sales of Variety Stores (U.S. Bureau of the Census)
tfarima-package

Transfer Function and ARIMA Models
summary.ssm

Summary of fitted state space model
ucarima

Unobserved components ARIMA models
wold.pol

Wold polynomial
ucm

Unobserved Components Time Series Models
um

Univariate (ARIMA) model
unitcircle

Unit circle
BuildingMat

Monthly Retail Sales: Building Material and Supplies Dealers (NAICS 4441)
S

Annual (rolling) sum
AIC.ssm

AIC for fitted state space models
add_um

Addition or substraction of univariate (ARIMA) models
CalendarVar

Calendar variables
InterventionVar

Intervention variables
as.ucarima

Generic function for coercion to class "ucarima"
as.ssm.ucarima

Structural form for an ARIMA model
Wtelephone

Wisconsin Telephone Company