# Mean-Variance Regularization

This is a non-parametric method for joint adaptive mean-variance regularization and variance stabilization of high-dimensional data. It is suited for handling difficult problems posed by high-dimensional multivariate datasets (p >> n paradigm). Among those are that the variance is often a function of the mean, variable-specific estimators of variances are not reliable, and tests statistics have low powers due to a lack of degrees of freedom. Key features include: (i) Normalization and/or variance stabilization of the data, (ii) Computation of mean-variance-regularized t-statistics (F-statistics to follow), (iii) Generation of diverse diagnostic plots, (iv) Computationally efficient implementation using C/C++ interfacing and an option for parallel computing to enjoy a faster and easier experience in the R environment.

Mean-Variance Regularization: a non-parametric method for joint adaptive mean-variance regularization and variance stabilization of high-dimensional data

===============

### Description

MVR (Mean-Variance Regularization) is a non-parametric method for joint adaptive mean-variance regularization and variance stabilization of high-dimensional data. It is suited for handling difficult problems posed by high-dimensional multivariate datasets (p >> n paradigm), such as in omics-type data, among which are that the variance is often a function of the mean, variable-specific estimators of variances are not reliable, and tests statistics have low powers due to a lack of degrees of freedom.

Key features include:

1. Normalization and/or variance stabilization of the data

2. Computation of mean-variance-regularized t-statistics (F-statistics to come)

3. Generation of diverse diagnostic plots

4. Computationally efficient implementation using C/C++ interfacing and an option for parallel computing to enjoy a fast and easy experience in the R environment

See also below the package news with the R command: `MVR.news()`.

All the codes are in the R folder and a manual (MVR.pdf) details the end-user (and internal) functions. At this stage and for simplicity, there are only 2 end-user function, 4 end-user diagnostic and plotting functions and 2 end-user datasets (synthetic and real). See the "MVR-package" introduction section of the manual for more details and examples.

============

### Branches

• The default branch (master) hosts the current development release (version 1.33.0).

===========

PRIMsrc is open source / free software, licensed under the GNU General Public License version 3 (GPLv3), sponsored by the Free Software Foundation. To view a copy of this license, visit GNU Free Documentation License.

=============

CRAN downloads since October 1, 2012, the month the RStudio CRAN mirror started publishing logs:

================

### Requirements

MVR (>= 1.33.0) requires R-3.0.2 (2013-09-25). It was built and tested under R version 3.5.1 (2018-07-02) and Travis CI.

Installation has been tested on Windows, Linux, OSX and Solaris platforms.

See Travis CI build result:

See CRAN checks: .

================

### Installation

• To install the stable version (1.33.0) of `MVR` from the CRAN repository, simply download and install the current version (1.33.0) from the CRAN repository:
• Alternatively, you can install the most up-to-date development version (>= 1.33.0) of `MVR` from the GitHub repository, simply run the following using devtools:

=========

### Usage

• To load the MVR library in an R session and start using it:
• Check the package news with the R command:
• Check on how to cite the package with the R command:

etc...

===================

### Acknowledgments

Authors:

Maintainers:

Funding/Provision/Help:

• This work made use of the High Performance Computing Resource in the Core Facility for Advanced Research Computing at Case Western Reserve University.
• This project was partially funded by the National Institutes of Health NIH - National Cancer Institute (P30-CA043703).

==============

### References

• Dazard J-E. and J. S. Rao. Joint Adaptive Mean-Variance Regularization and Variance Stabilization of High Dimensional Data. Comput. Statist. Data Anal. (2012), 56(7):2317-2333. (The Official Journal of the International Association for Statistical Computing).

• Dazard J-E., Hua Xu and J. S. Rao. R package MVR for Joint Adaptive Mean-Variance Regularization and Variance Stabilization. In JSM Proceedings, Section for Statistical Programmers and Analysts. Miami Beach, FL, USA: American Statistical Association IMS - JSM, 3849-3863. JSM (2011).

• Dazard J-E. and J. S. Rao. Regularized Variance Estimation and Variance Stabilization of High-Dimensional Data. In JSM Proceedings, Section for High-Dimensional Data Analysis and Variable Selection. Vancouver, BC, Canada: American Statistical Association IMS - JSM, 5295-5309. JSM (2010).

# News

Package: MVR

Date : 2011-07-26 o RELEASE 1.00.0

• Initial release of the package.

Date : 2011-12-14 o RELEASE 1.10.0

