我正在glmer
为一些业务数据拟合随机效应模型。目的是分析分销商的销售业绩,同时考虑区域差异。我有以下变量:
distcode
:经销商ID,800级左右region
: 顶级地理 ID(北、南、东、西)zone
: 中级地理嵌套在里面region
,总共大约 30 个级别territory
: 嵌套在其中的低级地理zone
,大约 150 个级别
每个分销商只在一个地区经营。棘手的部分是这是汇总数据,每个分销商都有一个数据点。所以我有 800 个数据点,我正在尝试拟合(至少)800 个参数,尽管是以正则化的方式。
我已经安装了一个模型如下:
glmer(ninv ~ 1 + (1|region/zone/territory) + (1|distcode), family=poisson)
这运行没有问题,尽管它确实打印了一个注释:
随机效应的分组因子的水平数等于n,即观察数
这是明智的做法吗?我得到了所有系数的有限估计,AIC 也不是不合理的。如果我尝试使用身份链接的泊松 GLMM,AIC 会更糟,因此日志链接至少是一个很好的起点。
如果我绘制拟合值与响应的关系图,我会得到本质上是完美拟合的结果,我猜这是因为每个分销商都有一个数据点。这是合理的,还是我在做一些完全愚蠢的事情?
这是使用一个月的数据。我可以获取多个月的数据并以这种方式进行一些复制,但是我必须为每月的变化和可能的交互添加新的术语,对吗?
ETA:我再次运行上述模型,但没有family
参数(所以只是高斯 LMM 而不是 GLMM)。现在lmer
给了我以下错误:
(函数(fr,FL,start,REML,verbose)中的错误:随机效应的分组因子的水平数必须小于观察数
所以我猜我没有做一些明智的事情,因为改变家庭不应该有效果。但现在的问题是,为什么它首先会起作用?