Frédéric Dandurand
Senior researcher in AI (Artificial Intelligence)
  • Welcome
  • CV
  • Software Design
  • Research
  • Neural Art
Research Projects
  • Automatic Maxima Detection
  • Self-Organizing Maps
Problem Solving
  • Hanjie puzzles
  • Gizmo task

GNU General Public License

Programs and codes distributed on this website are free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Paper copyrights

Papers are posted on this site as an efficient way to distribute reprints. The respective authors and publishers of these works retain all of the copyrights to this material. Anyone copying, downloading, bookmarking, or printing any of these materials agrees to comply with all of the copyright terms. Other than having an electronic or printed copy for fair personal use, none of these works may be reposted, reprinted, or redistributed without the explicit permission of the relevant copyright holders.

Comments, suggestions, questions, bugs? Please email: frederic.dandurand@gmail.com

Valid XHTML 1.0 Transitional
Valid CSS!

Automatic Maxima Detection (AMD)

Automatic Maxima Detection is a comprehensive software analysis tool to detect and measure statistically reliable spurts and maxima in time-varying (i.e., functional) data. The tool features:

  1. Fitting of user data with a smooth, spline-based function to reduce noise and other random effects;
  2. Use of confidence intervals to determine statistical significance;
  3. Computation, based on rigorous and standardized criteria, of four important measures of spurts and maxima: the time when they start, the time when their intensity is maximal, their duration, and their amplitude.

downloadDownload (version 1.2.1, Matlab code, 3444 kb ZIP file)

Installation and getting started


Example 1: Level of radioactivity at Fukushima City, Japan

In the aftermath of serious disasters such as nuclear accidents, the crisis management team may need to evaluate the effects on environmental contamination of their efforts and actions (e.g., opening and closing of valves, efforts to cool down the reactor, etc.). Importantly, they need to measure the effects of their actions in data that are often noisy (e.g., due to variance in measurements, instrument errors, wind turbulences, etc.). For instance, the figure to the right presents radiation levels at Fukushima city from March 13 to 23, 2011, following the Fukushima Daiichi nuclear accident.

As we can see, apart from the very large initial increase and an overall decrease in radioactivity levels in the days that followed, identification of local increases in radioactivity is difficult due to the presence of noise.

Fukushima data

Source: Directory Database of Research and Development Activities (Japan); http://read.jst.go.jp

AMD Analysis

In these noisy data, Automatic Maxima Detection finds three (3) significant increases in radioactivity rates followed by three (3) significant maxima in radioactivity levels, both at the p = 0.01 level (see figures below). Other ups and downs in the levels measured can be attributed to noise and other random fluctuations.

In AMD, spurts and maxima are indentified by large circles at the time when they are most intense. The upper row of an output graph shows the raw data (as points) with the continuous, spline-based fitted function overlapped. On the next row, AMD outputs the first derivative (often called velocity) of the fitted function. The third and fourth rows respectively present the next two derivatives (often called acceleration and jerk). In all plots (function and its derivative), dotted lines around the function indicate confidence intervals (here, at p = 0.01).

Spurts found by AMD in the Fukushima data

Fukushima spurts

Maxima found by AMD in the Fukushima data

Fukushima maxima


Example 2: Public expenditure on health in the United States

Even in data measured accurately and without any noise, it can be difficult to detect and measure spurts and maxima in continuous data without standardized criteria. For instance, the graph beside presents data of public expenditure on health in the United States. Researchers might be interested to identify the years during which rate of expenditure have increased the most (i.e., spurts). They might also be interested in comparing these spurts to identify, for example, the largest or the longest spurt. As we can see, this cannot be done by visual inspection alone.

OECD data

Source: OECD data; Institut de recherche et documentation en économie de la santé (IRDES, France); http://www.irdes.fr/

AMD Analysis

Applying AMD to these OECD data, we find three (3) significant increases (i.e., spurts) at p = 0.01 in public expenditure in the United States, in 1981, 1989 and 2002. The 2002 spurt was the largest (35.7, 85.8 and 97.0 respectively for 1981, 1989 and 2002) but the 1981 was the longest (5.1, 4.5 and 3.2 years respectively for 1981, 1989 and 2002).

OECD spurts


References

  • Dandurand, F., & Shultz, T. R. (2011). Automatic Maxima Detection: A graphical user interface and a tutorial. Tutorials in Quantitative Methods for Psychology, 7(2), 21-31.
  • Dandurand, F., & Shultz, T. R. (2010). Automatic detection and quantification of growth spurts. Behavior Research Methods, 42(3), 809-823.