D-prime (d_prime
)¶
Calculation¶
D-prime uses linear discriminant analysis (LDA) to estimate the classification accuracy between two units.
\(v\) denotes a waveform.
\(C\) denotes the class (unit) for which the metric is being calculated.
\(D\) denotes the set of spikes which are not in \(C\).
\(P(v|C)\) probability distributions are assumed to be Gaussian.
LDA is fit to spikes in \(C\), then to spikes in \(D\).
\(\mu_C^{(LDA)}\) and \(\mu_D^{(LDA)}\) denote the mean of the LDA for clusters \(C\) and \(D\) respectively.
\(\sigma_C^{(LDA)}\) and \(\sigma_D^{(LDA)}\) denote the standard deviation of the LDA for clusters \(C\) and \(D\) respectively.
D-prime is then calculated as follows:
Expectation and use¶
D-prime is a measure of cluster separation, and will be larger in well separated clusters.
Example code¶
import spikeinterface.qualitymetrics as qm
d_prime = qm.lda_metrics(all_pcs, all_labels, 0)
Links to source code¶
From SpikeInterface
Reference¶
Cluster quality metrics computed from principal components.
- spikeinterface.qualitymetrics.pca_metrics.lda_metrics(all_pcs, all_labels, this_unit_id)¶
Calculates d-prime based on Linear Discriminant Analysis.
- Parameters
- all_pcs2d array
The PCs for all spikes, organized as [num_spikes, PCs].
- all_labels1d array
The cluster labels for all spikes. Must have length of number of spikes.
- this_unit_idint
The ID for the unit to calculate these metrics for.
- Returns
- d_primefloat
D prime measure of this unit.
Used to measure cluster separation. The magnitude of D-prime will be higher in well separated clusters, and is therefore expected to be higher in true positive units.
Literature¶
Introduced by [Hill].
- Hill
Hill, Daniel N., Samar B. Mehta, and David Kleinfeld. “Quality Metrics to Accompany Spike Sorting of Extracellular Signals.” The Journal of neuroscience 31.24 (2011): 8699–8705. Web.