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:
D_{\mathrm{prime}}(C) = \frac{ ( \mu_C^{(LDA)} - \mu_D^{(LDA)} ) }{ \sqrt{ 0.5( (\sigma_C^{(LDA)})^2 + (\sigma_D^{(LDA)})^2) } }
D-prime is a measure of cluster separation, and will be larger in well separated clusters.
import spikeinterface.qualitymetrics as sqm
d_prime = sqm.lda_metrics(all_pcs=all_pcs, all_labels=all_labels, this_unit_id=0)
.. autofunction:: spikeinterface.qualitymetrics.pca_metrics.lda_metrics
Introduced by [Hill]_.