MyNixOS website logo
Description

Network-Aware IV Regression with Graph-Fused Lasso.

Implements network-aware instrumental variable regression for causal node discovery in high-dimensional settings with graph-structured exposures. Provides IVGL and IVGL-S estimators combining graph-Laplacian penalization with IV-based identification, including correction for invalid instruments via a sisVIVE-style update. Methods are described in Pal and Ghosh (2026) <doi:10.48550/arXiv.2604.24969>. The 'glmgraph' package, required for the main estimators, is available at the additional repository <https://djghosh1123.r-universe.dev>.

R-CMD-check

ivgls

ivgls implements network-aware instrumental variable (IV) regression with a graph-fused Lasso penalty for causal variable selection in high-dimensional, graph-structured settings.

Estimators

FunctionGraph penaltyInvalid-IV robust
iv_lasso()NoNo
ivgl()YesNo
ivgl_s()YesYes

Installation

glmgraph is required but not on CRAN — install it first:

devtools::install_github("cran/glmgraph")
install.packages("ivgls")

Quick Example

library(ivgls)

set.seed(1)
A    <- make_graph(p = 20, type = "chain")
L    <- get_laplacian(A)
bobj <- generate_beta(A, s2 = 4, signal = 2)
dat  <- generate_data(n = 120, p = 20, q = 60,
                      s_alpha = 5, alpha_strength = 3,
                      beta_true = bobj$beta_true)

fit <- ivgl_s(dat$Y, dat$X, dat$Z, L)
get_mcc(bobj$active_set, which(abs(fit$beta) > 1e-4), p = 20)

Citation

Pal, S. & Ghosh, D. (2026). Network-aware IV regression for causal node discovery and estimation.

Metadata

Version

0.1.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • 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-linux
  • 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
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • 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-uefi
  • x86_64-windows