如何解释 GLM 中与拟泊松族拟合的“NA”系数?
How do I interpret `NA` coefficients from a GLM fit with the quasipoisson family?
我正在使用这样的拟泊松族在 R 中拟合模型:
model <- glm(y ~ 0 + log_a + log_b + log_c + log_d + log_gm_a +
log_gm_b + log_gm_c + log_gm_d, family = quasipoisson(link = 'log'))
glm
查找前五个系数的值。它说其他人是 NA
。有趣的是,如果我对公式中的变量重新排序,glm
总能找到公式中最先出现的五个变量的系数。
数据充足(行数是参数数的很多倍)
我应该如何解释那些 NA
系数?
我正在实施的模型的作者坚持认为 NA
s 暗示找到的系数为 0,但 NA 系数变量仍然作为模型的控制。我怀疑发生了其他事情。
我的猜测是作者(他说“NA 暗示找到的系数为 0,但 NA 系数变量仍然作为对模型的控制”)是错误的(尽管很难达到 100 % 肯定没有完整的上下文)。
问题几乎可以肯定是您有一些多重共线性预测变量。不同变量返回 dropped/have NA
系数的原因是 R 部分使用顺序来确定要删除哪些变量(就拟合模型结果而言,这无关紧要 - 所有顶级结果(预测、拟合优度等)相同。
OP 在评论中说:
The relationship between log_a
and log_gm_a
is that this is a multiplicative fixed-effects model. So log_a
is the log of predictor a
. log_gm_a
is the log of the geometric mean of a
. So each of the log_gm
terms is constant across all observations.
这是诊断问题所需的关键信息。因为截距被排除在这个模型之外(公式包含0+
,模型矩阵中有一个常量列是可以的,但是多个常量列很麻烦;除了第一个(以公式指定的任何顺序)将被丢弃。稍微深入一点:请求的模型是
Y = b1*C1 + b2*C2 + b3*C3 + [additional terms]
其中 C1
、C2
、C3
是常量。在“data space”中附加项为 0 的点(即对于 log_a = log_b = log_c = ... = 0
的情况),我们只剩下从三个独立的常数项中预测一个常数值。假设常规模型 (~ 1 + log_a + log_b + log_c
) 中的截距为 m
。然后 (b1, b2, b3)
的任意组合使和等于零(并且有无限多)将同样适合数据。
我仍然不太了解上下文,但可能值得考虑在模型中添加常数项作为 offsets。或者通过预测变量的几何 means/subtract log-geom-means 来缩放预测变量?
在其他情况下,多重共线性是由无法识别的相互作用项引起的;嵌套变量;尝试包括多个分类变量的所有级别;或在模型中包括某些组成变量的所有级别的比例(例如栖息地类型的比例,比例加起来为 1),例如
- linear regression "NA" estimate just for last coefficient
我正在使用这样的拟泊松族在 R 中拟合模型:
model <- glm(y ~ 0 + log_a + log_b + log_c + log_d + log_gm_a +
log_gm_b + log_gm_c + log_gm_d, family = quasipoisson(link = 'log'))
glm
查找前五个系数的值。它说其他人是 NA
。有趣的是,如果我对公式中的变量重新排序,glm
总能找到公式中最先出现的五个变量的系数。
数据充足(行数是参数数的很多倍)
我应该如何解释那些 NA
系数?
我正在实施的模型的作者坚持认为 NA
s 暗示找到的系数为 0,但 NA 系数变量仍然作为模型的控制。我怀疑发生了其他事情。
我的猜测是作者(他说“NA 暗示找到的系数为 0,但 NA 系数变量仍然作为对模型的控制”)是错误的(尽管很难达到 100 % 肯定没有完整的上下文)。
问题几乎可以肯定是您有一些多重共线性预测变量。不同变量返回 dropped/have NA
系数的原因是 R 部分使用顺序来确定要删除哪些变量(就拟合模型结果而言,这无关紧要 - 所有顶级结果(预测、拟合优度等)相同。
OP 在评论中说:
The relationship between
log_a
andlog_gm_a
is that this is a multiplicative fixed-effects model. Solog_a
is the log of predictora
.log_gm_a
is the log of the geometric mean ofa
. So each of thelog_gm
terms is constant across all observations.
这是诊断问题所需的关键信息。因为截距被排除在这个模型之外(公式包含0+
,模型矩阵中有一个常量列是可以的,但是多个常量列很麻烦;除了第一个(以公式指定的任何顺序)将被丢弃。稍微深入一点:请求的模型是
Y = b1*C1 + b2*C2 + b3*C3 + [additional terms]
其中 C1
、C2
、C3
是常量。在“data space”中附加项为 0 的点(即对于 log_a = log_b = log_c = ... = 0
的情况),我们只剩下从三个独立的常数项中预测一个常数值。假设常规模型 (~ 1 + log_a + log_b + log_c
) 中的截距为 m
。然后 (b1, b2, b3)
的任意组合使和等于零(并且有无限多)将同样适合数据。
我仍然不太了解上下文,但可能值得考虑在模型中添加常数项作为 offsets。或者通过预测变量的几何 means/subtract log-geom-means 来缩放预测变量?
在其他情况下,多重共线性是由无法识别的相互作用项引起的;嵌套变量;尝试包括多个分类变量的所有级别;或在模型中包括某些组成变量的所有级别的比例(例如栖息地类型的比例,比例加起来为 1),例如
- linear regression "NA" estimate just for last coefficient