• Minor fixes in the documentation.
• The synthetic dataset is downsized to 200 variables (instead of 1000) with 40 of them (instead of 200) that are significantly different between the two sample groups.
• Major bug fix in the internal function MeanVarReg, which was not returning the correct cluster membership values. This was affecting especially the end-user function mvrt.test().

Date : 2013-11-13 o RELEASE 1.20.0

• Now depends on 'parallel' instead of 'snow' package. This modification should be totally transparent to the users and not affect them in any way. Minor updates in the manual accordingly.
• Now supports SOCKET, PVM and MPI clusters. Manual corrected accordingly.
• Minor updates in the email addresses and references.

Date : 2015-06-19 o RELEASE 1.30.1

• Packages in 'Depends' field of the DESCRIPTION file are now imported from the NAMESPACE file.
• Compiled C code now uses the interface to R internal RNGs routines instead of the system rand RNG.
• Compiled C code now successfully passes Valgrind memory check.
• Removed superfluous codes in the parallelization section, before clusterCall().
• Main function mvr() now returns shrinkage estimates of means and standard deviations by groups.
• Improved codes for all plotting functions, including new graphical device arguments.
• Updates in the manual: examples are given for a SOCKET or MPI cluster configuration.
• Removed internal functions from the manual, updated manual, version number.
• Test build under 3.0.2 and release update to GitHub.

Date : 2015-07-10 o RELEASE 1.30.2

• Compliance with new R CMD check, which now checks code usage via 'codetools'. Functions and packages from default packages other than base which are used in the package code are now imported via the package namespace file (NAMESPACE). Added new field 'Imports' in the package description file (DESCRIPTION) to match the functions and packages newly imported via NAMESPACE.
• Minor updates of the default title values in the diagnostic plots.
• Built under R-3.2.1 (2015-06-19) and tested under R-devel (2015-07-08 r68642).
• Release update to GitHub.

Date : 2016-01-28 o RELEASE 1.30.3

• Corrected inclusion of C and R headers to comply with g++ 6.0 compiler and good practice in C++ code.
• Added manual in a 'doc' subfolder within 'inst' folder.
• Built and tested under R-devel (2015-12-22 r69809).
• Release update to GitHub.

Date : 2016-10-25 o RELEASE 1.31.0 BUG FIXES

• Corrected missing declaration of use of 'std' namespace in C++ code to comply with C++98 and good practice.
• Corrected number of replications to match the exact same number as user request and not a multiple of the number of cpus available. UTILITIES
• Added a seed for both end-user functions `mvr()` and `mvrt.test()`. PACKAGE INSTALLATION
• Updated Rd, NEWS and CITATION files.
• Built and tested under R-devel (2016-06-30 r70858) and release update to GitHub.

Date : 2017-05-28 o RELEASE 1.32.0

• Minor corrections in R and C/C++ codes to comply with good practices of native routines registration and symbol search disabling. PACKAGE INSTALLATION
• Updated documentation, Rd, DESCRIPTION, NEWS and NAMESPACE files.
• Built and tested under R version 3.4.0 (2017-04-21) and release update to GitHub.

Date : 2018-04-16 o RELEASE 1.32.1 BUG FIXES

• NA values are now correctly handled in the internal function `is.empty()`.
• a NULL value for the seed is now correctly handled in case of no parallelization in the internal functions `withinsumsq()` and `sim.dis()`. PACKAGE INSTALLATION
• Minor updates in documentation files (DESCRIPTION, NEWS and README).
• Built and tested under R version 3.4.4 (2018-03-15) and release update to GitHub.

Date : 2018-09-10 o RELEASE 1.33.0 BUG FIXES

• Argument `block` now correctly handles the case of a factor when the option `labels` or `levels` is not used to define the factor, which could cause its levels to not match the data groups. PACKAGE INSTALLATION
• Minor updates in manual and documentation files (Rd files).
• Minor updates in documentation files (DESCRIPTION, NEWS, and README).
• Built and tested under R version 3.5.1 (2018-07-02) and release update to GitHub.

# Reference manual

install.packages("MVR")

1.33.0 by Jean-Eudes Dazard, 10 months ago

https://github.com/jedazard/MVR

Browse source code at https://github.com/cran/MVR

Authors: Jean-Eudes Dazard [aut, cre] , Hua Xu [ctb] , Alberto Santana [ctb]

Documentation:   PDF Manual

GPL (>= 3) | file LICENSE license

Imports parallel, methods

Depends on statmod

See at CRAN