Giter Site home page Giter Site logo

hose's Introduction

hose: Higher-Order Spectral Estimators

Build Status AppVeyor Build Status CRAN status

Summary

hose is a package designed for working with higher-order spectral estimators, which were first introduced in Gerard and Hoff (2017). These estimators are based on the higher-order singular value decomposition of De Lathauwer, De Moor, and Vandewalle (2000) and are useful when your data exhibit tensor-specific structure, such as having approximately low multilinear rank. This code will allow you to:

  • Calculate Stein’s unbiased risk estimate (SURE) for all higher-order spectral estimators that are weakly differentiable and satisfy mild integrability conditions.
  • Calculate the mode-specific soft-thresholding estimator that minimizes the SURE using a coordinate descent algorithm.
  • Iterate through all the possible multilinear ranks of a mean tensor and choose the multilinear rank the minimizes the SURE.
  • Calculate a generalized SURE, motivated by generalized cross validation (Josse and Sardy 2016), for all higher-order spectral estimators.
  • Calculate the SURE of estimators that apply higher-order spectral shrinkage to sub-tensors of the overall data tensor.
  • Calculate the SURE for estimators that individually shrink elements of the core array of the HOSVD of the data tensor.
  • Non-parametrically estimate the variance to use in these SURE procedures.

The main functions are:

  • get_c(): Pre-format the data before applying mode-specific singular value shrinkage.
  • tensor_var_est(): Estimate the variance of the data from multiple options.
  • soft_coord(): Estimate the underlying low-rank mean tensor via soft-thresholding.

Citation

If you find these methods useful, please cite

Gerard, David, and Peter Hoff. 2017. “Adaptive Higher-Order Spectral Estimators.” Electron. J. Statist. 11 (2). The Institute of Mathematical Statistics; the Bernoulli Society: 3703–37. https://doi.org/10.1214/17-EJS1330.

Or, using BibTex:

@ARTICLE{gerard2017adaptive,
    AUTHOR = {David Gerard and Peter Hoff},
     TITLE = {Adaptive higher-order spectral estimators},
   JOURNAL = {Electron. J. Statist.},
  FJOURNAL = {Electronic Journal of Statistics},
      YEAR = {2017},
    VOLUME = {11},
    NUMBER = {2},
     PAGES = {3703-3737},
      ISSN = {1935-7524},
       DOI = {10.1214/17-EJS1330},
      SICI = {1935-7524(2017)11:2<3703:AHOSE>2.0.CO;2-Q},
}

Installation

You can install from CRAN in the usual way:

install.packages("hose")

Or, to install the latest (unstable) version, run the following code in R:

install.packages(c("tensr", "softImpute", "RMTstat", "devtools"))
devtools::install_github("dcgerard/hose")

Vignette

I’ve provided a vignette demonstrating the methods available in hose. You can find it here. Or you can build the vignette on install with

install.packages("devtools")
devtools::install_github("dcgerard/hose", build_vignettes = TRUE)

and access the vignette by running the following code in R:

utils::vignette("sure_example", package = "hose")

References

De Lathauwer, L., B. De Moor, and J. Vandewalle. 2000. “A Multilinear Singular Value Decomposition.” SIAM Journal on Matrix Analysis and Applications 21 (4): 1253–78. https://doi.org/10.1137/S0895479896305696.

Gerard, David, and Peter Hoff. 2017. “Adaptive Higher-Order Spectral Estimators.” Electron. J. Statist. 11 (2): 3703–37. https://doi.org/10.1214/17-EJS1330.

Josse, Julie, and Sylvain Sardy. 2016. “Adaptive Shrinkage of Singular Values.” Statistics and Computing 26 (3): 715–24. https://doi.org/10.1007/s11222-015-9554-9.

hose's People

Contributors

dcgerard avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

hose's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.