MyNixOS website logo
Description

Online Robust Reduced-Rank Regression Estimation.

Methods for estimating online robust reduced-rank regression. The Gaussian maximum likelihood estimation method is described in Johansen, S. (1991) <doi:10.2307/2938278>. The majorisation-minimisation estimation method is partly described in Zhao, Z., & Palomar, D. P. (2017) <doi:10.1109/GlobalSIP.2017.8309093>. The description of the generic stochastic successive upper-bound minimisation method and the sample average approximation can be found in Razaviyayn, M., Sanjabi, M., & Luo, Z. Q. (2016) <doi:10.1007/s10107-016-1021-7>.

RRRR

CRAN_Status_Badge Monthly_Downloads Licence R-CMD-check

The R package RRRR provides methods for estimating online Robust Reduced-Rank Regression.

To cite package ‘RRRR’ in publications use:

Yangzhuoran Fin Yang and Ziping Zhao (2023). RRRR: Online Robust Reduced-Rank Regression Estimation. R package version 1.1.1. https://pkg.yangzhuoranyang.com/RRRR/.

Installation

You can install the stable version on R CRAN.

install.packages("RRRR")

You can install the development version from Github with:

# install.packages("devtools")
devtools::install_github("FinYang/RRRR")

Usage

The R package RRRR provides the following estimation methods.

  1. Reduced-Rank Regression using Gaussian MLE: RRR
  2. Robust Reduced-Rank Regression using Cauchy distribution and Majorisation-Minimisation: RRRR
  3. Online Robust Reduced-Rank Regression: ORRRR
    • SMM: Stochastic Majorisation-Minimisation
    • SAA: Sample Average Approximation
  4. Online update of the above model (except RRR): update.RRRR

See the vignette for a more detailed illustration.

library(RRRR)
set.seed(2222)
data <- RRR_sim()
res <- ORRRR(y=data$y, x=data$x, z=data$z)
res
#> Online Robust Reduced-Rank Regression
#> ------
#> Stochastic Majorisation-Minimisation
#> ------------
#> Specifications:
#>            N            P            R            r initial_size        addon 
#>         1000            3            1            1          100           10 
#> 
#> Coefficients:
#>          mu         A         B         D    Sigma1    Sigma2    Sigma3
#> 1  0.078343 -0.167661  1.553252  0.204748  0.656940 -0.044872  0.050316
#> 2  0.139471  0.442293  0.919832  1.138335 -0.044872  0.657402 -0.063890
#> 3  0.106746  0.801818 -0.693768  1.955019  0.050316 -0.063890  0.698777
plot(res)


newdata <- RRR_sim(A = data$spec$A,
                   B = data$spec$B,
                   D = data$spec$D)
res2 <- update(res, newy=newdata$y, newx=newdata$x, newz=newdata$z)
res2
#> Online Robust Reduced-Rank Regression
#> ------
#> Stochastic Majorisation-Minimisation
#> ------------
#> Specifications:
#>            N            P            R            r initial_size        addon 
#>         2000            3            1            1         1010           10 
#> 
#> Coefficients:
#>          mu         A         B         D    Sigma1    Sigma2    Sigma3
#> 1  0.073939 -0.159814  1.520309  0.208943  0.675436 -0.021789  0.040888
#> 2  0.142791  0.450992  0.962698  1.117024 -0.021789  0.679136 -0.024140
#> 3  0.107647  0.817590 -0.670435  1.957084  0.040888 -0.024140  0.703949
plot(res2)

License

This package is free and open source software, licensed under GPL-3.

Metadata

Version

1.1.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows