Skip to main content

Preconditoned ICA for Real Data

Project description

Travis Codecov

This repository hosts code of the Preconditioned ICA for Real Data (Picard) and Picard-O algorithms.

See the documentation.

Algorithm

Picard is an algorithm for maximum likelihood independent component analysis. It solves the same problem as Infomax, faster. It uses a preconditioned L-BFGS strategy, resulting in a very fast convergence.

Picard-O uses an adaptation of that strategy to solve the same problem under the constraint of whiteness of the signals. It solves the same problem as FastICA, but faster.

Installation

To install the package, the simplest way is to use pip to get the latest release:

$ pip install python-picard

or to get the latest version of the code:

$ pip install git+https://github.com/pierreablin/picard.git#egg=picard

Quickstart

To get started, you can build a synthetic signals matrix:

>>> import numpy as np
>>> N, T = 3, 1000
>>> S = np.random.laplace(size=(N, T))
>>> A = np.random.randn(N, N)
>>> X = np.dot(A, S)

And then feed Picard with it:

>>> from picard import picard
>>> Y, W = picard(X)

or Picard-O:

>>> from picard import picardo
>>> Y, W = picardo(X)

Picard or Picard-O output the estimated sources, Y, and estimated unmixing matrix, W.

Dependencies

These are the dependencies to use Picard:

  • numpy (>=1.8)

  • matplotlib (>=1.3)

  • numexpr (>= 2.0)

These are the dependencies to run the EEG example:

  • mne (>=0.14)

  • scikit-learn (>=0.18)

  • scipy (>=0.19)

Cite

If you use this code in your project, please cite:

Pierre Ablin, Jean-Francois Cardoso, and Alexandre Gramfort
Faster independent component analysis by preconditioning with Hessian approximations
ArXiv Preprint, June 2017

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

python-picard-0.1.tar.gz (9.6 kB view details)

Uploaded Source

File details

Details for the file python-picard-0.1.tar.gz.

File metadata

  • Download URL: python-picard-0.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for python-picard-0.1.tar.gz
Algorithm Hash digest
SHA256 610da7e0a26e01012f66a67ce3936ab72df2d80767233e0f7d59c397d94bbd47
MD5 620b451ed0a05f37b4910bff35e0ecb1
BLAKE2b-256 3007e91164102728302d0450f9b3f312f3a6060c727abd0696bf35c01f24cb23

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