parnor | R Documentation |
This function estimates the parameters of the Normal distribution given the L-moments of the data in an L-moment object such as that returned by lmoms
. The relation between distribution parameters and L-moments is seen under lmomnor
.
There are interesting parallels between \lambda_2
(L-scale) and \sigma
(standard deviation). The \sigma
estimated from this function will not necessarily equal the output of the sd
function of R, and in fact such equality is not expected. This disconnect between the parameters of the Normal distribution and the moments (sample) of the same name can be most confusing to young trainees in statistics. The Pearson Type III is similar. See the extended example for further illustration.
parnor(lmom, checklmom=TRUE, ...)
lmom |
An L-moment object created by |
checklmom |
Should the |
... |
Other arguments to pass. |
An R list
is returned.
type |
The type of distribution: |
para |
The parameters of the distribution. |
source |
The source of the parameters: “parnor”. |
W.H. Asquith
Hosking, J.R.M., 1990, L-moments—Analysis and estimation of distributions using linear combinations of order statistics: Journal of the Royal Statistical Society, Series B, v. 52, pp. 105–124.
Hosking, J.R.M., 1996, FORTRAN routines for use with the method of L-moments: Version 3, IBM Research Report RC20525, T.J. Watson Research Center, Yorktown Heights, New York.
Hosking, J.R.M., and Wallis, J.R., 1997, Regional frequency analysis—An approach based on L-moments: Cambridge University Press.
lmomnor
,
cdfnor
, pdfnor
, quanor
lmr <- lmoms(rnorm(20))
parnor(lmr)
# A more extended example to explore the differences between an
# L-moment derived estimate of the standard deviation and R's sd()
true.std <- 15000 # select a large standard deviation
std <- vector(mode = "numeric") # vector of sd()
std.by.lmom <- vector(mode = "numeric") # vector of L-scale values
sam <- 7 # number of samples to simulate
sim <- 100 # perform simulation sim times
for(i in seq(1,sim)) {
Q <- rnorm(sam,sd=15000) # draw random normal variates
std[i] <- sd(Q) # compute standard deviation
lmr <- lmoms(Q) # compute the L-moments
std.by.lmom[i] <- lmr$lambdas[2] # save the L-scale value
}
# convert L-scale values to equivalent standard deviations
std.by.lmom <- sqrt(pi)*std.by.lmom
# compute the two biases and then output
# see how the standard deviation estimated through L-scale
# has a smaller bias than the usual (product moment) standard
# deviation. The unbiasness of L-moments is demonstrated.
std.bias <- true.std - mean(std)
std.by.lmom.bias <- true.std - mean(std.by.lmom)
cat(c(std.bias,std.by.lmom.bias,"\n"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.