{"id":25109948,"url":"https://github.com/smac-group/gmwmx","last_synced_at":"2025-04-22T07:40:53.757Z","repository":{"id":43139886,"uuid":"510931681","full_name":"SMAC-Group/gmwmx","owner":"SMAC-Group","description":" The gmwmx R package implements the Generalized Method of Wavelet Moments with Exogenous Inputs estimator (GMWMX) ","archived":false,"fork":false,"pushed_at":"2024-08-06T12:18:28.000Z","size":27634,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T14:06:46.519Z","etag":null,"topics":["earthsciences","gnss","statistics","time-series-analysis","wavelet-analysis"],"latest_commit_sha":null,"homepage":"https://smac-group.github.io/gmwmx/index.html","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SMAC-Group.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-06T00:11:45.000Z","updated_at":"2025-01-06T14:55:31.000Z","dependencies_parsed_at":"2024-08-06T14:20:13.786Z","dependency_job_id":null,"html_url":"https://github.com/SMAC-Group/gmwmx","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMAC-Group%2Fgmwmx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMAC-Group%2Fgmwmx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMAC-Group%2Fgmwmx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMAC-Group%2Fgmwmx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SMAC-Group","download_url":"https://codeload.github.com/SMAC-Group/gmwmx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249985789,"owners_count":21356253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["earthsciences","gnss","statistics","time-series-analysis","wavelet-analysis"],"created_at":"2025-02-08T00:33:46.630Z","updated_at":"2025-04-21T02:27:27.185Z","avatar_url":"https://github.com/SMAC-Group.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003c!-- badges: start --\u003e\n![example workflow](https://github.com/SMAC-Group/gmwmx/actions/workflows/R-CMD-check.yaml/badge.svg)\n[![CRAN status](https://www.r-pkg.org/badges/version/gmwmx)](https://CRAN.R-project.org/package=gmwmx)\n![](https://img.shields.io/github/last-commit/SMAC-Group/gmwmx) \n[\u003cimg src=\"https://s-a.github.io/license/img/agpl-3.0.svg\" /\u003e](https://s-a.github.io/license/?license=agpl-3.0\u0026fullname=Stephan%20Ahlf\u0026year=2015\u0026profile=https://github.com/s-a\u0026projectUrl=https://github.com/s-a/license\u0026projectName=License%20Demo \"\")\n[![minimal R version](https://img.shields.io/badge/R%3E%3D-4.0.0-6666ff.svg)](https://cran.r-project.org/)\n[![CRAN RStudio mirror\ndownloads](https://cranlogs.r-pkg.org/badges/grand-total/gmwmx)](https://www.r-pkg.org/pkg/gmwmx)\n[![metacran downloads](https://cranlogs.r-pkg.org/badges/last-week/gmwmx)](https://cran.r-project.org/package=gmwmx)\n\u003c!-- badges: end --\u003e\n\n\n# `gmwmx` Overview \u003ca href=\"https://smac-group.com/\"\u003e\u003cimg src=\"man/figures/logo.png\" align=\"right\" style=\"width: 20%; height: 20%\"/\u003e\u003c/a\u003e\n\n\nThe `gmwmx` `R` package implements the Generalized Method of Wavelet Moments with Exogenous Inputs estimator (GMWMX) introduced in [Cucci, D. A., Voirol, L., Kermarrec, G., Montillet, J. P., and Guerrier, S. (2022)](https://doi.org/10.1007/s00190-023-01702-8) and provides functions to estimate times series models that can be expressed as linear models with correlated residuals. Moreover, the `gmwmx` package provides tools to compare and analyze estimated models and methods to easily compare results with the Maximum Likelihood Estimator (MLE) implemented in [Hector](https://teromovigo.com/hector/), allowing to replicate the examples and simulations considered in [Cucci, D. A., Voirol, L., Kermarrec, G., Montillet, J. P., and Guerrier, S. (2022)](https://doi.org/10.1007/s00190-023-01702-8). In particular, this package implements a statistical inference framework for the functional and stochastic parameters of models such as those used to model Global Navigation Satellite System (GNSS) observations, enabling the comparison of the proposed method to the standard MLE estimates implemented in [Hector](https://teromovigo.com/hector/). \n\nFind the package vignettes and user's manual at the [package website](https://smac-group.github.io/gmwmx/index.html).\n\nBelow are instructions on how to install and make use of the `gmwmx`\npackage.\n\n## Installation Instructions\n\nThe `gmwmx` package is available on both CRAN and GitHub. The CRAN\nversion is considered stable while the GitHub version is subject to\nmodifications/updates which may lead to installation problems or broken\nfunctions. You can install the stable version of the `gmwmx` package\nwith:\n\n``` r\ninstall.packages(\"gmwmx\")\n```\n\nFor users who are interested in having the latest developments, the\nGitHub version is ideal although more dependencies are required to run a\nstable version of the package. Most importantly, users **must** have a\n(`C++`) compiler installed on their machine that is compatible with R\n(e.g. `Clang`).\n\n\n``` r\n# Install dependencies\ninstall.packages(c(\"devtools\"))\n\n# Install/Update the package from GitHub\ndevtools::install_github(\"SMAC-Group/gmwmx\")\n\n# Install the package with Vignettes/User Guides \ndevtools::install_github(\"SMAC-Group/gmwmx\", build_vignettes = TRUE)\n```\n\n## External dependencies\n\n### `Hector`\nIn order to runs successfully functions that execute `Hector`, we assume that `Hector` is installed and available in the `PATH` of the installation where these functions are called. More precisely, when running either `estimate_hector()`, `remove_outliers_hector()`, `PBO_get_station()` or `PBO_get_offsets()`, we assume that `Hector`'s binaries executable `estimatetrend`, `removeoutliers` and `date2mjd` are located in a folder available in the `PATH` by `R`.\n\nIn order to make sure that these functions are available in the `PATH`, you can run `Sys.getenv(\"PATH\")` and ensure that the directory that contains the executable binaries of `Hector` is listed in the `PATH`.\n\nFor Linux users that are on distributions supported by `Hector`, this can be easily done by:\n\n1) Downloading `Hector`'s binaries for the corresponding OS [here](https://teromovigo.com/hector/).\n2) Extracting the downloaded executable binaries and saving them in a folder, say `$HOME/app/hector/bin`.\n3) Adding this folder to the system-wide `PATH` environment variable by modifying `/etc/environment`.\n4) Ensuring that the corresponding folder is accessible by `R` with  `Sys.getenv(\"PATH\")` after running the script and reassigning the new `PATH` to the `PATH` environment variable with `. /etc/environment` or equivalently with `source /etc/environment`.\n\n```\n\u003e Sys.getenv(\"PATH\")\n[1] \"$HOME/app/hector/bin:...\"\n\n```\n\nSome users have reported that the procedure described above did not work on their installation and that even after completing these steps, the path containing the executable binaries of `Hector` was not accessible to the `PATH` recognized by `R`. In this case, a strategy that seems to work is to directly indicate the path where `Hector` is located by executing the following command before executing a function that runs `Hector`:\n\n```\nSys.setenv(PATH = \"$HOME/app/hector/bin\") \n```\n\nwhere `\"$HOME/app/hector/bin\"` is the path where are located `Hector`'s binaries.\n\n### External `R` libraries\n\nThe `gmwmx` package relies on a limited number of external libraries, but notably on `Rcpp` and `RcppArmadillo` which require a `C++` compiler for installation, such as for example `gcc`.\n\n## Usage from a `MATLAB` environment \n\nIt is possible to execute functions from the `gmwmx` `R` package directly from a `MATLAB` environment and to save estimated models in the `MATLAB` environment thanks to [`Rcall`](https://github.com/kreutz-lab/Rcall). [`Rcall`](https://github.com/kreutz-lab/Rcall) is an interface which runs in `MATLAB` and provides direct access to methods and software packages implemented in `R`. Refer to issue [#1](https://github.com/SMAC-Group/gmwmx/issues/1) for the detailed procedure and to the official [`Rcall`](https://github.com/kreutz-lab/Rcall) project for support.\n\n\n## License\n\nThis source code is released under is the GNU AFFERO GENERAL PUBLIC LICENSE (AGPL) v3.0. \n\n## Acknowledgements\nWe thank Dr. Machiel Bos for his helpful advises and constructive comments that helped us to improve the implementation of the `gmwmx` package and to ensure the correct integration of `Hector` into the `gmwmx` `R` package.\n\n## References\nCucci, D. A., Voirol, L., Kermarrec, G., Montillet, J. P., \u0026 Guerrier, S. (2023). The Generalized Method of Wavelet Moments with eXogenous inputs: a fast approach for the analysis of GNSS position time series. Journal of Geodesy, 97(2), 14.\n\nGuerrier, S., Skaloud, J., Stebler, Y. and Victoria-Feser, M.P., 2013. Wavelet-variance-based estimation for composite stochastic processes. Journal of the American Statistical Association, 108(503), pp.1021-1030.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmac-group%2Fgmwmx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmac-group%2Fgmwmx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmac-group%2Fgmwmx/lists"}