Fast AR and ARMA Noise Whitening for Functional MRI (fMRI) Design and Data

Lightweight utilities to estimate autoregressive (AR) and autoregressive moving average (ARMA) noise models from residuals and apply matched generalized least squares to whiten functional magnetic resonance imaging (fMRI) design and data matrices. The ARMA estimator follows a classic 1982 approach , and a restricted AR family mirrors workflows described by Cox (2012) .


fmriAR

fmriAR provides fast AR/ARMA-based prewhitening for fMRI GLM workflows. It estimates voxel-wise or parcel-based noise models, applies segment-aware whitening, and exposes diagnostics that make it easy to confirm residual independence.

Key capabilities

  • Automatic AR/ARMA order selection via Hannan–Rissanen initialization and iterative refinement (Hannan & Rissanen, 1982)
  • Segment-aware whitening that respects run boundaries and optional multiscale pooling across parcels
  • Convenience helpers to whiten design matrices and inspect autocorrelation diagnostics

Installation

# install.packages("remotes")  # only needed once
remotes::install_github("bbuchsbaum/fmriAR")
library(fmriAR)

Quick start

# X: design matrix (n x p), Y: voxel data (n x v), runs: factor or integer run labels
res   <- Y - X %*% qr.solve(X, Y)                      # pre-fit residuals
plan  <- fit_noise(res, runs = runs, method = "ar",    # estimate AR model
                   p = "auto", pooling = "global")
xyw   <- whiten_apply(plan, X, Y, runs = runs)         # whiten design and data
fit   <- lm.fit(xyw$X, xyw$Y)
se    <- sandwich_from_whitened_resid(xyw$X, xyw$Y, beta = fit$coefficients)
ac    <- acorr_diagnostics(xyw$Y - xyw$X %*% fit$coefficients)

See vignettes/ and ?fit_noise for more detailed workflows, including multiscale pooling and ARMA whitening.

References

  • Hannan, E. J., & Rissanen, J. (1982). Recursive estimation of mixed autoregressive-moving average order. Biometrika, 69(1), 81–94.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("fmriAR")

0.3.2 by Bradley Buchsbaum, 6 months ago


https://bbuchsbaum.github.io/fmriAR/


Browse source code at https://github.com/cran/fmriAR


Authors: Bradley Buchsbaum [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports Rcpp, stats

Suggests testthat, knitr, rmarkdown, abind, withr

Linking to Rcpp, RcppArmadillo

System requirements: OpenMP (optional)


See at CRAN