4
$\begingroup$

I am using a stock trading platform which only has a mean deviation function. I have to use standard deviation for some calculations and I want to know how we can convert mean deviation to standard deviation. In some websites they have provided this formula

MAD:SD=SQRT (2/pi)

But warned that it is just an approximation? Why it is difficult to convert mean deviation to standard deviation and vice versa?

$\endgroup$
7
$\begingroup$

The factor of $\sqrt{\frac{2}{\pi}}$ is based on assuming a normal distribution.

If that was a good value to use, this would mean that if you wanted to compute sd from md in large samples you'd multiply by $\sqrt{\frac{\pi}{2}}$

If the data are not close to normal, using that scale factor may not yield a suitable estimate of sample standard deviation.

Considered in terms of sample features, the two respond differently to large and small deviations, so in some samples the ratio of mean deviation (md) to sd may be very close to 1, while in other samples it may be far from 1. [I use md for mean deviation because MAD is often used to stand for median absolute deviation from the median.]

i) consider a sample of 1000 0's and 1000 1's. md/sd $\approx$ 1

ii) consider a sample of one "0", one "1" and 998 "$\frac{_1}{^2}$". md/sd $\approx$ 0.0447

If you were in case (i) and multiplied md by $\sqrt{\frac{\pi}{2}}$ you'd get a number that was 57% too big. If you were in case (ii) and multiplied md by $\sqrt{\frac{\pi}{2}}$ you'd get a number that was only about 7% as big as it should be.

Mean deviation won't exceed standard deviation, but in some cases it can be quite a lot smaller than it. In particular, if tails are heavier than normal, md/sd might be a good deal smaller than in the normal case.

If you also have other information than the mean deviation, you might be able to approximate it a little better.

$\endgroup$
4
$\begingroup$

Because two sets of data can have the same MAD but different SD. Indeed, this is one of the reasons for using MAD.

For example:

set.seed(123)
x <- rnorm(1000,0,1)
sd(x) #0.99
mad(x) #0.96
y <- rpois(1000,1)
sd(y) #1.00
mad(y)#1.48
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.