MyNixOS website logo
Description

A Fast Algorithm for Sparse Precision Matrix Estimation.

It implements an improved and computationally faster version of the original Stepwise Gaussian Graphical Algorithm for estimating the Omega precision matrix from high-dimensional data. Zamar, R., Ruiz, M., Lafit, G. and Nogales, J. (2021) <doi:10.52933/jdssv.v1i2.11>.

Fast Step Graph

image

Fast Step Graph is an optimized implementation in R of the Stepwise approach used for discovering high-dimensional Gaussian Graphical Models. It aims to accurately estimate the $\mathbf{\Omega}$ precision matrix when dealing with datasets where the number of features is significantly larger than the number of samples ($p >> n$), such as in genomics.

This implementation builds upon the original code available at link, which accompanies the associated research paper. Fast Step Graph enhances the computational efficiency of the original code to handle much larger graph structures than previously reported, while reducing the training time. Several improvements have been made, including the elimination of redundant code, utilization of column-wise data structures (better for R), avoid list creation, manipulation and expansion within loops, and the integration of a faster subroutine for regression. Additionally, this implementation addresses a bug introduced in the original code.

Despite these enhancements, the primary bottleneck of Fast Step Graph lies in the requirement of substantial memory resources $\text{Memory} \propto \Big(\frac{p(p-1)}{2}\Big)$ for storing the entire graph, particularly when $p$ grows.

Clone this repository or simply download the .zip file and follow the instructions in this link to see an example.

How to cite this repository?

DOI

Metadata

Version

0.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