.L, .Q., .C, .4… 逻辑回归的解释

Interpretation of .L, .Q., .C, .4… for logistic regression

我已经进行了大量的谷歌搜索,但解释要么没有任何意义,要么他们说只使用因子而不是序数数据。我知道 ``.Lis linear,.Q` 是二次方的,...等等。但我不知道如何真正表达它的意思。例如,让我们说

Primary.L     7.73502       0.984
Primary.Q     6.81674       0.400
Primary.C     -4.07055      0.450
Primary^4     1.48845       0.600

其中第一列是变量,第二列是估计值,第三列是 p 值。当变量按顺序增加时,我会说什么?这基本上是在说我将使用什么模型,所以这将是 7.73502x + 6.81674x^2 - 4.07055x^3 模型是怎样的?还是只包括二次?这一切都令人困惑。如果有人能阐明如何解释这些 .L.Q.C 等,那就太好了。

例子

> summary(glm(DEPENDENT ~ Year, data = HAVE, family = "binomial"))

Call:
glm(formula = DEPENDENT ~ Year, family = "binomial", data = HAVE)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.3376  -0.2490  -0.2155  -0.1635   3.1802  

Coefficients:
             Estimate Std. Error  z value Pr(>|z|)    
(Intercept) -3.572966   0.028179 -126.798  < 2e-16 ***
Year.L      -2.212443   0.150295  -14.721  < 2e-16 ***
Year.Q      -0.932844   0.162011   -5.758 8.52e-09 ***
Year.C       0.187344   0.156462    1.197   0.2312    
Year^4      -0.595352   0.147113   -4.047 5.19e-05 ***
Year^5      -0.027306   0.135214   -0.202   0.8400    
Year^6      -0.023756   0.120969   -0.196   0.8443    
Year^7       0.079723   0.111786    0.713   0.4757    
Year^8      -0.080749   0.103615   -0.779   0.4358    
Year^9      -0.117472   0.098423   -1.194   0.2327    
Year^10     -0.134956   0.095098   -1.419   0.1559    
Year^11     -0.106700   0.089791   -1.188   0.2347    
Year^12      0.102289   0.088613    1.154   0.2484    
Year^13      0.125736   0.084283    1.492   0.1357    
Year^14     -0.009941   0.084058   -0.118   0.9059    
Year^15     -0.173013   0.088781   -1.949   0.0513 .  
Year^16     -0.146597   0.090398   -1.622   0.1049    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 18687  on 80083  degrees of freedom
Residual deviance: 18120  on 80067  degrees of freedom
AIC: 18154

Number of Fisher Scoring iterations: 7

该输出表明您的预测变量 Year 是一个 "ordered factor",这意味着 R 不仅将该变量内的观察值理解为不同的类别或组(即一个因子),而且还认为各种类别对他们有一个自然的顺序,其中一个类别被认为比另一个类别大。

在这种情况下,R 的默认设置是拟合一系列多项式函数或对比变量的水平。第一个是线性 (.L),第二个是二次 (.Q),第三个是三次 (.C),依此类推。 R 将拟合比可用级别数少一个的多项式函数。因此,您的输出表明您的数据中有 17 个不同的年份。

您可能会将输出中的那 17 个(计算截距)预测变量视为完全基于原始变量顺序的全新变量,因为 R 使用使所有新预测变量正交的特殊值创建它们(即,不相关,线性独立或不相关)彼此。

查看已使用值的一种方法是在模型对象上使用 model.matrix() 函数。

model.matrix(glm(DEPENDENT ~ Year, data = HAVE, family = "binomial"))

如果您 运行 以上内容,您会在每个新变量列中发现一堆重复的数字,其中重复的变化对应于原始 Year 预测器切换类别的位置。特定值本身对您没有任何实际意义,因为它们 chosen/computed 由 R 使所有对比度彼此线性独立。

因此,您在 R 输出中的模型将是:

logit(p) = -3.57 + -2.21 * Year.L + -0.93 * Year.Q + ... + -0.15 * 年^16

其中 p 是感兴趣特征的存在概率,logit 变换定义为对数赔率,其中赔率 = p / (1 - p) 并且对数赔率 = ln(odds)。因此 logit(p) = ln(p / (1 - p)).

然后将特定 Beta 测试的解释概括为:哪些对比有助于显着解释因变量中水平之间的差异?因为您的 Year.L 预测变量显着且为负,这表明多年来 logit 呈线性下降趋势,并且由于您的 Year.Q 预测变量显着且为负,这表明在 logit 模式中可检测到减速趋势跨年。三阶多项式模型 jerk, and fourth order polynomials model jounce (a.k.a., snap)。但是,我会停止围绕这个顺序和更高顺序进行解释,因为它很快就会变得对实际的人来说毫无意义。

同样,解释特定的 beta 估计值对我来说有点荒谬,但与在给定的对比水平(例如,二次方)下,您的结果中切换类别的几率减去一个单位等于对 beta 估计取幂的几率比。对于您示例中的二次对比,比值比为 exp(-0.9328) = 0.3935,但我说这有点荒谬,因为这些单位没有什么实际意义,因为它们是由 R 选择的,以使预测变量彼​​此线性独立.因此,我更喜欢关注给定对比测试的解释,而不是这种情况下的系数。

如需进一步阅读,这里是 UCLA 精彩的 IDRE 上的一个网页,其中讨论了 how to interpret odds ratios in logistic regression, and here is a crazy cool but intense stack exchange answer that walks through how R chooses the polynomial contrast weights