diff --git a/DESCRIPTION b/DESCRIPTION index e14b989..4ee5de9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Type: Package -Package: meteorit +Package: meteorits Title: Mixtures-of-ExperTs modEling for cOmplex and non-noRmal dIsTributions Version: 0.1.0 Authors@R: c(person("Faicel", "Chamroukhi", role = c("aut"), @@ -30,7 +30,7 @@ LinkingTo: Rcpp, RcppArmadillo Collate: - meteorit-package.R + meteorits-package.R RcppExports.R utils.R FData.R diff --git a/NAMESPACE b/NAMESPACE index 54722a6..003c5eb 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -16,4 +16,4 @@ exportClasses(StatTMoE) import(methods) importFrom(Rcpp,sourceCpp) importFrom(pracma,fzero) -useDynLib(meteorit, .registration = TRUE) +useDynLib(meteorits, .registration = TRUE) diff --git a/R/RcppExports.R b/R/RcppExports.R index b5a8233..da66608 100644 --- a/R/RcppExports.R +++ b/R/RcppExports.R @@ -2,10 +2,10 @@ # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 IRLS <- function(X, Tau, Gamma, Winit, verbose = FALSE) { - .Call(`_meteorit_IRLS`, X, Tau, Gamma, Winit, verbose) + .Call(`_meteorits_IRLS`, X, Tau, Gamma, Winit, verbose) } multinomialLogit <- function(W, X, Y, Gamma) { - .Call(`_meteorit_multinomialLogit`, W, X, Y, Gamma) + .Call(`_meteorits_multinomialLogit`, W, X, Y, Gamma) } diff --git a/R/meteorit-package.R b/R/meteorits-package.R similarity index 78% rename from R/meteorit-package.R rename to R/meteorits-package.R index beae311..8c631be 100644 --- a/R/meteorit-package.R +++ b/R/meteorits-package.R @@ -1,6 +1,6 @@ #' @import methods ## usethis namespace: start -#' @useDynLib meteorit, .registration = TRUE +#' @useDynLib meteorits, .registration = TRUE ## usethis namespace: end NULL ## usethis namespace: start diff --git a/README.Rmd b/README.Rmd index f078cac..b0a8d84 100644 --- a/README.Rmd +++ b/README.Rmd @@ -64,7 +64,7 @@ browseVignettes("MEteorits")
SNMoE ```{r, message = FALSE} -library(meteorit) +library(meteorits) data("simulatedstructureddata") @@ -89,7 +89,7 @@ snmoe$plot() StMoE ```{r, message = FALSE} -library(meteorit) +library(meteorits) data("simulatedstructureddata") @@ -113,7 +113,7 @@ stmoe$plot()
TMoE ```{r, message = FALSE} -library(meteorit) +library(meteorits) data("simulatedstructureddata") diff --git a/README.md b/README.md index bb9a59f..2d4471a 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,36 @@ - - - -## Overview +Overview +-------- Mixtures-of-ExperTs modEling for cOmplex and non-noRmal dIsTributions -MEteoritS is a toolbox containg several original and flexible -mixtures-of-experts models to model, cluster and classify heteregenous -data in many complex situations where the data are distributed according -non-normal, possibly skewed distributions, and when they might be -corrupted by atypical observations. The toolbox contains in particular -sparse mixture-of-experts models for high-dimensional data. +MEteoritS is a toolbox containg several original and flexible mixtures-of-experts models to model, cluster and classify heteregenous data in many complex situations where the data are distributed according non-normal, possibly skewed distributions, and when they might be corrupted by atypical observations. The toolbox contains in particular sparse mixture-of-experts models for high-dimensional data. Our (dis-)covered meteorites are for instance the following: - - NMoE - - NNMoE - - tMoE - - StMoE - - SNMoE - - RMoE +- NMoE +- NNMoE +- tMoE +- StMoE +- SNMoE +- RMoE -The models and algorithms are developped and written in Matlab by Faicel -Chamroukhi, and translated and designed into R packages by Florian -Lecocq, Marius Bartcus and Faicel Chamroukhi. +The models and algorithms are developped and written in Matlab by Faicel Chamroukhi, and translated and designed into R packages by Florian Lecocq, Marius Bartcus and Faicel Chamroukhi. -## Installation +Installation +------------ -You can install the development version of STMoE from -[GitHub](https://github.com/) with: +You can install the development version of STMoE from [GitHub](https://github.com/) with: ``` r # install.packages("devtools") devtools::install_github("fchamroukhi/MEteorits") ``` -To build *vignettes* for examples of usage, type the command below -instead: +To build *vignettes* for examples of usage, type the command below instead: ``` r # install.packages("devtools") @@ -55,14 +45,13 @@ Use the following command to display vignettes: browseVignettes("MEteorits") ``` -## Usage +Usage +----- -
- -SNMoE +
SNMoE ``` r -library(meteorit) +library(meteorits) data("simulatedstructureddata") @@ -82,16 +71,12 @@ snmoe <- emSNMoE(simulatedstructureddata$X, matrix(simulatedstructureddata$Y), snmoe$plot() ``` - - -
- -
+
-TMoE +
StMoE ``` r -library(meteorit) +library(meteorits) data("simulatedstructureddata") @@ -105,21 +90,18 @@ threshold <- 1e-5 verbose <- TRUE verbose_IRLS <- FALSE -tmoe <- emTMoE(simulatedstructureddata$X, matrix(simulatedstructureddata$Y), K, p, q, n_tries, max_iter, threshold, verbose, verbose_IRLS) +stmoe <- emStMoE(simulatedstructureddata$X, matrix(simulatedstructureddata$Y), + K, p, q, n_tries, max_iter, threshold, verbose, verbose_IRLS) -tmoe$plot() +stmoe$plot() ``` - - -
+
-
- -StMoE +
TMoE ``` r -library(meteorit) +library(meteorits) data("simulatedstructureddata") @@ -133,75 +115,28 @@ threshold <- 1e-5 verbose <- TRUE verbose_IRLS <- FALSE -stmoe <- emStMoE(simulatedstructureddata$X, matrix(simulatedstructureddata$Y), - K, p, q, n_tries, max_iter, threshold, verbose, verbose_IRLS) +tmoe <- emTMoE(simulatedstructureddata$X, matrix(simulatedstructureddata$Y), K, p, q, n_tries, max_iter, threshold, verbose, verbose_IRLS) -stmoe$plot() +tmoe$plot() ``` - +
-# References - -
- -
- -Chamroukhi, F, and Bao T Huynh. 2019. “Regularized Maximum Likelihood -Estimation and Feature Selection in Mixtures-of-Experts Models.” -*Journal de La Société Française de Statistique* 160(1): 57–85. - -
- -
- -Nguyen, Hien D., and F. Chamroukhi. 2018. “Practical and Theoretical -Aspects of Mixture-of-Experts Modeling: An Overview.” *Wiley -Interdisciplinary Reviews: Data Mining and Knowledge Discovery*, -e1246–n/a. . - -
- -
- -Chamroukhi", F. 2017. “Skew T Mixture of Experts.” *Neurocomputing - -Elsevier* 266: 390–408. . - -
- -
- -———. 2016. “Skew-Normal Mixture of Experts.” In *The International Joint -Conference on Neural Networks (Ijcnn)*. -. - -
- -
- -Chamroukhi, F. 2015. “Statistical Learning of Latent Data Models for -Complex Data Analysis.” Habilitation Thesis (HDR), Université de Toulon. -. - -
+References +========== -
+Chamroukhi, F, and Bao T Huynh. 2019. “Regularized Maximum Likelihood Estimation and Feature Selection in Mixtures-of-Experts Models.” *Journal de La Société Française de Statistique* 160(1): 57–85. -———. 2010. “Hidden Process Regression for Curve Modeling, Classification -and Tracking.” Ph.D. Thesis, Université de Technologie de Compiègne. -. +Nguyen, Hien D., and F. Chamroukhi. 2018. “Practical and Theoretical Aspects of Mixture-of-Experts Modeling: An Overview.” *Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery*, e1246–n/a. . -
+Chamroukhi", F. 2017. “Skew T Mixture of Experts.” *Neurocomputing - Elsevier* 266: 390–408. . -
+———. 2016. “Skew-Normal Mixture of Experts.” In *The International Joint Conference on Neural Networks (Ijcnn)*. . -Chamroukhi, F., A. Samé, G. Govaert, and P. Aknin. 2009. “Time Series -Modeling by a Regression Approach Based on a Latent Process.” *Neural -Networks* 22 (5-6): 593–602. -. +Chamroukhi, F. 2015. “Statistical Learning of Latent Data Models for Complex Data Analysis.” Habilitation Thesis (HDR), Université de Toulon. . -
+———. 2010. “Hidden Process Regression for Curve Modeling, Classification and Tracking.” Ph.D. Thesis, Université de Technologie de Compiègne. . -
+Chamroukhi, F., A. Samé, G. Govaert, and P. Aknin. 2009. “Time Series Modeling by a Regression Approach Based on a Latent Process.” *Neural Networks* 22 (5-6): 593–602. . diff --git a/man/figures/README-unnamed-chunk-5-1.png b/man/figures/README-unnamed-chunk-5-1.png index f7d4281..674fd76 100644 Binary files a/man/figures/README-unnamed-chunk-5-1.png and b/man/figures/README-unnamed-chunk-5-1.png differ diff --git a/man/figures/README-unnamed-chunk-5-2.png b/man/figures/README-unnamed-chunk-5-2.png index 6902798..b58391c 100644 Binary files a/man/figures/README-unnamed-chunk-5-2.png and b/man/figures/README-unnamed-chunk-5-2.png differ diff --git a/man/figures/README-unnamed-chunk-5-3.png b/man/figures/README-unnamed-chunk-5-3.png index 56f9975..3173e3d 100644 Binary files a/man/figures/README-unnamed-chunk-5-3.png and b/man/figures/README-unnamed-chunk-5-3.png differ diff --git a/man/figures/README-unnamed-chunk-5-4.png b/man/figures/README-unnamed-chunk-5-4.png index 3962474..d0ac4e3 100644 Binary files a/man/figures/README-unnamed-chunk-5-4.png and b/man/figures/README-unnamed-chunk-5-4.png differ diff --git a/man/figures/README-unnamed-chunk-6-1.png b/man/figures/README-unnamed-chunk-6-1.png index c23c50f..245a1dc 100644 Binary files a/man/figures/README-unnamed-chunk-6-1.png and b/man/figures/README-unnamed-chunk-6-1.png differ diff --git a/man/figures/README-unnamed-chunk-6-2.png b/man/figures/README-unnamed-chunk-6-2.png index 20923c1..f8eadb8 100644 Binary files a/man/figures/README-unnamed-chunk-6-2.png and b/man/figures/README-unnamed-chunk-6-2.png differ diff --git a/man/figures/README-unnamed-chunk-6-3.png b/man/figures/README-unnamed-chunk-6-3.png index edd5a9c..43e36d8 100644 Binary files a/man/figures/README-unnamed-chunk-6-3.png and b/man/figures/README-unnamed-chunk-6-3.png differ diff --git a/man/figures/README-unnamed-chunk-6-4.png b/man/figures/README-unnamed-chunk-6-4.png index bbb9d8c..cb5b68b 100644 Binary files a/man/figures/README-unnamed-chunk-6-4.png and b/man/figures/README-unnamed-chunk-6-4.png differ diff --git a/man/figures/README-unnamed-chunk-7-1.png b/man/figures/README-unnamed-chunk-7-1.png index 8343a76..ba93062 100644 Binary files a/man/figures/README-unnamed-chunk-7-1.png and b/man/figures/README-unnamed-chunk-7-1.png differ diff --git a/man/figures/README-unnamed-chunk-7-2.png b/man/figures/README-unnamed-chunk-7-2.png index c1d31b8..ef3bedd 100644 Binary files a/man/figures/README-unnamed-chunk-7-2.png and b/man/figures/README-unnamed-chunk-7-2.png differ diff --git a/man/figures/README-unnamed-chunk-7-3.png b/man/figures/README-unnamed-chunk-7-3.png index d0cd1d6..7bee00b 100644 Binary files a/man/figures/README-unnamed-chunk-7-3.png and b/man/figures/README-unnamed-chunk-7-3.png differ diff --git a/man/figures/README-unnamed-chunk-7-4.png b/man/figures/README-unnamed-chunk-7-4.png index 5b7e97e..ce36a21 100644 Binary files a/man/figures/README-unnamed-chunk-7-4.png and b/man/figures/README-unnamed-chunk-7-4.png differ diff --git a/meteorit.Rproj b/meteorits.Rproj similarity index 100% rename from meteorit.Rproj rename to meteorits.Rproj diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp index 2974da8..fd666d4 100644 --- a/src/RcppExports.cpp +++ b/src/RcppExports.cpp @@ -8,7 +8,7 @@ using namespace Rcpp; // IRLS List IRLS(arma::mat& X, arma::mat& Tau, arma::mat& Gamma, arma::mat& Winit, bool verbose); -RcppExport SEXP _meteorit_IRLS(SEXP XSEXP, SEXP TauSEXP, SEXP GammaSEXP, SEXP WinitSEXP, SEXP verboseSEXP) { +RcppExport SEXP _meteorits_IRLS(SEXP XSEXP, SEXP TauSEXP, SEXP GammaSEXP, SEXP WinitSEXP, SEXP verboseSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; @@ -23,7 +23,7 @@ END_RCPP } // multinomialLogit List multinomialLogit(arma::mat& W, arma::mat& X, arma::mat& Y, arma::mat& Gamma); -RcppExport SEXP _meteorit_multinomialLogit(SEXP WSEXP, SEXP XSEXP, SEXP YSEXP, SEXP GammaSEXP) { +RcppExport SEXP _meteorits_multinomialLogit(SEXP WSEXP, SEXP XSEXP, SEXP YSEXP, SEXP GammaSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; @@ -37,12 +37,12 @@ END_RCPP } static const R_CallMethodDef CallEntries[] = { - {"_meteorit_IRLS", (DL_FUNC) &_meteorit_IRLS, 5}, - {"_meteorit_multinomialLogit", (DL_FUNC) &_meteorit_multinomialLogit, 4}, + {"_meteorits_IRLS", (DL_FUNC) &_meteorits_IRLS, 5}, + {"_meteorits_multinomialLogit", (DL_FUNC) &_meteorits_multinomialLogit, 4}, {NULL, NULL, 0} }; -RcppExport void R_init_meteorit(DllInfo *dll) { +RcppExport void R_init_meteorits(DllInfo *dll) { R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); R_useDynamicSymbols(dll, FALSE); } diff --git a/vignettes/A-quick-tour-of-SNMoE.Rmd b/vignettes/A-quick-tour-of-SNMoE.Rmd index 51d6936..f4e7fd5 100644 --- a/vignettes/A-quick-tour-of-SNMoE.Rmd +++ b/vignettes/A-quick-tour-of-SNMoE.Rmd @@ -26,7 +26,7 @@ knit_hooks$set(par = function(before, options, envir) ``` ```{r, message = FALSE, echo = FALSE} -library(meteorit) +library(meteorits) ``` # Introduction diff --git a/vignettes/A-quick-tour-of-StMoE.Rmd b/vignettes/A-quick-tour-of-StMoE.Rmd index a9a9504..871a8cc 100644 --- a/vignettes/A-quick-tour-of-StMoE.Rmd +++ b/vignettes/A-quick-tour-of-StMoE.Rmd @@ -26,7 +26,7 @@ knit_hooks$set(par = function(before, options, envir) ``` ```{r, message = FALSE, echo = FALSE} -library(meteorit) +library(meteorits) ``` # Introduction diff --git a/vignettes/A-quick-tour-of-tMoE.Rmd b/vignettes/A-quick-tour-of-tMoE.Rmd index 9797a1b..d3d2d5f 100644 --- a/vignettes/A-quick-tour-of-tMoE.Rmd +++ b/vignettes/A-quick-tour-of-tMoE.Rmd @@ -26,7 +26,7 @@ knit_hooks$set(par = function(before, options, envir) ``` ```{r, message = FALSE, echo = FALSE} -library(meteorit) +library(meteorits) ``` # Introduction