Presence ratio (presence_ratio)

Calculation

Presence ratio is the proportion of discrete time bins in which at least one spike occurred.

\[\textrm{presence ratio} = \frac{B_s}{B_s + B_n}\]
  • \(B_s\) : number of bins in which spikes occurred.

  • \(B_n\) : number of bins in which no spikes occurred.

Expectation and use

Complete units are expected to have a presence ratio of 90% or more. Low presence ratio (close to 0) can indicate incompleteness (type II error) or highly selective firing pattern.

Example code

import spikeinterface.qualitymetrics as sqm

# Combine sorting and recording into a sorting_analyzer

presence_ratio = sqm.compute_presence_ratios(sorting_analyzer=sorting_analyzer)
# presence_ratio is a dict containing the unit IDs as keys
# and their presence ratio (between 0 and 1) as values.

References

spikeinterface.qualitymetrics.misc_metrics.compute_presence_ratios(sorting_analyzer, bin_duration_s=60.0, mean_fr_ratio_thresh=0.0, unit_ids=None)

Calculate the presence ratio, the fraction of time the unit is firing above a certain threshold.

Parameters:
sorting_analyzerSortingAnalyzer

A SortingAnalyzer object.

bin_duration_sfloat, default: 60

The duration of each bin in seconds. If the duration is less than this value, presence_ratio is set to NaN.

mean_fr_ratio_threshfloat, default: 0

The unit is considered active in a bin if its firing rate during that bin. is strictly above mean_fr_ratio_thresh times its mean firing rate throughout the recording.

unit_idslist or None

The list of unit ids to compute the presence ratio. If None, all units are used.

Returns:
presence_ratiodict of floats

The presence ratio for each unit ID.

Notes

The total duration, across all segments, is divided into “num_bins”. To do so, spike trains across segments are concatenated to mimic a continuous segment.

Literature

Unknown origin.