Offsets
An offset is a component of the linear predictor that is known in advance (typically from theory, or from a mechanistic model of the process) and, because it is known, requires no parameter to be estimated from the data. For linear models with normal errors an offset is redundant, since you can simply subtract the offset from the values of the response variable, and work with the residuals instead of the y values. For GLMs, however, it is necessary to specify the offset; this is held constant while other explanatory variables are evaluated. Here is an example from the timber data.
The background theory is simple. We assume the logs are roughly cylindrical (i.e. that taper is negligible between the bottom and the top of the log). Then volume, v, in relation to girth, g, and height, h, is given by
![]()
Taking logarithms gives
![]()
We would expect, therefore, that if we did a multiple linear regression of log(v) on log(h) and log(g) we would get estimated slopes of 1.0 for log(h) and 2.0 for log(g). Let's see what happens:
data <-read.delim("c:\\temp\\timber.txt") attach(data) names(data)
[1] "volume" "girth" "height"
The girths are in centimetres but all the other data are in metres, so we convert the girths to metres at the outset:
girth<-girth/100
Now fit the model:
model1<-glm(log(volume)~log(girth)+log(height)) ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access