L-moments of the Rice Distribution

Share:

Description

This function estimates the L-moments of the Rice distribution given the parameters (ν and α) from parrice. The L-moments in terms of the parameters are complex. They are computed here by the system of maximum order statistic expectations from theoLmoms.max.ostat, which uses expect.max.ostat. The connection between τ_2 and ν/α and a special function (the Laguerre polynomial, LaguerreHalf) of ν^2/α^2 and additional algebraic terms is tabulated in the R data.frame located within .lmomcohash$RiceTable. The file ‘SysDataBuilder.R’ provides additional details.

Usage

1
lmomrice(para, ...)

Arguments

para

The parameters of the distribution.

...

Additional arguments passed to theoLmoms.max.ostat.

Value

An R list is returned.

lambdas

Vector of the L-moments. First element is λ_1, second element is λ_2, and so on.

ratios

Vector of the L-moment ratios. Second element is τ, third element is τ_3 and so on.

trim

Level of symmetrical trimming used in the computation, which is 0.

leftrim

Level of left-tail trimming used in the computation, which is NULL.

rightrim

Level of right-tail trimming used in the computation, which is NULL.

source

An attribute identifying the computational source of the L-moments: “lmomrice”, but the exact contents of the remainder of the string might vary as limiting distributions of Normal and Rayleigh can be involved for ν/α > 52 (super high SNR, Normal) or 24 < ν/α ≤ 52 (high SNR, Normal) or ν/α < 0.08 (very low SNR, Rayleigh).

Author(s)

W.H. Asquith

References

Asquith, W.H., 2011, Distributional analysis with L-moment statistics using the R environment for statistical computing: Createspace Independent Publishing Platform, ISBN 978–146350841–8.

See Also

parrice, cdfrice, cdfrice, quarice

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
## Not run: 
lmomrice(vec2par(c(65,34), type="rice"))

# Use the additional arguments to show how to avoid unnecessary overhead
# when using the Rice, which only has two parameters.
  rice <- vec2par(c(15,14), type="rice")
  system.time(lmomrice(rice, nmom=2)); system.time(lmomrice(rice, nmom=6))

  lcvs <- vector(mode="numeric"); i <- 0
  SNR  <- c(seq(7,0.25, by=-0.25), 0.1)
  for(snr in SNR) {
    i <- i + 1
    rice    <- vec2par(c(10,10/snr), type="rice")
    lcvs[i] <- lmomrice(rice, nmom=2)$ratios[2]
  }
  plot(lcvs, SNR,
       xlab="COEFFICIENT OF L-VARIATION",
       ylab="LOCAL SIGNAL TO NOISE RATIO (NU/ALPHA)")
  lines(.lmomcohash$RiceTable$LCV,
        .lmomcohash$RiceTable$SNR)
  abline(1,0, lty=2)
  mtext("Rice Distribution")
  text(0.15,0.5, "More noise than signal")
  text(0.15,1.5, "More signal than noise")

## End(Not run)
## Not run: 
# A polynomial expression for the relation between L-skew and 
# L-kurtosis for the Rice distribution can be readily constructed.
T3 <- .lmomcohash$RiceTable$TAU3
T4 <- .lmomcohash$RiceTable$TAU4
LM <- lm(T4~T3+I(T3^2)+I(T3^3)+I(T3^4)+
               I(T3^5)+I(T3^6)+I(T3^7)+I(T3^8))
summary(LM) # note shown
## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.