It does feel like it's a very early 20th century technique. Nowadays we have so many tools which would be less feasible for calculators (the people) and more feasible for software.
Recently, we started using the arcsinh instead of the log as well because the function has nice properties[1]
1. https://worthwhile.typepad.com/worthwhile_canadian_initi/201...
It makes nonlinear relationships linear. Makes the model less sensitive, too. For instance if the data spans several OoM, adding or removing one datapoint in one of those orders can generate a lot of skew before the log-linearization.
It's easy to cast the log back to the original distribution by taking the exponent afterwards.
[1] https://en.m.wikipedia.org/wiki/Generalized_linear_model
Read the Wikipedia article for a more formal explanation.
[1] https://en.m.wikipedia.org/wiki/Variance-stabilizing_transfo...
I don't really like the Winsorized mean but not for the reason you list. I think the main issue is that you are assuming exactly the top and bottom 10% are outliers instead of looking at the actual data distribution to see what the outliers are then using a similar replacement technique on only the outliers.
https://projecteuclid.org/journals/annals-of-statistics/volu...
How does it do on normal and other common distributions?
All of them. Which is why outside of a handful of contexts, the consensus in statistical modeling nowadays seems to be not to worry about outliers unless the values are completely unreasonable or there are a suspicious amount of them.
As to your bootstrapping idea, why not bootstrap the entire distribution, why only the tails? If you only bootstrap the tails but allow draws from the entire empirical distribution then you are changing the underlying distribution.
- A world with a different distribution than the one you are trying to fit
- A measurement environment subject to bad contacts or noise spikes or experimental mistakes
- A reporting system with occasional typos
- etc
Seems to me what to do with the outliers should be informed by some understanding of the environment. And in some case, noted aside while waiting to see if there is more data "out there" in the outliers' vicinity.
In some cases, a replacement for the outlier might be "nearby" while in other cases we know nothing about where the replacement should be.
Like 1002, 998, 1004, 48723, 2104, 1003, 997...
Estimating the deviation from the mean of the last n readings and ignoring ones too far out works well. Also calculate the percentage of bad readings and have a way of displaying it.
I can understand a line of logic that would give rise to something like the Winsorized mean -- after you look at your data, you see some obvious outliers. It feels dirty to just drop those values (which would lead to the truncated mean) because the information from an implausible value is more likely to be near the extreme than it is to be near the center mass.
What to do with those extreme values?
Here's something I now want to experiment with -- bootstrapping the extreme values. Take note of the original empirical distribution. Then, create a new distribution by removing the top and bottom X% of the observations and replacing them with values drawn i.i.d. from the original empirical distribution. This could lead to some values being replaced with the outliers that we originally wanted to drop. After we do this, record the mean. Then create new sample distributions until we have a distribution of new means. What I am curious about is how the shape if this distribution of means will be impacted depending on that X% value selected at the beginning.
What are some well-known distributions that appear to have outliers? A log-normal distribution maybe?