# residSVD: Multiplicative Approximation of Model Residuals In gnm: Generalized Nonlinear Models

 residSVD R Documentation

## Multiplicative Approximation of Model Residuals

### Description

This function uses the first d components of the singular value decomposition in order to approximate a vector of model residuals by a sum of d multiplicative terms, with the multiplicative structure determined by two specified factors. It applies to models of class lm, glm or gnm.

### Usage

residSVD(model, fac1, fac2, d = 1)

### Arguments

 model an object of class gnm, glm or lm fac1 a factor fac2 a factor d integer, the number of multiplicative terms to use in the approximation

### Details

This function operates on the matrix of mean residuals, with rows indexed by fac1 and columns indexed by fac2. For glm and glm models, the matrix entries are weighted working residuals. The primary use of residSVD is to generate good starting values for the parameters in Mult terms in models to be fitted using gnm.

### Value

If d = 1, a numeric vector; otherwise a numeric matrix with d columns.

### Author(s)

David Firth and Heather Turner

gnm, Mult

### Examples

set.seed(1)

##  Goodman RC1  association model fits well (deviance 3.57, df 8)
mentalHealth\$MHS <- C(mentalHealth\$MHS, treatment)
mentalHealth\$SES <- C(mentalHealth\$SES, treatment)
## independence model
indep <- gnm(count ~ SES + MHS, family = poisson, data = mentalHealth)
mult1 <- residSVD(indep, SES, MHS)
## Now use mult1 as starting values for the RC1 association parameters
RC1model <- update(indep, . ~ . + Mult(SES, MHS),
start = c(coef(indep), mult1), trace = TRUE)
##  Similarly for the RC2 model:
mult2 <- residSVD(indep, SES, MHS, d = 2)
RC2model <- update(indep, . ~ . + instances(Mult(SES, MHS), 2),
start = c(coef(indep), mult2), trace = TRUE)
##
## See also example(House2001), where good starting values matter much more!
##

gnm documentation built on April 29, 2022, 5:06 p.m.