# Spike-triggered average

The spike-triggered averaging (STA) is a tool for characterizing the response properties of a neuron using the spikes emitted in response to a time-varying stimulus. The STA provides an estimate of a neuron's linear receptive field. It is a useful technique for the analysis of electrophysiological data.
Mathematically, the STA is the average stimulus preceding a spike. To compute the STA, the stimulus in the time window preceding each spike is extracted, and the resulting (spike-triggered) stimuli are averaged (see diagram). The STA provides an unbiased estimate of a neuron's receptive field only if the stimulus distribution is spherically symmetric (e.g., Gaussian white noise).
The STA has been used to characterize retinal ganglion cells, neurons in the lateral geniculate nucleus and simple cells in the striate cortex (V1) . It can be used to estimate the linear stage of the linear-nonlinear-Poisson (LNP) cascade model. The approach has also been used to analyze how transcription factor dynamics control gene regulation within individual cells.
Spike-triggered averaging is also commonly referred to as reverse correlation or white-noise analysis. The STA is well known as the first term in the Volterra kernel or Wiener kernel series expansion. It is closely related to linear regression, and identical to it in common circumstances.

## Mathematical definition
### Standard STA

Let $\mathbf {x_{i}}$ denote the spatio-temporal stimulus vector preceding the $i$'th time bin, and $y_{i}$ the spike count in that bin. The stimuli can be assumed to have zero mean (i.e., $E[\mathbf {x} ]=0$). If not, it can be transformed to have zero-mean by subtracting the mean stimulus from each vector. The STA is given
    $\mathrm {STA} ={\tfrac {1}{n_{sp}}}\sum _{i=1}^{T}y_{i}\mathbf {x_{i}} ,$
where $n_{sp}=\sum y_{i}$, the total number of spikes.
This equation is more easily expressed in matrix notation: let $X$ denote a matrix whose $i$'th row is the stimulus vector $\mathbf {x_{i}^{T}}$ and let $\mathbf {y}$ denote a column vector whose $i$th element is $y_{i}$. Then the STA can be written
    $\mathrm {STA} ={\tfrac {1}{n_{sp}}}X^{T}\mathbf {y} .$

### Whitened STA

If the stimulus is not white noise, but instead has non-zero correlation across space or time, the standard STA provides a biased estimate of the linear receptive field. It may therefore be appropriate to whiten the STA by the inverse of the stimulus covariance matrix. This resolves the spatial dependency issue, however we still assume the stimulus is temporally independent. The resulting estimator is known as the whitened STA, which is given by
    $\mathrm {STA} _{w}=\left({\tfrac {1}{T}}\sum _{i=1}^{T}\mathbf {x_{i}} \mathbf {x_{i}} ^{T}\right)^{-1}\left({\tfrac {1}{n_{sp}}}\sum _{i=1}^{T}y_{i}\mathbf {x_{i}} \right),$
where the first term is the inverse covariance matrix of the raw stimuli and the second is the standard STA. In matrix notation, this can be written
    $\mathrm {STA} _{w}={\tfrac {T}{n_{sp}}}\left(X^{T}X\right)^{-1}X^{T}\mathbf {y} .$
The whitened STA is unbiased only if the stimulus distribution can be described by a correlated Gaussian distribution (correlated Gaussian distributions are elliptically symmetric, i.e. can be made spherically symmetric by a linear transformation, but not all elliptically symmetric distributions are Gaussian). This is a weaker condition than spherical symmetry.
The whitened STA is equivalent to linear least-squares regression of the stimulus against the spike train.

### Regularized STA

In practice, it may be necessary to regularize the whitened STA, since whitening amplifies noise along stimulus dimensions that are poorly explored by the stimulus (i.e., axes along which the stimulus has low variance). A common approach to this problem is ridge regression. The regularized STA, computed using ridge regression, can be written
    $\mathrm {STA} _{ridge}={\tfrac {T}{n_{sp}}}\left(X^{T}X+\lambda I\right)^{-1}X^{T}\mathbf {y} ,$
where $I$ denotes the identity matrix and $\lambda$ is the ridge parameter controlling the amount of regularization. This procedure has a simple Bayesian interpretation: ridge regression is equivalent to placing a prior on the STA elements that says they are drawn i.i.d. from a zero-mean Gaussian prior with covariance proportional to the identity matrix. The ridge parameter sets the inverse variance of this prior, and is usually fit by cross-validation or empirical Bayes.

## Statistical properties

For responses generated according to an LNP model, the whitened STA provides an estimate of the subspace spanned by the linear receptive field. The properties of this estimate are as follows

### Consistency

The whitened STA is a consistent estimator, i.e., it converges to the true linear subspace, if
* The stimulus distribution $P(\mathbf {x} )$ is elliptically symmetric, e.g., Gaussian. (Bussgang's theorem)
* The expected STA is not zero, i.e., nonlinearity induces a shift in the spike-triggered stimuli.

### Optimality

The whitened STA is an asymptotically efficient estimator if
* The stimulus distribution $P(\mathbf {x} )$ is Gaussian
* The neuron's nonlinear response function is the exponential, $exp(x)$.
For arbitrary stimuli, the STA is generally not consistent or efficient. For such cases, maximum likelihood and information-based estimators have been developed that are both consistent and efficient.