# logff: Logarithmic Distribution In VGAM: Vector Generalized Linear and Additive Models

## Description

Estimating the (single) parameter of the logarithmic distribution.

## Usage

 `1` ```logff(lshape = "logitlink", gshape = -expm1(-7 * ppoints(4)), zero = NULL) ```

## Arguments

 `lshape` Parameter link function for the parameter c, which lies between 0 and 1. See `Links` for more choices and information. Soon `logfflink()` will hopefully be available for event-rate data. `gshape, zero` Details at `CommonVGAMffArguments`. Practical experience shows that having the initial value for c being close to the solution is quite important.

## Details

The logarithmic distribution is a generalized power series distribution that is based specifically on the logarithmic series (scaled to a probability function). Its probability function is f(y) = a * c^y / y, for y=1,2,3,..., where 0 < c < 1 (called `shape`), and a = -1 / log(1-c). The mean is a*c/(1-c) (returned as the fitted values) and variance is a*c*(1-a*c)/(1-c)^2. When the sample mean is large, the value of c tends to be very close to 1, hence it could be argued that `logitlink` is not the best choice.

## Value

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

## Note

The function `log` computes the natural logarithm. In the VGAM library, a link function with option `loglink` corresponds to this.

Multiple responses are permitted.

The “logarithmic distribution” has various meanings in the literature. Sometimes it is also called the log-series distribution. Some others call some continuous distribution on [a, b] by the name “logarithmic distribution”.

T. W. Yee

## References

Johnson N. L., Kemp, A. W. and Kotz S. (2005). Univariate Discrete Distributions, 3rd edition, ch.7. Hoboken, New Jersey: Wiley.

Forbes, C., Evans, M., Hastings, N. and Peacock, B. (2011) Statistical Distributions, Hoboken, NJ, USA: John Wiley and Sons, Fourth edition.

`Log`, `gaitlog`, `oalog`, `oilog`, `otlog`, `log`, `loglink`, `logofflink`, `explogff`, `simulate.vlm`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```nn <- 1000 ldata <- data.frame(y = rlog(nn, shape = logitlink(0.2, inv = TRUE))) fit <- vglm(y ~ 1, logff, data = ldata, trace = TRUE, crit = "c") coef(fit, matrix = TRUE) Coef(fit) ## Not run: with(ldata, hist(y, prob = TRUE, breaks = seq(0.5, max(y) + 0.5, by = 1), border = "blue")) x <- seq(1, with(ldata, max(y)), by = 1) with(ldata, lines(x, dlog(x, Coef(fit)), col = "orange", type = "h", lwd = 2)) ## End(Not run) # Example: Corbet (1943) butterfly Malaya data corbet <- data.frame(nindiv = 1:24, ofreq = c(118, 74, 44, 24, 29, 22, 20, 19, 20, 15, 12, 14, 6, 12, 6, 9, 9, 6, 10, 10, 11, 5, 3, 3)) fit <- vglm(nindiv ~ 1, logff, data = corbet, weights = ofreq) coef(fit, matrix = TRUE) shapehat <- Coef(fit)["shape"] pdf2 <- dlog(x = with(corbet, nindiv), shape = shapehat) print(with(corbet, cbind(nindiv, ofreq, fitted = pdf2 * sum(ofreq))), digits = 1) ```