pargno: Estimate the Parameters of the Generalized Normal...

pargnoR Documentation

Estimate the Parameters of the Generalized Normal Distribution

Description

This function estimates the parameters of the Generalized Normal (Log-Normal3) distribution given the L-moments of the data in an L-moment object such as that returned by lmoms. The relations between distribution parameters and L-moments are seen under lmomgno.

Remark In spring 2026, a study was conducted using using inst/newcoes/makeGNOcoes.R of lmomco sources for computation of better coefficients used in approximation of the relation between \kappa and L-skew (\tau_3). A vector of \kappa values was made for \mu=0 and \lambda_2 = 0, without a loss in generality, and the theoretical \tau_3 computed by theoLmoms and optim() for fitting. These new coefficients relative to those taken from Hosking (1996) were implemented in spring 2026 by new settings in the parpe3 source code. Slightly more accurate conversion of \tau_3 to \gamma was attained. The structural formulation by Hosking was retained and only the fitting coefficients altered.

Usage

pargno(lmom, checklmom=TRUE, useHosking=TRUE, ...)

Arguments

lmom

An L-moment object created by lmoms or vec2lmom.

checklmom

Should the lmom be checked for validity using the are.lmom.valid function. Normally this should be left as the default and it is very unlikely that the L-moments will not be viable (particularly in the \tau_4 and \tau_3 inequality). However, for some circumstances or large simulation exercises then one might want to bypass this check.

useHosking

A logical to use the old Hosking (1996) FORTRAN coefficients or use the new optimized coefficients of Spring 2026 custom to the lmomco package.

...

Other arguments to pass.

Value

An R list is returned.

type

The type of distribution: gno.

para

The parameters of the distribution.

source

The source of the parameters: “pargno”.

Author(s)

W.H. Asquith

References

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.

See Also

lmomgno, cdfgno, pdfgno, quagno, parln3

Examples

lmr <- lmoms(rnorm(20))
pargno(lmr)

## Not run: 
x   <- c(2.4, 2.7, 2.3, 2.5, 2.2, 62.4, 3.8, 3.1)
lmr <- lmoms(x, nmom=3)
gno <- pargno(lmr, useHosking=TRUE)  # triggers warning
# Hosking's limit is Tau3=+-0.95
gno <- pargno(lmr, useHosking=FALSE)
tmr <- theoLmoms(gno, nmom=3)
print( lmr$lambdas ) # matching
print( tmr$lambdas ) # matching
print( lmr$ratios  ) # matching
print( tmr$ratios  ) # matching 
## End(Not run)

## Not run: 
  Tau3 <- runif(500000, min=-1, max=1)
  system.time(H <- sapply(Tau3, function(t) {
              pargno(vec2lmom(c(0,1,t)), useHosking=TRUE )$para[3] }))
  #   user  system elapsed
  #  9.072   0.027   9.200
  system.time(W <- sapply(Tau3, function(t) {
              pargno(vec2lmom(c(0,1,t)), useHosking=FALSE)$para[3] }))
  #   user  system elapsed
  #  7.261   0.024   7.389
  # By useHosking=FALSE is about 1.25 times slower but still fast.
  plot(sort(H), sort(W), type="p")
  abline(0,1, col="red") # Hosking's Tau3=0.95 truncation evident.
## End(Not run)

lmomco documentation built on Oct. 18, 2026, 5:07 p.m.