parpdq3 {lmomco} | R Documentation |
Estimate the Parameters of the Polynomial Density-Quantile3 Distribution
Description
This function estimates the parameters of the Polynomial Density-Quantile3 distribution given the L-moments of the data in an L-moment object such as that returned by lmoms
. The relations between the distribution parameters and L-moments are seen under lmompdq3
.
Usage
parpdq3(lmom, checklmom=TRUE)
Arguments
lmom |
|
checklmom |
Should the |
Value
An R list
is returned.
type |
The type of distribution: |
para |
The parameters of the distribution. |
ifail |
A numeric field connected to the |
ifailtext |
A message, instead of a warning, about the internal operations or operational limits of the function. |
source |
The source of the parameters: “parpdq3”. |
Note
The following is a study of the performance of parpdq3
as the upper limit of the shape parameter \kappa
is approached. The algorithms have the ability to estimate the \kappa
reliabily, it is the scale parameter \alpha
that breaks down and hence there is a hard-wired setting of |\kappa| > 0.98
in which a warning is issue in parpdq3
about \alpha
reliability:
A <- 10 K <- seq(0.8, 1, by=0.0001) K <- sort(c(-K, K)) As <- Ks <- rep(NA, length(K)) for(i in 1:length(K)) { para <- list(para=c(0, A, K[i]), type="pdq3") As[i] <- parpdq3( lmompdq3(para) )$para[2] Ks[i] <- parpdq3( lmompdq3(para) )$para[3] } plot( K, (As-A)/A, type="l", col="red") abline(v=c(-0.98, +0.98)) # heuristically determined threshold
Author(s)
W.H. Asquith
References
Hosking, J.R.M., 2007, Distributions with maximum entropy subject to constraints on their L-moments or expected order statistics: Journal of Statistical Planning and Inference, v. 137, no. 9, pp. 2870–2891, doi:10.1016/j.jspi.2006.10.010.
See Also
lmompdq3
, cdfpdq3
, pdfpdq3
, quapdq3
Examples
para <- list(para=c(0, 0.4332, -0.7029), type="pdq3")
parpdq3(lmompdq3(para))$para
para <- list(para=c(0, 0.4332, 0.7029), type="pdq3")
parpdq3(lmompdq3(para))$para
para <- list(para=c(0, 0.4332, 1-sqrt(.Machine$double.eps)), type="pdq3")
parpdq3(lmompdq3(para))$para
para <- list(para=c(0, 0.4332, -1+sqrt(.Machine$double.eps)), type="pdq3")
parpdq3(lmompdq3(para))$para
para <- list(para=c(0, 0.4332, +0.0001), type="pdq3")
parpdq3(lmompdq3(para))$para
para <- list(para=c(0, 0.4332, -0.0001), type="pdq3")
parpdq3(lmompdq3(para))$para
para <- list(para=c(0, 0.4332, 0), type="pdq3")
parpdq3(lmompdq3(para))$para