I'm fitting a random effects model with glmer
to some business data. The aim is to analyse sales performance by distributor, taking into account regional variation. I have the following variables:
distcode
: distributor ID, with about 800 levelsregion
: top-level geographical ID (north, south, east, west)zone
: mid-level geography nested withinregion
, about 30 levels in allterritory
: low-level geography nested withinzone
, about 150 levels
Each distributor operates in only one territory. The tricky part is that this is summarised data, with one data point per distributor. So I have 800 data points and I'm trying to fit (at least) 800 parameters albeit in a regularised fashion.
I've fitted a model as follows:
glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)
This runs without a problem, although it does print a note:
Number of levels of a grouping factor for the random effects is equal to n, the number of observations
Is this a sensible thing to do? I get finite estimates of all the coefficients, and the AIC also isn't unreasonable. If I try a poisson GLMM with the identity link, the AIC is much worse so the log link is at least a good starting point.
If I plot the fitted values vs the response, I get what is essentially a perfect fit, which I guess is because I have one data point per distributor. Is that reasonable, or am I doing something completely silly?
This is using data for one month. I can get data for multiple months and get some replication that way, but I'd have to add new terms for month-to-month variation and possible interactions, correct?