Skip to content

Public Release of GMWM v2.0.0

Latest
Compare
Choose a tag to compare
@coatless coatless released this 10 Feb 17:00
· 264 commits to master since this release

gmwm 2.0.0

This is the second general release of the Generalized Method of Wavelet Moments (GMWM) R Package. Considerable amount of work has been done to improve the user experience across all disciplines.

Highlights

  • IMU Data Object Improvements
  • New time series modeling term: GM (Gauss-Markov)
  • More flexible MODWT, DWT, and AVAR Wrappers
  • Improved IMU Parameter Search Algorithm
  • Faster Batch WVAR Processing
  • Rewritten visual model comparison
  • Auto-version check on package load

Time Series Processed Model Syntax

  • New model term that enables users to specify a guass-markov process (GM).
    • The GM is a reparameterization of an AR1 process using the freqeuncy of the data.
  • Note: The conversion to and fro GM is done outside the C++ backend. Internally, the term is treated as an AR1 with frequency of 1.

Decomposition Methods

  • New flexible R wrappers for
    • Discrete Wavelet Transform (DWT)
    • Maximal Overlap Discrete Wavelet Transform (MODWT)
    • Allan Variance (AVAR)
  • Support is now available for taking up to a specific scale.
  • DWT and MODWT now have built-in brick.wall support.
  • New brick.wall R wrapper to later handle boundary coefficients.

Wavelet Variance

  • Calculate the Wavelet Variance for DWT composition in addition to an MODWT decomposition.
  • Change the level of decomposition for the WV.
  • New batch data set processing function in C++

Model Comparison

  • Reimplemented compare.models() function that removes the large spaces between plots.
  • Labels are now around the top and right of the plot.

Data Objects

  • imu and lts objects now have a frequency, unit, and name component.
  • All data objects were rewritten so that data is placed first and foremost.
    • Attributes of the data are now accessed via attr(x,"name")
  • Smart printing has been enabled for data objects. No longer will console be flooded with text!
    • Objects print the first and last 10 observations.
  • update.* function
    • Added a means to update parameters of an object without recreating it.

IMU

  • New grid search algorithm for IMU parameters that relies upon dominance of the first few scales.
  • Improved loading experience with the addition of read.imu that returns an R IMU object type.
  • The wvar.imu function now calls a new batch wrapper that processes multiple signals quickly.
  • Added ability to subset IMU without losing attributes. (Limited to pairs of data.)

Package Load

  • Auto-version check on package load
    • Connects to CRAN to see if a new package exists and alerts the user.
  • More specific startup messages to help users access the resources of the package.

External Data Package Install

  • Established the SMAC Group Data Repo
  • Rewrote install_imudata to make use of the data repo
  • Removed dl.file and install_ functions.

Internal

  • Added quick create_imu() and create_wvar() objects to avoid long checks.
  • Added ar1_to_gm() and gm_to_ar1() to convert to and for the GM object.
  • Added is.*() functions for gmwm-based objects to avoid constantly calling inherit(x,"*").

Bug Fixes

  • freq now affects the x-axis.
  • The transformation with DR() is no longer the identity. Instead, we opt to use a logarithmic approach.
    • In transform_data, DR now has the absolute value taken and then a log.
    • In untransform_data, DR now is exponentiated.
  • Capitalized axis when displaying imu graphs.

Known Bugs

  • The compare.wvar does not work with type wvar.imu.