# Wedderburn Quasi-likelihood Family

### Description

Creates a `family`

object for use with `glm`

,
`gnm`

, etc., for the variance function
*[μ(1-μ)]^2* introduced by Wedderburn (1974) for response values in
[0,1].

### Usage

1 | ```
wedderburn(link = "logit")
``` |

### Arguments

`link` |
The name of a link function. Allowed are "logit", "probit" and "cloglog". |

### Value

An object of class `family`

.

### Note

The reported deviance involves an arbitrary constant (see McCullagh and Nelder, 1989, p330); for estimating dispersion, use the Pearson chi-squared statistic instead.

### Author(s)

Modification of `binomial`

by the R Core Team. Adapted
for the Wedderburn quasi-likelihood family by David Firth.

### References

Gabriel, K R (1998). Generalised bilinear regression. *Biometrika*
**85**, 689–700.

McCullagh, P and Nelder, J A (1989). *Generalized Linear Models*
(2nd ed). Chapman and Hall.

Wedderburn, R W M (1974). Quasilikelihood functions, generalized
linear models and the Gauss-Newton method. *Biometrika*
**61**, 439–47.

### See Also

`glm`

, `gnm`

, `family`

### 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 | ```
set.seed(1)
### Use data from Wedderburn (1974), see ?barley
### Fit Wedderburn's logit model with variance proportional to the
### square of mu(1-mu)
logitModel <- glm(y ~ site + variety, family = wedderburn, data = barley)
fit <- fitted(logitModel)
print(sum((barley$y - fit)^2 / (fit * (1-fit))^2))
## Agrees with the chi-squared value reported in McCullagh and Nelder
## (1989, p331), which differs slightly from Wedderburn's reported value.
### Fit the biplot model as in Gabriel (1998, p694)
biplotModel <- gnm(y ~ -1 + instances(Mult(site, variety), 2),
family = wedderburn, data = barley)
barleySVD <- svd(matrix(biplotModel$predictors, 10, 9))
A <- sweep(barleySVD$v, 2, sqrt(barleySVD$d), "*")[, 1:2]
B <- sweep(barleySVD$u, 2, sqrt(barleySVD$d), "*")[, 1:2]
## These are essentially A and B as in Gabriel (1998, p694), from which
## the biplot is made by
plot(rbind(A, B), pch = c(LETTERS[1:9], as.character(1:9), "X"))
### Fit the double-additive model as in Gabriel (1998, p697)
variety.binary <- factor(match(barley$variety, c(2,3,6), nomatch = 0) > 0,
labels = c("Rest", "2,3,6"))
doubleAdditive <- gnm(y ~ variety + Mult(site, variety.binary),
family = wedderburn, data = barley)
``` |