[R] queue waiting times comparison
Petr PIKAL
petr.pikal at precheza.cz
Thu Aug 18 14:52:30 CEST 2011
Hallo Jim
Thank you and see within text.
jim holtman <jholtman at gmail.com> napsal dne 18.08.2011 14:09:11:
> I am not sure why you say that "lapply(ml, mean)" shows (incorrectly)
> that the second year has a larger average; it is correct for the data:
>
> > lapply(ml, my.func)
> $y1
> Count Mean SD Min Median 90% 95%
> Max Sum
> 18.00000 16.83333 12.42980 4.00000 12.50000 37.20000 41.05000
> 47.00000 303.00000
>
> $y2
> Count Mean SD Min Median 90% 95%
> Max Sum
> 15.00000 20.06667 25.27694 4.00000 11.00000 45.80000 70.40000
> 97.00000 301.00000
>
>
> You have a larger "outlier" in the second year that causes the mean to
> be higher. The median is lower, but I usually look at the 90th
> percentile if I am looking at response time from a system and again
> the second year has a higher value.
>
> So exactly why do you not "trust" your data?
Well. I trust them, however mean is "correct" central value only when data
are normally distributed or at least symmetrical. As the values are
heavily distorted I feel that I shall not use mean for comparison of such
sets. Anyway t.test tells me that there is no difference between y2 and
y1.
> t.test(ml[[1]], ml[[2]])
Welch Two Sample t-test
data: ml[[1]] and ml[[2]]
t = -0.452, df = 19.557, p-value = 0.6563
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-18.17781 11.71115
sample estimates:
mean of x mean of y
16.83333 20.06667
So based on this I probably will never get conclusive result as sd due to
"outliers" will be quite high.
When I do
plot(ecdf(ml[[2]]))
plot(ecdf(ml[[1]]), add=T, col=2)
it seems to me that both sets are almost the same and they differ
substantially only with those "outlier" values.
If I decreased small values of y2 (e.g.)
ml[[2]][ml[[2]]<20] <- ml[[2]][ml[[2]]<20]/2
I get same mean
lapply(ml, mean)
$y1
[1] 16.83333
$y2
[1] 16.1
and t.test tells me that there is no difference between those two sets,
although I know that most events take half of the time and only few last
longer so for me such set is better (we improved performance for most of
the time however there are still scarce events which take a long time).
plot(ecdf(ml[[2]]))
plot(ecdf(ml[[1]]), add=T, col=2)
So still the question stays - what procedure to use for comparison of two
or more sets with such long tailed distribution? - Trimmed mean?, Median?,
...
Thanks.
Regards
Petr
>
> On Thu, Aug 18, 2011 at 7:49 AM, Petr PIKAL <petr.pikal at precheza.cz>
wrote:
> > Hallo all
> >
> > I try to find a way how to compare set of waiting times during
different
> > periods. I tried learn something from queueing theory and used also R
> > search. There is plenty of ways but I need to find the easiest and
quite
> > simple.
> > Here is a list with actual waiting times.
> >
> > ml <- structure(list(y1 = c(10, 9, 9, 10, 8, 20, 16, 47, 4, 7, 15,
> > 18, 36, 5, 24, 15, 40, 10), y2 = c(97, 10, 26, 11, 11, 10, 5,
> > 13, 19, 5, 5, 59, 4, 16, 10)), .Names = c("y1", "y2"))
> >
> > par(mfrow=c(1,2))
> > lapply(ml, hist)
> >
> > shows that in the first year is more longer waiting times
> >
> > lapply(ml, mean)
> >
> > shows (incorrectly) that in the second year there is longer average
> > waiting time.
> >
> > lapply(ml, mean)
> >
> > gives me completely reversed values.
> >
> > Can you please give me some hints what to use for "correct" and
"simple"
> > comparison of waiting times in two or more periods.
> >
> > Thank you
> > Petr
> >
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
>
>
> --
> Jim Holtman
> Data Munger Guru
>
> What is the problem that you are trying to solve?
More information about the R-help
mailing list