VGAM (version 1.0-4)

# logff: Logarithmic Distribution

## Description

Estimating the (single) parameter of the logarithmic distribution.

## Usage

`logff(lshape = "logit", gshape = ppoints(8), 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`.

## Value

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

## 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,\ldots\), 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-ac) /(1-c)^2\).

## References

Chapter 7 of Johnson N. L., Kemp, A. W. and Kotz S. (2005) Univariate Discrete Distributions, 3rd edition, 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.

`rlog`, `oalog`, `oilog`, `otlog`, `log`, `loge`, `logoff`, `explogff`, `simulate.vlm`.

## Examples

Run this code
```# NOT RUN {
ldata <- data.frame(y = rlog(n = 1000, shape = logit(0.2, inverse = 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))
# }
# 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)
# }
```

Run the code above in your browser using DataCamp Workspace