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 details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

Details for the file neuronetlearn-1.0.0.tar.gz.

File metadata

  • Download URL: neuronetlearn-1.0.0.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5

File hashes

Hashes for neuronetlearn-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3ccf8ee1435961ca7b7161320db1d84bfc4df15600437b912867ca9383a01248
MD5 a666a2a54afe74f5dba6bacc479ee8bb
BLAKE2b-256 69dc04f986086e696ff230165ffce93e86610169439707750c291b3c5a19d85e

See more details on using hashes here.

File details

Details for the file neuronetlearn-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: neuronetlearn-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5

File hashes

Hashes for neuronetlearn-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20c7ea12ac798507995248ae39a669ac29c45655d6c8e186892b8f608aa93f9e
MD5 50bda0c47b4a017131feb0e821d39802
BLAKE2b-256 108751dbb2d309a5d9f8af2c2d988eba414e586de7115cee06794e552cd5280b

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