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:
- Fitting of user data with a smooth, spline-based function to reduce noise and other random effects;
- Use of confidence intervals to determine statistical significance;
- 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.
Download (version 1.2.1, Matlab code, 3444 kb ZIP file)
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.
Source: Directory Database of Research and Development Activities (Japan); http://read.jst.go.jp
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
Maxima found by AMD in the Fukushima data
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.
Source: OECD data; Institut de recherche et documentation en économie de la santé (IRDES, France); http://www.irdes.fr/
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).
- 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.