pdfpdq3 | R Documentation |
This function computes the probability density of the Polynomial Density-Quantile3 distribution given parameters (\alpha
and \beta
) computed by parpdq3
. The probability density function has not explicit form. The implementation here simply uses a five-point stencil to approciate the derivative of the cumulative distribution function cdfpdq3
and hence an eps
term is used and multipled to the scale parameter (\alpha
) of the distribution. The distribution's canonical definition is in terms of the quantile function (quapdq3
).
pdfpdq3(x, para, paracheck=TRUE, h=NA, hfactor=0.2)
x |
A real value vector. |
para |
The parameters from |
paracheck |
A logical switch as to whether the validity of the parameters should be checked. Default is |
h |
The differential element of the stencil, if provided, otherwise |
hfactor |
A term multiplied to the |
Probability density (f
) for x
.
W.H. Asquith
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, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.jspi.2006.10.010")}.
cdfpdq3
, quapdq3
, lmompdq3
, parpdq3
, pdfpdq4
## Not run:
para <- list(para=c(0.6933, 1.5495, 0.5488), type="pdq3")
X <- seq(-5, +12, by=(12 - -5) / 1000)
plot( X, pdfpdq3(X, para), type="l", col=grey(0.8), lwd=4, ylim=c(0, 0.3))
lines(X, c(NA, diff(pf(exp(X), df1=7, df2=1))/((12 - -5) / 1000)), lty=2)
legend("topleft", c("log F(7,1) distribution with same L-moments",
"PDQ3 distribution with same L-moments as the log F(7,1)"),
lwd=c(1, 4), lty=c(2, 1), col=c(1, grey(0.8)), cex=0.8)
mtext("Mimic Hosking (2007, fig. 2 [left])")
check.pdf(pdfpdq3, para) #
## End(Not run)
## Not run:
para <- list(para=c(100, 43.32, -0.7029), type="pdq3")
minX <- quapdq3(0.0001, para)
maxX <- quapdq3(0.9999, para)
X <- seq(minX, maxX, by=(maxX - minX) / 1000)
plot( X, pdfpdq3(X, para), type="l", col=grey(0.8), lwd=4)
check.pdf(pdfpdq3, para) #
## End(Not run)
## Not run:
para <- vec2par(c(0.4729820, 3.0242067, 0.9880701), type="pdq3")
print(lmom2par(par2lmom(para), type="pdq3"))
# "|kappa| > 0.98, alpha (yes alpha) results could be unreliable"
# So, we are entering into a problem for which the kappa parameter is
# very large and instabilities in the algorithm will result, but
# vec2par() has not mechanism for determining this type of situation.
# Ultimately, things will manifest with a check.pdf() that fails.
sup <- lmomco::supdist(para)$support
xx <- seq(sup[1], sup[2], by=diff(range(sup)) / 2000)
plot(xx, pdfpdq3(xx, para), type="l", col=grey(0.8))
plot(xx, pdfpdq3(xx, para), type="l", col=grey(0.8), xlim=c(-1,10))
# See hints of instability in the density shape in the second plot
check.pdf(pdfpdq3, para) # non-finite function value
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.