I have a small data set (n=25) with an unknown distribution and I'm trying to find a distribution function that is as similar as possible in order to ultimately determine tolerance limits. I used the EnvStat (eevd function) and tolerance (exttol.int function with the Gumbel specification) packages to adjust an extreme value distribution and got significantly different values ​​for the parameters. I suspect the problem is with the tolerance package because when generating random numbers with these parameters there are significant deviations from the original data. My question is whether there actually are differences in the theoretical distribution functions underlying the packages - unfortunately my statistical skills are not sufficient to check this myself. My data: x <- c(51.86583, 59.39621, 90.06303, 57.75621, 37.50628, 67.91501, 51.62459, 59.98771, 55.37674, 14.71149, 49.16140, 69.00756, 59.44430, 60.32828, 40.66241, 90.62933, 50.55091, 52.42641, 61.48249, 68.93989, 51.45097, 31.96273, 74.08706, 37.44214, 56.29700)

  • 1
    $\begingroup$ With only $n=25$, you might be better off posting the data and asking what the tolerance limits are. In specific, on this site, we do not like to answer programming questions, although occasionally R-language questions are tolerated, that is not common. Moreover, be more specific as to what the data is from and why you want tolerance limits, otherwise the answers may be irrelevant to your problem. Summarizing, ask for stats help, not programming help. $\endgroup$
    – Carl
    Feb 9 at 14:03
  • $\begingroup$ My question is not so much about the specific data set (this is about drug residues in food), but rather about the problem of what lies behind the two different estimates of the parameters of the extreme value distribution. Estimation using EnvStats results in location = 47.76714 and scale = 17.13012; using the package tolerance ends with location = 64.14926 and scale = 16.40546. Programming is not the issue, its about different methods used by the packages. However, I will add the data to my original question. $\endgroup$
    – Jens B
    Feb 12 at 15:20
  • $\begingroup$ @JensB you appear to be fitting the minimum value in your tolerance::exttol.int call, if you use ext="max" the methods seem to match. $\endgroup$
    – PBulls
    Feb 12 at 15:40
  • $\begingroup$ You might want to see this page for the multiple parameterizations of "the" extreme value function. Everyone should at least specify whether they mean the "maximum" or "minimum" version, but even that is too often omitted. $\endgroup$
    – EdM
    Feb 13 at 19:18
  • $\begingroup$ Thanks, that solves the problem and explains it as well. $\endgroup$
    – Jens B
    Feb 14 at 17:26


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.