OBJECTIVE: A major challenge in non-stationary signal analysis is reliable estimation of correlation. Neurophysiological recordings can be many minutes in duration with data that exhibits correlation which changes over different time scales. Local smoothing can be used to estimate time-dependency, however, an effective framework needs to adjust levels of smoothing in response to changes in correlation.
APPROACH: Here we present a novel data-adaptive algorithm, the z-tracker, for estimating local correlation in segmented data. The algorithm constructs single segment coherence estimates using multi-taper windows. These are subject to adaptive Kalman filtering/smoothing in the z-domain to construct a local coherence estimate for each segment. The error residual for each segment determines the levels of process noise, allowing the filter to adapt rapidly to sudden changes in correlation while applying greater smoothing to data where the correlation is consistent across segments. The method is compared to wavelet coherence, calculated using orthogonal Morse wavelets.
MAIN RESULTS: The performance of the z-tracker is quantified against Morse wavelet coherence using a Mean Square Deviation (MSD) metric. The z-tracker has significantly lower MSD than the wavelet estimate for time-varying coherence over long time scales (~10-20 sec), whereas the wavelet has lower MSD for coherence varying over short time scales (~1-2 sec). The z-tracker also has a lower MSD for slowly varying coherence with occasional step changes. The method is applied to detect changes in coherence in paired LFP recordings from rat prefrontal cortex and amygdala in response to a pharmacological challenge.
SIGNIFICANCE: The z-tracker provides an effective and efficient method to estimate time varying correlation in multivariate data, leading to better characterisation of neurophysiology signals where correlation is subject to slow modulation over time. A number of suggestions are included for future refinements.
- Journal Article
- time frequency
- Morse wavelet
- Kalman filter