# Project Details

Project Title: Generalized Method of Wavelet Moments (gmwm)

Project URL: http://cran.r-project.org/web/packages/gmwm/

Code Repository: https://github.com/SMAC-Group/gmwm

Project Version: 2.1.0

Project Status: Dormant.

Project Description: Generalized Method of Wavelet Moments (GMWM) is an estimation technique for the parameters of time series models. It uses the wavelet variance in a moment matching approach that makes it particularly suitable for the estimation of certain state-space models. Furthermore, there exists a robust implementation of GMWM, which allows the robust estimation of some state-space models and ARIMA models. Lastly, the package provides the ability to quickly generate time series data, perform different wavelet decompositions, and visualizations.

Supplementary Data Package: https://github.com/SMAC-Group/imudata Contains real world Inertial Measurement Unit (IMU) data of a stationary sensor.

Supplementary Data Package: https://github.com/SMAC-Group/smacdata houses multiple example datasets used in publications and papers from different fields.

# Features

## Highlights

• High performing C++ routines to calculate wavelet variance, GMWM estimator, and more!
• Inference and Model Selection for the GMWM estimator,.
• Straightforward model specification of state-space model (or latent time series models) via natural inputs.
• Graphical features that enable the exploration of the Wavelet Variance and GMWM Estimation results.

## Generalized Method of Wavelet Moments (GMWM)

• Efficient implementation of GMWM estimation techniques for ARMA and state-space models.
• Obtain results for time series with over two million observations in under 1.5 seconds!
• Effortlessly obtain initial starting values with a new grid search algorithm or use your own.
• Switch between different weighting matrices (e.g. approx,bootstrap,asymptotic)

## Decomposition Methods

• The decomposition of process is available in three different C++ functions.
• Discrete Wavelet Transform (DWT)
• Maximal Overlap Discrete Wavelet Transform (MODWT)
• Allan Variance (AVAR)
• Support for the following Daubechies wavelets:
• d2 - Haar filter
• Extendable filter collection
• Support a pull request to add a new filter!

## Wavelet Variance

• Calculate the Wavelet Variance for a set of data underneath the Haar wavelet filter with either robust or classical techniques.
• Visualize the Wavelet Variance with plot(wvar(x))
• Compare the results of wavelet variances using compare.wvar()

## Time Series Processed Model Syntax

• New model syntax that enables users to quickly specify models via ts.model S3 object.
• Specify models with initial starting parameters or let the built in grid search algorithm guess initial parameter values.
• AR1() creates an AR1 modeling component with the program set to guess initial values.
• AR1(phi = .3, sigma2 = 1) creates an AR1 modeling component with user supplied initial values.
• Support exists for:
• Autoregressive order 1 (AR1(phi,sigma2))
• Normal White Noise (WN(sigma2))
• Random Walk (RW(sigma2))
• Quantization Noise (QN(q2))
• Moving Averages of order Q (MA(q))
• Autoregressive of order P (AR(p))
• Autoregressive - Moving Averages of orders P,Q (ARMA(p,q,sigma2))
• Chain different processes together through the use of the plus operator
• E.g. mod = AR1() + WN() or mod = AR1(phi = .9, sigma2 = 1) + WN(sigma2 = .1)
• Repeat processes through the use of the times operator
• E.g. mod = 3*AR1()

## Process Generation

• Computationally sound algorithms for generating:
• Autoregressive - moving averages (ARMA)
• Autoregressive processes of Order 1, P (AR1 or AR)
• Moving Averages of Order Q (MA)
• Normal White Noise (WN)
• Random Walk (RW)
• Quantization Noise (QN)
• Quick generation of latent processes via gen.gts(model, N)

## Latent Time Series Demonstration

• See how different time series processes combine together via demo.lts()`.