<commit_before># variational Latent Gaussian Process

[![python 3.5](https://img.shields.io/badge/python-3.5-blue.svg?style=flat-square)]()
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square)]()

## Introduction

It contains the method of variational Latent Gaussian Process (vLGP) based on 
<NAME> ([<EMAIL>](<EMAIL>])) and 
Il <NAME>'s ([<EMAIL>](<EMAIL>)) work.
It has been developed with the goal of recovering dynamics from population spike trains. 

## Changes

- New *fit* function now only requires observation and the number of latent as argument, 
and returns a single dict containing all results. Usage: 
result = fit(y=y, lat_dim=2).
- It saves intermediate results if *path* is passed to *fit*.
- One can now add any function to the list argument *callbacks* to measure the iterations.

## Usage

To get started, see the examples in the [tutorial](tutorial.ipynb).

The default options controlling algorithm are recommended for the purpose of stability but not necessarily the optimal.
If you encounter any numerical error (most likely singular matrix errors), try to change the prior and other options.

The data are expected to be spike counts (Poisson) or/and LFP channels (Gaussian) in time bins of shape (trial, bin, neuron).
 
## Modules

| module     | function                                                                                      |
|:-----------|-----------------------------------------------------------------------------------------------|
| api        | *use it*                                                                                      |
| core       | algorithm                                                                                     |
| ~~selection~~ | ~~model selection, CV, leave-one-out~~                                                     |
| gp         | hyperparameter optimization, kernel                                                           |
| math       | link functions, incomplelte Cholesky decompostion, angle between subspaces, orthogonalization |
| plot       | raster and dynamics                                                                           |
| simulation | simulation of Gaussian process, Lorenz dynamics and spike trains                              |
| util       | lag matrix construction, rotation, load and save                                              |<commit_msg>remove deprecated modules from README<commit_after># variational Latent Gaussian Process

[![python 3.5](https://img.shields.io/badge/python-3.5-blue.svg?style=flat-square)]()
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square)]()

## Introduction

It contains the method of variational Latent Gaussian Process (vLGP) based on 
<NAME> ([<EMAIL>](<EMAIL>])) and 
Il <NAME>'s ([<EMAIL>](<EMAIL>)) work.
It has been developed with the goal of recovering dynamics from population spike trains. 

## Changes

- New *fit* function now only requires observation and the number of latent as argument, 
and returns a single dict containing all results. Usage: 
result = fit(y=y, lat_dim=2).
- It saves intermediate results if *path* is passed to *fit*.
- One can now add any function to the list argument *callbacks* to measure the iterations.

## Usage

To get started, see the examples in the [tutorial](tutorial.ipynb).

The default options controlling algorithm are recommended for the purpose of stability but not necessarily the optimal.
If you encounter any numerical error (most likely singular matrix errors), try to change the prior and other options.

The data are expected to be spike counts (Poisson) or/and LFP channels (Gaussian) in time bins of shape (trial, bin, neuron).
 
## Modules

| module     | function                                                                                      |
|:-----------|-----------------------------------------------------------------------------------------------|
| api        | main entry                                                                                    |
| core       | algorithm                                                                                     |
| math       | link functions, incomplelte Cholesky decompostion, angle between subspaces, orthogonalization |
| simulation | simulation of Gaussian process, Lorenz dynamics and spike trains                              |
| util       | lag matrix construction, rotation, load and save                                              |
{'fraction_non_alphanumeric': 0.12326043737574553, 'fraction_numerical': 0.002208968411751712, 'mean_word_length': 1.6557184750733138, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 31, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '153531', 'n_tokens_mistral': 1002, 'n_tokens_neox': 949, 'n_words': 411}