Poisson Mixture Models

Poisson-related models: population codes, COM-Poisson, and variational wrappers.

This module provides: - VariationalPoissonVonMises: Variational wrapper for Poisson-VonMises harmonium - VonMisesPopulationCode: Population code with Poisson observables and Von Mises stimulus - CoMPoissonPopulation: Population of COM-Poisson units with shared dispersion - Poisson mixture type aliases and factory functions

Classes

class CoMPoissonPopulation(n_reps: int)[source]

Bases: DifferentiableProduct[CoMPoisson], LocationShape[PoissonPopulation, PopulationShape]

A population of independent Conway-Maxwell-Poisson (COM-Poisson) units.

property fst_man: PoissonPopulation

First component manifold.

property snd_man: PopulationShape

Second component manifold.

join_coords(fst_coords: Array, snd_coords: Array) Array[source]

Concatenate component coordinates.

split_coords(coords: Array) tuple[Array, Array][source]

Split into (fst, snd) components.

class PopulationLocationEmbedding(n_neurons: int)[source]

Bases: TupleEmbedding[PoissonPopulation, CoMPoissonPopulation]

Embedding that projects COM-Poisson to Poisson via location parameters.

n_neurons: int
property tup_idx: int

The index of the component in the tuple manifold.

property amb_man: CoMPoissonPopulation

The ambient manifold.

property sub_man: PoissonPopulation

The submanifold.

Factory Functions

poisson_mixture(n_neurons: int, n_components: int) PoissonMixture[source]

Create a mixture of independent Poisson populations.

com_poisson_mixture(n_neurons: int, n_components: int) CoMPoissonMixture[source]

Create a COM-Poisson mixture with shared dispersion parameters.