首页 > 解决方案 > .L, .Q., .C, .4… 的逻辑回归解释

问题描述

我已经进行了大量的谷歌搜索,这些解释要么没有任何意义,要么他们说只使用因子而不是序数数据。我知道``.L is 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

标签: rordinal

解决方案


该输出表明您的预测变量Year是“有序因子”,这意味着 R 不仅将变量内的观察结果理解为不同的类别或组(即一个因子),而且在考虑一个类别的情况下,各种类别对它们具有自然顺序比另一个大。

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

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

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

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

如果您运行上述操作,您会在每个新变量列中发现一堆重复的数字,其中重复的变化对应于您的原始Year预测器切换类别的位置。具体值本身对您没有真正意义,因为它们是由 R 选择/计算的,以使所有对比彼此线性独立。

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

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

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

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

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

为了进一步阅读,这里是 UCLA 精彩的 IDRE 的一个网页,讨论了如何解释逻辑回归中的优势比,这里是一个疯狂酷但激烈的堆栈交换答案,介绍了 R 如何选择多项式对比权重


推荐阅读