You could use a Kolmogorov-Smirnov (KS) test by plugging
Maximum-Likelihood estimates into the target (Lomax) distribution
function. Although the KS test should use a fully specified
distribution (with no estimated parameters) using estimated parameters
works fine when the number of observations is large as is the case
here.
Inasmuch the interest seems to be on the tail, one can use the Peaks
Over Threshold (POT) approach, which consists in fitting a
distribution for the excesses over a threshold $u$ chosen to high
enough. So instead of the original observations $Y_i$ we use the
excesses $Y_i -u$, selecting the observations with $Y_i > u$. In
this approach we favour the Generalized Pareto Distribution (GPD) for
the excesses, because this distribution is "POT"-stable. The Lomax
is a special case of the GPD.
Note that the data are poorly scaled which may lead to problems with
estimation routines. This may explain why your estimates (which I
suspect are given in the wrong order) differ from those coming from
different packages. I would recommend to scale the data. It is also
worth noting that if a specific order exists for the observations
(e.g. records in time) these could have different "regimes". If the
whole distribution was to be investigated, we would probably have to
use a mixture of parametric distributions as suggested by the density
of logged observations obtained with density.
> dat <- 1e5 * dat[ , 3]
> library(Renext)
> fitL <- flomax(dat)
> coL <- fitL$estimate
> coL
shape scale
0.67633153 0.05085796
> ks.test(x = dat, y = "plomax", scale = coL["scale"], shape = coL["shape"])
Warning in ks.test.default(x = dat, y = "plomax", scale = coL["scale"], : ties
should not be present for the Kolmogorov-Smirnov test
Asymptotic one-sample Kolmogorov-Smirnov test
data: dat
D = 0.055853, p-value = 4.688e-09
alternative hypothesis: two-sided
So we clearly reject the null hypothesis: the observations can not be regarded as forming a sample of a Lomax distribution.
Now let us try a POT model.
> u <- 3.0
> exc <- dat[dat > u] - u
> fitL2 <- flomax(exc)
> coL2 <- fitL2$estimate
> ks.test(x = exc, y = "plomax", scale = coL2["scale"], shape = coL2["shape"])
Warning in ks.test.default(x = exc, y = "plomax", scale = coL2["scale"], : ties
should not be present for the Kolmogorov-Smirnov test
Asymptotic one-sample Kolmogorov-Smirnov test
data: exc
D = 0.047207, p-value = 0.9009
alternative hypothesis: two-sided
The Kolmogorov-Smirnov test tells that a Lomax distribution is quite good for the chosen threshold. The same conclusion seems to arise with different choices of the threshold.
Now let us turn to the question: could the tail be exponential rather
than Lomax? This is nearly a routine test in POT and we can use
LRExp.test, the null hypothesis being an exponential distribution. As
explained in the documentation, the Likelihood-Ratio test uses by
default a numeric approximation of the test statistic. We can use a simulation method to get a more
precise result as follows
LRExp.test(exc, method = "sim", nSamp = 100000)
## $statistic
## [1] 5.662787
##
## $df
## [1] 146
##
## $p.value
## [1] 0.00541
##
## $method
## [1] "LR test of exponentiality"
##
## $alternative
## [1] "lomax"
So clearly we should reject the exponentiality (of the tail) and favour
the Lomax alternative. Though slightly less powerful, we could have used Jackson's test similarly (with the same conclusion).
We could have use the Renouv function of Renext to fit
a POT model. The KS test would then on "jitterized" version of the observations to remove ties hence discard the warning.