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)
)
- Autoregressive order 1 (
- 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)
- E.g.
- Repeat processes through the use of the times operator
- E.g.
mod = 3*AR1()
- E.g.
Process Generation
- Computationally sound algorithms for generating:
- Autoregressive - moving averages (
ARMA
) - Autoregressive processes of Order 1, P (
AR1
orAR
) - Moving Averages of Order Q (
MA
) - Normal White Noise (
WN
) - Random Walk (
RW
) - Quantization Noise (
QN
)
- Autoregressive - moving averages (
- 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()
.