I have several test results of server response delay. According to our theory analysis, the delay distribution (The probability distribution function of response delay) should have heavy-tail behavior. But how could I prove that the test result does follow heavy-tail distribution?
1 Answer
I'm not sure if I'm interpreting your question correctly, so let me know, and I could adapt or delete this answer. First, we don't prove things regarding our data, we just show that something isn't unreasonable. That can be done several ways, one of which is through statistical tests. In my opinion, however, if you have a pre-specified theoretical distribution, the best approach is just to make a qq-plot. Most people think of qq-plots as only being used to assess normality, but you can plot empirical quantiles against any theoretical distribution that can be specified. If you use R, the car package has an augmented function qq.plot() with a lot of nice features; two that I like are that you can specify a number of different theoretical distributions beyond just the Gaussian (e.g., you could to t
for a fatter-tailed alternative), and that it plots a 95% confidence band. If you don't have a specific theoretical distribution, but just want to see if the tails are heavier than expected from a normal, that can be seen on a qq-plot, but can sometimes be hard to recognize. One possibility that I like is to make a kernel density plot as well as a qq-plot and you could overlay a normal curve on it to boot. The basic R code is plot(density(data))
. For a number, you could calculate the kurtosis, and see if it's higher than expected. I'm not aware of canned functions for kurtosis in R, you have to code it up using the equations given on the linked page, but it's not hard to do.
-
5$\begingroup$ +1 Good advice and good discussion. But lower kurtosis? Don't you mean higher? You can experiment (in R) with
library(moments); apply(matrix(1:5,5,1), 1, function(p) kurtosis((1:100)^p))
: notice how the kurtosis increases as the right tail stretches out under higher powers. $\endgroup$– whuber ♦Commented Mar 5, 2012 at 23:56 -
$\begingroup$ Oops. @whuber, Thanks for the catch. I edited the answer. $\endgroup$ Commented Mar 6, 2012 at 0:22
-
2$\begingroup$ we don't prove things [...] we just show that something isn't unreasonable. Sentence to quote! $\endgroup$– SimoneCommented Mar 6, 2012 at 3:11
-
$\begingroup$ The e1071 package also contains a
kurtosis
function you can use here. $\endgroup$ Commented Dec 25, 2015 at 16:13