# Looking for the 'Elbow' in data

Subitization is the rapid, accurate enumeration of low-numerosity displays, distinguished from counting by a sharp non-linearity in the plot of response times. Below is a representative plot, from Watson, D. G., Maylor, E. A., & Bruce, L. A. M. (2007). Notice that mean enumeration times for displays 1-3 increases roughly linearly, but mean enumeration time for 4 does not follow the linear trend. Some research suggests that the subitization 'limit' is dependent on task conditions and participant working memory.

I'm looking for a way to test where the elbow is, with the ultimate goal of identifying what a participant's subitization limit is. Currently, my best idea is to do something like repeated polynomial contrasts. Basically, I would test for a quadratic trend in numerosities 1-3, then in numerosities 1-4, etc. I would want to say that I have passed the subitization limit when the quadratic trend becomes significant (adjusting for repeated tests).

That's about the limits of my statistical savvy, though, so I can't evaluate this idea too well. Thoughts?

Depending on your definition of the "elbow" there are many statistical tests at your disposal. With an entire R package dedicated to this topic.

I personally tend to avoid them, since you never know in advance what will they consider an "elbow" and whether your and their opinions will coincide. (but this might be considered an extreme position) It would also depend whether you want to know if there is an "elbow" in a specific location, or whether you want to ask if there is one in general.

For the case of a specific location, you can of course fit a local regression, compare the coefficients and declare one an elbow according to your own rule about the difference in slopes.

The real problem occurs in the latter case. If you have only a couple of points anyway you can just try them all. Otherwise I would fit something non-parametric such as LOESS, calculate the gradient of the line at regular intervals (with sufficient density), such as shown here: https://stackoverflow.com/questions/12183137/calculate-min-max-slope-of-loess-fitted-curve-with-r

and use again some rule that you find convenient to declare something an "elbow". I view the "elbow" as the case when a large enough change of gradient of a function occurs over a short enough interval. Of course the thresholds for the above rules are a matter of individual taste, which is why there is no test.

In general, I presume this would be quite useless if the data is wiggly (as there would be a lot of changes in the gradient).

• I beg to differ: there are plenty of statistical tests for the "elbow," provided it is defined with sufficient clarity. This is an example of a change-point or structural-change problem.
– whuber
Oct 29, 2013 at 21:14
• I should probably rephrase, the answer then. My point was exactly that the crux is in the definition of the "elbow". Additionally, I tend to not trust the application of some change-point procedure to (time-series) data, as I never know how much does the authors definition of the "elbow" differ from mine. Therefore I advocated creating a personal rule for identifying the "elbow", rather than using some of the shelf tool. You might not have a statistical test, but at least if you create it, you know what it does and how it tends to label curves. Oct 29, 2013 at 21:35
• +1 It's a very good point.
– whuber
Apr 6, 2019 at 17:07

For the example provided, a simple method would be to apply a smoothing algorithm then do the 2nd derivative as shown in my answer to this other question.