如何解释泊松回归中的系数?


64

我如何解释泊松回归中的主要影响(虚拟编码因子的系数)?

假设以下示例:

treatment     <- factor(rep(c(1, 2), c(43, 41)), 
                        levels = c(1, 2),
                        labels = c("placebo", "treated"))
improved      <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
                        levels = c(1, 2, 3),
                        labels = c("none", "some", "marked"))    
numberofdrugs <- rpois(84, 10) + 1    
healthvalue   <- rpois(84, 5)   
y             <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test          <- glm(healthvalue~numberofdrugs+treatment+improved, y, family=poisson)
summary(test)

输出为:

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       1.88955    0.19243   9.819   <2e-16 ***
numberofdrugs    -0.02303    0.01624  -1.418    0.156    
treatmenttreated -0.01271    0.10861  -0.117    0.907   MAIN EFFECT  
improvedsome     -0.13541    0.14674  -0.923    0.356   MAIN EFFECT 
improvedmarke    -0.10839    0.12212  -0.888    0.375   MAIN EFFECT 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

我知道的发生率numberofdrugsexp(-0.023)=0.977。但是,如何解释虚拟变量的主要影响?


可以在此处找到类似的答案(但从数学角度上更准确地界定):如何解释Poisson GLM结果中的参数估计
gung

有趣的是,所提到的问题被关闭为题外。(我不会同意这是不合时宜的,因为任何答案也将适用于向用户返回系数表的任何统计程序的输出,并且确实同意您的观点是值得的在我看来,SO社区对要求解释R的输出的问题过于“紧张”。对于StackOverflow而言,它们并不是真正的话题,因为没有建议需要编码帮助。
DWin

@DWin,我不认为解释统计输出在Cross Validated上不是主题。我投票结束了这个问题,作为对此的重复。我搜集到其他人似乎对OT进行了投票,因为在他们看来OP会“将其计算机输出转储到那里并[希望某人]对[他们]进行统计分析”。
gung

1
@gung:我很清楚不是您在称它为OT。关于这一点,您的意见很明确。(我以为我同意你的看法。)密切投票列出的“理由”通常是多数或多数决定。
DWin

Answers:


56

的取幂numberofdrugs系数是乘法术语用来计算估计healthvaluenumberofdrugs由1个单位增加。对于分类(因子)变量,指数系数是相对于该变量的基础(第一个因子)水平的乘法项(因为R默认情况下使用处理对比)。的exp(Intercept)是基准利率,和所有其他的估计会是相对于它。

在您的例子中,估计healthvalue人带2毒品,"placebo"improvement=="none"会(使用除了内部EXP乘法相当于):

 exp( 1.88955 + 2*-0.02303 + 0 + 0 )
 [1] 6.318552

虽然有人对4药品,"treated"以及"some"改善将有一个估计healthvalue

exp( 1.88955 + 4*-0.02303 + -0.01271 + -0.13541)
[1] 5.203388

附录:这就是“对数刻度上的加法”的含义。我的老师芭芭拉·麦克奈特(Barbara McKnight)在强调进行任何类型的预测时都需要使用适用于逻辑回归的所有项系数时使用的短语是“对数奇数标度的加法”。首先将所有系数乘以协变量值,然后取幂。从R中的回归对象返回系数的方法通常是使用coef()提取器函数(在下面用不同的随机实现完成):

 coef(test)
  #   (Intercept)    numberofdrugs treatmenttreated     improvedsome   improvedmarked 
  #   1.18561313       0.03272109       0.05544510      -0.09295549       0.06248684 

因此,对有改善的4药物受试者的估算值的计算将为:"treated""some"

 exp( sum( coef(test)[ c(1,2,3,4) ]* c(1,4,1,1) ) ) 
 [1] 3.592999

在这种情况下,线性预测因子应为:

 coef(test)[c(1,2,3,4)]*c(1,4,1,1) 
 #    (Intercept)    numberofdrugs treatmenttreated     improvedsome 
 #     1.18561313       0.13088438       0.05544510      -0.09295549

这些原则应适用于向用户返回系数表的任何统计信息包。该方法和原理比我使用R时可能出现的通用。


我正在复制选定的澄清注释,因为它们在默认显示中“消失”了:

问:所以您将系数解释为比率!谢谢!– MarkDollar

答:系数是比率的natural_logarithms。– DWin

问题2:在那种情况下,在泊松回归中,指数系数是否也称为“奇数比”?–麦汁

A2:否。如果是逻辑回归,则应该是Poisson回归,其中LHS是事件的数量,隐式分母是处于风险的数量,则指数系数是“比率”或“相对风险”。


所以它让你投票两次?多好。我认为提供解释的R代码实​​现可能会从分类正确性的角度将其拯救出来。OP构成了一个很好的独立实例。也许我应该演示一个提取器功能,所以我想我会的。
DWin 2011年

是的,我赞成您对SO的答复,然后转移到此处,我再次赞成:)
布兰登·

到目前为止谢谢!我知道虚拟变量和可变变量之间的关系,但是我只是对如何解释主要效果感兴趣(我标记了它们)。从参考类别转换为治疗时,是否可以从主要效应中获取偶然率,例如,对于假人治疗的“ exp(-0.012)= 0.99”,并将其解释为健康值下降的速度?一定是,不是吗?
MarkDollar,2011年

指数系数始终被解释为比率。“什么”与“什么”的比率取决于分析单位。“费率”不同,具有隐式的数字和时间值。因此,如果您愿意更改术语,则可能是“是”。最佳答案来自完全描述分析情况
。– DWin

好的,这就是我想知道的。因此,您将系数解释为比率!谢谢!
MarkDollar 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.