riceff {VGAM} | R Documentation

## Rice Distribution Family Function

### Description

Estimates the two parameters of a Rice distribution by maximum likelihood estimation.

### Usage

    riceff(lvee="loge", lsigma="loge",
           evee=list(), esigma=list(),
           ivee=NULL, isigma=NULL,
           nsimEIM=100, zero=NULL)

### Arguments

`lvee, evee` | Link function and extra argument for the v parameter. See `Links` for more choices and for general information.
`lsigma, esigma` | Link function and extra argument for the sigma parameter. See `Links` for more choices and for general information.
`ivee, isigma` | Optional initial values for the parameters. See `CommonVGAMffArguments` for more information. If convergence failure occurs (this VGAM family function seems to require good initial values) try using these arguments.
`nsimEIM, zero` | See `CommonVGAMffArguments` for more information.

### Details

The Rician distribution has density function

f(y;v,sigma) = (y/sigma^2) * exp(-(y^2+v^2) / (2*sigma^2)) * I_0(y*v/sigma^2)

where y>0, v > 0, σ > 0 and I_0 is the modified Bessel function of the first kind with order zero. When v=0 the Rice distribution reduces to a Rayleigh distribution. The mean is sigma*sqrt(pi/2)*exp(z/2)*((1-z)*I_0(-z/2)-z*I_1(-z/2)) (returned as the fitted values) where z=-v^2/(2*sigma^2). Simulated Fisher scoring is implemented.

### Value

An object of class `"vglmff"` (see `vglmff-class`). The object is used by modelling functions such as `vglm` and `vgam`.

### Note

Convergence problems may occur for data where v=0; if so, use `rayleigh` or possibly use an `identity` link.

When v is large (greater than 3, say) then the mean is approximately v and the standard deviation is approximately sigma.

### Author(s)

T. W. Yee

### References

Rice, S. O. (1945) Mathematical Analysis of Random Noise. Bell System Technical Journal, 24, 46–156.

### See Also

`drice`, `rayleigh`, `besselI`.

### Examples

    vee = exp(2); sigma = exp(1);
    y = rrice(n <- 1000, vee, sigma)
    fit = vglm(y ~ 1, riceff, trace=TRUE, crit="c")
    c(mean(y), fitted(fit)[1])
    coef(fit, matrix=TRUE)
    Coef(fit)
    summary(fit)

[Package VGAM version 0.7-9 Index]