Estimation of the two parameters of the Nakagami distribution by maximum likelihood estimation.
Logical. Suppress a warning?
Parameter link functions applied to the
scale and shape parameters.
Log links ensure they are positive.
Optional initial values for the shape and scale parameters.
The Nakagami distribution, which is useful for modelling wireless systems such as radio links, can be written
2 * (shape/scale)^shape * y^(2*shape-1) * exp(-shape*y^2/scale) / gamma(shape)
for y > 0, shape > 0, scale > 0. The mean of Y is sqrt(scale/shape) * gamma(shape+0.5) / gamma(shape) and these are returned as the fitted values. By default, the linear/additive predictors are eta1=log(scale) and eta2=log(shape). Fisher scoring is implemented.
An object of class
The object is used by modelling functions such as
The Nakagami distribution is also known as the Nakagami-m distribution, where m=shape here. Special cases: m=0.5 is a one-sided Gaussian distribution and m=1 is a Rayleigh distribution. The second moment is E(Y^2)=m.
If Y has a Nakagami distribution with parameters shape and scale then Y^2 has a gamma distribution with shape parameter shape and scale parameter scale/shape.
T. W. Yee
Nakagami, M. (1960). The m-distribution: a general formula of intensity distribution of rapid fading, pp.3–36 in: Statistical Methods in Radio Wave Propagation. W. C. Hoffman, Ed., New York: Pergamon.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
nn <- 1000; shape <- exp(0); Scale <- exp(1) ndata <- data.frame(y1 = sqrt(rgamma(nn, shape = shape, scale = Scale/shape))) nfit <- vglm(y1 ~ 1, nakagami, data = ndata, trace = TRUE, crit = "coef") ndata <- transform(ndata, y2 = rnaka(nn, scale = Scale, shape = shape)) nfit <- vglm(y2 ~ 1, nakagami(iscale = 3), data = ndata, trace = TRUE) head(fitted(nfit)) with(ndata, mean(y2)) coef(nfit, matrix = TRUE) (Cfit <- Coef(nfit)) ## Not run: sy <- with(ndata, sort(y2)) hist(with(ndata, y2), prob = TRUE, main = "", xlab = "y", ylim = c(0, 0.6), col = "lightblue") lines(dnaka(sy, scale = Cfit["scale"], shape = Cfit["shape"]) ~ sy, data = ndata, col = "orange") ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.