Tukey's fences for outlier removal I'm in a biomedical research field, and I see a lot of researchers conducting low N studies that use Tukey's fences for outlier removal. For anyone who doesn't know, Tukey's fences works as such:

*

*Calculate quartiles 1 and 3 of your data

*Add 1.5xInterquartile Range to Q3 (upper fence), subtract 1.5xIQR from Q1 (lower fence)

*Anything above the upper fence or below the lower fence is an outlier and can be excluded

This doesn't feel right to me, especially in the context of low N experiments, though it seems common. The odd thing is, in scientific papers where this is mentioned, the reference given is John Tukey's 1977 textbook, "Exploratory Data Analysis." You can find the PDF online, but nowhere in the book does he talk about using this strategy for data removal, only for highlighting data points in an exploratory manner.
I was wondering if anyone knew of any references or papers about when this strategy began to be used for outlier removal, or if this is a valid strategy.

As you suspect, this is not a valid strategy for data removal. The
"outliers" falling outside Tukey's fences are worth a second look. They may or may not have arisen through legitimate random sampling from the population of an experiment.
Some datasets may contain observations arising from data entry errors, equipment failure, sampling from the wrong population, etc. Perhaps one can check with original sources to see
if these values are correct; perhaps 129 was input as 921, perhaps there is a lab note about an unusual occurrence.
In some cases (such as: a negative height, a human age of 1078) a value may be obviously wrong. Perhaps more commonly, outliers are correct, but unexpectedly low or high values.
Also, the boxplot outlier detection rules work better for data that are approximately normally distributed (e.g., scores on certain kinds of tests) than for highly skewed data, such as exponential or Pareto data (e.g., waiting times, bank balances).
Using R software, it is easy to count the outliers in
a randomly generated sample. For example, in one sample of size $n=50$ from an exponential distribution with rate $1/5$ (mean $5),$ there were $3$ outliers of the kind you mention.
set.seed(2021)
length(boxplot.stats(rexp(50, 1/5))$out)
[1] 3

set.seed(2021); x = rexp(50, 1/5)
boxplot(x, horizontal=T)


Then we can look at 100,000 such samples to get a good idea
how many outliers to expect among such exponential samples.
It seems that the average number is around 2.45 outliers
per sample. These outliers are characteristic of the
distribution, and deleting them would give a false
impression of the actual population.
set.seed(1010)
nr.out = replicate(10^5, 
          length(boxplot.stats(rexp(50,1/5))$out))
summary(nr.out)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    1.00    2.00    2.45    3.00   10.00 

With the huge datasets in common use nowadays, I don't know
what you mean by "small" sample size--10, 100, or 1000.
In a normal dataset of size 100 one should not be surprised
to see an outlier. [I used standard normal samples, but the result would be the same sampling from a normal population with any $\mu$ amd $\sigma.]$
set.seed(1234)
nr.out = replicate(10^5, 
          length(boxplot.stats(rnorm(100))$out))
summary(nr.out)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.000   0.000   1.000   0.923   1.000  15.000 

Note: I have tried to give a direct answer to your specific question.
But you may find some useful additional information by looking
at the links in the margin of this page to "Related" Q&A's
