Penalized Fast Causal Inference for High-Dimensional Structure Learning

Implements Penalized Fast Causal Inference (PFCI), a two-stage causal structure learning procedure for high-dimensional settings with potential latent variables and selection bias. In the first stage, neighborhood selection via the Lasso constructs a sparse undirected skeleton. In the second stage, the Fast Causal Inference (FCI) algorithm orients edges on this reduced graph, producing a Partial Ancestral Graph (PAG) that accounts for latent confounders. The method is consistent under sparsity assumptions and substantially faster than standard FCI and RFCI in high dimensions. See Pal, Ghosh, and Yang (2025) for the underlying theory.


ReadMe

2026-03-14

PFCI: Penalized Fast Causal Inference for High-Dimensional Structure Learning

PFCI implements Penalized Fast Causal Inference (PFCI), a scalable two-stage procedure for learning graphical structures in high-dimensional settings with potential latent variables and selection bias.

The method combines:

  • Graphical lasso screening to obtain a sparse super-skeleton
  • Constrained Fast Causal Inference (FCI) for orientation and refinement

This enables computationally efficient structure learning while preserving theoretical guarantees under sparsity assumptions.


Installation

Install from CRAN:

install.packages("PFCI")

The development version is available on GitHub:

devtools::install_github("djghosh1123/PFCI")

Core functionality requires pcalg and graph from Bioconductor:

install.packages("BiocManager")
BiocManager::install(c("pcalg", "graph", "RBGL", "Rgraphviz"))

Basic usage

library(PFCI)

sim <- simulate_pfci_toy(p = 100, n = 100, edge_prob = 0.02, seed = 1)
fit <- pfci_fit(sim$X, alpha = 0.05)
met <- pfci_metrics(sim, fit)
met
plot_pag(fit)

Reference

Pal, S., Ghosh, D., & Yang, S. (2025). Penalized FCI for Causal Structure Learning in a Sparse DAG for Biomarker Discovery in Parkinson’s Disease. Annals of Applied Statistics. doi:10.48550/arXiv.2507.00173

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("PFCI")

0.1.1 by Dhrubajyoti Ghosh, 4 months ago


https://github.com/djghosh1123/PFCI


Report a bug at https://github.com/djghosh1123/PFCI/issues


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


Authors: Samhita Pal [aut] , Dhrubajyoti Ghosh [aut, cre] (ORCID: , Shu Yang [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports stats, glasso, methods

Suggests pcalg, graph, RBGL, Rgraphviz, testthat, knitr, rmarkdown, spelling


See at CRAN