Skip to main content

Python wrapper for sparseSEM

Project description

Elastic Net for Structural Equation Models (SEM)

Anhui Huang | Ph.D. Electrical and Computer Engineering

https://scholar.google.com/citations?user=WhDMZEIAAAAJ&hl=en

Summary

Provides elastic net penalized maximum likelihood for structural equation models (SEM). The package implements lasso and elastic net (l1/l2) penalized SEM and estimates the model parameters with an efficient block coordinate ascent algorithm that maximizes the penalized likelihood of the SEM. Hyperparameters are inferred from cross-validation (CV). A Stability Selection (STS) function is also available to provide accurate causal effect selection.

The experimental study and vignettes are also available in the doc/ folder in the package.

PyPI installation

sparseSEM is available on PyPI: https://pypi.org/project/sparseSEM/. Run command pip install sparseSEM to install from PyPI.

test/ folder contains examples using data packed along with this package in data/ folder. To run test/ examples, clone this repo, and run from test/ directory.

Configuration

This package was originally developed to leverage high performance computer clusters to enable parallel computation through openMPI. Users who have access to large scale computational resources can explore the functionality and checkout the openMPI module in this package.

Current package utilizes blas/lapack for high speed computation. To build the C/C++ code, the intel OneMKL library is specified in the package setup.

Release Note

  • V2.0: add more output information include CV results, hyperparameter, and details of model fit. V2.0 is a major release with stability selection added.
  • V1: initial release with corresponding to R package v2.

Package for other platforms

R package

An R package for sparseSEM is also available at CRAN: https://cran.r-project.org/web/packages/sparseSEM/index.html

OpenMPI

C/C++ implementation of sparseSEM with openMPI for parallel computation is available in openMPI branch (https://github.com/anhuihng/pySparseSEM/tree/openMPI).

Network Inference Example

The following network was a Yeast Gene Regulatory Network (GRN) inferred by sparseSEM.

Alt text Fig.1 Sparse budding yeast GRN inferred by sparseSEM Alt text Fig.2 Budding yeast gene interaction pattern with link edges identified by sparseSEM

Network visualized via circos and cytoscope packages. See openMPI/readme.md as well as doc/* for more details.

Reference

- Huang A. (2014) Sparse Model Learning for Inferring Genotype and Phenotype Associations. Ph.D Dissertation,
University of Miami, Coral Gables, FL, USA.
- Huang A. (2014) sparseSEM: Sparse-Aware Maximum Likelihood for Structural Equation Models. Rpackage
(https://cran.r-project.org/web/packages/sparseSEM/index.html)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sparseSEM-2.1.tar.gz (5.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sparseSEM-2.1-cp310-cp310-macosx_10_9_x86_64.whl (109.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file sparseSEM-2.1.tar.gz.

File metadata

  • Download URL: sparseSEM-2.1.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for sparseSEM-2.1.tar.gz
Algorithm Hash digest
SHA256 f9fdc272b72069b69814ebdd7450296342c919accbeb6269eda37b1134b485b4
MD5 c4295338677bef809c874de7c7ae6916
BLAKE2b-256 f040663a718c54bfbffd201b56b1536a6bf30795912a49e5e6d77a8c3c6d1f01

See more details on using hashes here.

File details

Details for the file sparseSEM-2.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for sparseSEM-2.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8353ec36c05e76c864a63c157b99f2b86ae2dee56423282f8024e5a3b66f5952
MD5 923bc5acce630b556c33e2b0db885b88
BLAKE2b-256 e43126b46723e17c3d34d964c9b9af1c5017d71711911bb71d2f2992f16a1003

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page