Skip to main content

Multi-Experiment Network Estimation and Inference for High-Dimensional Point Process Data

Project description

Multi-Experiment Network Estimation and Inference for High-Dimensional Point Process Data

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Python package: https://github.com/stevenwang/NeuroNetLearn/

Modern high-dimensional point process data, especially those from neuroscience experiments, often involve observations from multiple conditions and/or experiments. Networks of interactions corresponding to these conditions are expected to share many edges, but also exhibit unique, condition-specific ones. However, the degree of similarity among the networks from different conditions is generally unknown. Existing approaches for multivariate point processes do not take these structures into account and do not provide inference for jointly estimated networks. To address these needs, we develop the neuronetlearn package that includes estimation and inference tools for networks of high-dimensional Hawkes processes over multiple experiments. Specifically, neuronetlearn includes functions that implement a joint estimation procedure for networks of high-dimensional point processes that incorporates easy-to-compute weights in order to data-adaptively encourage similarity between the estimated networks. It also includes functions that implement a powerful hierarchical multiple testing procedure for edges of all estimated networks, which takes into account the data-driven similarity structure of the multi-experiment networks.

For more details, please see the accompanying manuscripts: "Statistical Inference for Networks of High-Dimensional Point Processes." by Xu Wang, Mladen Kolar and Ali Shojaie, and "Joint Estimation and Inference for Multi-ExperimentNetworks of High-Dimensional Point Processes." by Xu Wang and Ali Shojaie.

Installation:

You can install a stable release of neuronetlearn using pip3 by running python pip3 install neuronetlearn from a Terminal window.

Dependencies include scipy, numpy, math, numba, igraph, sklearn

Code was run using python 3.8.5

Primary files:

  • net_est_auto.py: joint estimation for multi-experiment networks where tuning parameters are automatically chosen based on eBIC (via getBIC.py)
  • net_inf.py: high-dimensional statistical inference for point process network
  • net_inf_threshold.py: fast version of 'net_inf' by first identifying sub-graphs and then applying 'net_inf' to each sub-graph
  • spg_genlasso_solver_jit.py: generalized lasso solver using smoothing proximal gradient descent algorithm
  • simu_net.py: simulate multi-experiment point process data where the settings of networks are generated using genSetting.py
  • ht.py: multi-experiment hierarchical testing controlling FWER

Example

We recommend starting with one of the following examples (hosted at the package github page) which demonstrate various features of the package.

  • examples/demo_network_estimation.ipynb: examples of estimating multi/single-experiment point process network(s) using net_est function in net_est_auto.py
  • examples/demo_network_inference.ipynb: examples of statistical inference over multi/single-experiment point process network(s) using net_inf function in net_inf.py

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

neuronetlearn-1.0.0.tar.gz (21.3 kB view hashes)

Uploaded Source

Built Distribution

neuronetlearn-1.0.0-py3-none-any.whl (23.3 kB view hashes)

Uploaded Python 3

Supported by

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