Could someone explain the scaling factors involved in calculating robust z scores using median and MAD please?
As I understand it, conventional Z scores calculated using the mean and SD are sensitive to outliers in the data. An alternative is to use the median and median-absolute-deviation (MAD).
The formula for MAD is: MAD = median(| x - median(x)|)
However, in R, the MAD of a vector x of observations is median(abs(x - median(x))) multiplied by the default constant 1.4826 (scale factor for MAD for non-normal distribution), which is used to put MAD on the same scale as the data and assumes normally distributed data.
I'm confused as to how this fits in to computing robust z scores. I have seen this calculated as:
Robust z-score = (xi – x̃) / MAD (where xi: A single data value and x̃: The median of the dataset).
Also, I have seen:
Robust z-score = 0.6745(xi – x̃) / MAD
Which of these is correct? Does the MAD calculation above include the b constant 1.4826, or is the constant set to 1?
Furthermore, I've read that the standard b constant handles skewed data pretty well, but one could calculate b independently. I am dealing with slightly skewed data that follows a poisson distribution.
Any insight and suggestions would be greatly appreciated!