This code calculates the (windowed!) running mean and variance as well as
the (windowed) Gaussian surprise for each newly added element. Furthermore,
it is possible to calculate the univariate Gamma surprise.
The code comes with two examples on acoustic saliency/surprise using the
(synthetic) chirp signal and a real-world, meeting room audio recording.
Please see  for details and an application of the Gaussian windowed
surprise. See  for details on the univariate Gamma model. Be so kind
to cite  and/or , if you use the provided code.
 B. Schauerte, B. Kuehn, K. Kroschel, R. Stiefelhagen, "Multimodal
Saliency-based Attention for Object-based Scene Analysis," in Proc.
Int. Conf. Intelligent Robots and Systems (IROS), 2011.
 B. Schauerte, R. Stiefelhagen, ""Wow!" Bayesian Surprise for Salient
Acoustic Event Detection". In Proc. 38th Int. Conf. Acoustics,
Speech, and Signal Processing (ICASSP), 2013.
Boris Schauerte (2020). Gaussian Surprise and Running Windowed Mean / Variance (https://www.mathworks.com/matlabcentral/fileexchange/33573-gaussian-surprise-and-running-windowed-mean-variance), MATLAB Central File Exchange. Retrieved .
Hi Adam, if you send me the data (you will find my e-mail address on my web page), I will take a closer look at the issue (I tested the code on data from audio, some image processing, ... - so my experience does not cover all kinds of data). However, some first ideas: you could/should try both estimation methods and also have a closer look at the min_variance_value. Bests, Boris
Hi, I can get the example scripts to run fine, but when I apply this to a data set of mine, I get all Nan for the surprise variable, even though the windowed mean and variance some out ok. Any idea why this is?
- added the univariate Gamma model
- added two examples
improved the documentation and added an example script
- added a help
- set the numerically more stable variance estimation as default