解释 R 的二项式回归输出

机器算法验证 r 回归 物流 二项分布 解释
2022-02-05 09:57:26

我对二项式数据测试很陌生,但需要做一个,现在我不确定如何解释结果。y 变量,即响应变量,是二项式的,解释因子是连续的。这是我在总结结果时得到的:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

有很多我没有在这里得到的东西,这真的说明了什么:

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

AIC 和 Fisher 评分迭代次数是什么意思?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

这意味着什么:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 
2个回答

你所做的是逻辑回归这可以在基本上任何统计软件中完成,并且输出将是相似的(至少在内容上,尽管呈现方式可能不同)。在 UCLA 的优秀统计帮助网站上有使用 R 进行逻辑回归的指南。如果您对此不熟悉,我在这里的回答:logit and probit models 之间的区别,可能会帮助您了解 LR 的含义(尽管它是在不同的上下文中编写的)。

您似乎提供了两种模型,我将主要关注最上面的模型。另外,复制粘贴模型或输出时似乎出现了错误,所以我将在输出中进行交换leaves.presenceArea使其与模型一致。这是我所指的模型(请注意,我添加了 ;(link="logit")隐含的family=binomial; 请参阅?glm?family):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

让我们看一下这个输出(请注意,我在第二行中更改了变量的名称Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

正如线性 (OLS) 回归中存在残差一样,逻辑回归和其他广义线性模型中也可能存在残差但是,当响应变量不连续时,它们会更加复杂。GLiM 可以有五种不同类型的残差,但列出的标准是偏差残差。偏差和偏差残差更高级,所以我在这里简要介绍一下;如果这个讨论有点难以理解,我不会太担心,你可以跳过它):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

对于模型中使用的每个数据点,都会计算与该点相关的偏差。为每个点完成此操作后,您就有了一组这样的残差,上面的输出只是它们分布的非参数描述。


接下来我们会看到关于协变量的信息,这是人们通常最感兴趣的:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

对于像这样的简单逻辑回归模型,只有一个协变量(Area此处)和截距(有时也称为“常数”)。如果您有一个多元逻辑回归,则会在这些下方列出其他协变量,但输出的解释将是相同的。第二Estimate行下方是与左侧列出的变量相关的系数。如果高一个单位,它是对数几率leaves.presence将增加的估计量。何时Area的对数几率刚好在第一行的上方。(如果您对对数赔率不够熟悉,它可能会帮助您在这里阅读我的答案:逻辑回归中对赔率比的简单预测的解释leaves.presenceArea0.) 在下一栏中,我们看到与这些估计相关的标准误差。也就是说,它们是对平均而言,如果研究以相同的方式重新运行,但使用新数据,这些估计会反弹多少,一遍又一遍。(如果您对标准误差的概念不是很熟悉,它可能会帮助您阅读我的答案:如何解释线性回归中的系数标准误差。)如果我们要将估计值除以标准误差,我们会得到一个假设为具有足够大样本的正态分布的商。该值列在下面z value下面Pr(>|z|)列出了双尾p 值对应于标准正态分布中的那些 z 值。最后,还有传统的重要性星(并注意系数表下方的键)。


Dispersion行默认使用 GLiM 打印,但这里没有添加太多信息(例如,计数模型更重要)。我们可以忽略这一点。


最后,我们获得有关模型及其拟合优度的信息:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

关于这一行missingness经常,嗯,不见了。它显示在这里是因为您有 314 个观测值,其中一个leaves.presenceArea或两者都缺失。这些部分观察没有用于拟合模型。

Residual deviance是衡量您的模型作为一个整体缺乏拟合的量度,而Null deviance仅包括截距的简化模型的量度。请注意,与这两者相关的自由度仅相差一个。由于您的模型只有一个协变量,因此只估计了一个额外的参数(Estimatefor Area),因此只消耗了一个额外的自由度。这两个值可用于对模型进行整体检验,这类似于多元线性回归模型附带由于您只有一个协变量,因此在这种情况下,这样的测试将是无趣的。 F

AIC是另一种拟合优度的度量,它考虑了模型拟合数据的能力。这在比较两个模型时非常有用,其中一个模型可能更适合,但可能只是因为它更灵活,因此能够更好地拟合任何数据。由于您只有一个模型,因此这是无用的。

参考Fisher scoring iterations与模型的估计方式有关。线性模型可以通过求解闭式方程来拟合。不幸的是,大多数 GLiM 都无法做到这一点,包括逻辑回归。相反,使用迭代方法(默认为Newton-Raphson 算法)。松散地,该模型是基于对估计值的猜测而拟合的。然后,该算法环顾四周,看看是否可以通过使用不同的估计来改进拟合。如果是这样,它会朝那个方向移动(例如,使用更高的估计值),然后再次拟合模型。当算法没有感知到再次移动会产生更多额外改进时,该算法就会停止。此行告诉您在进程停止并输出结果之前有多少次迭代。



关于您列出的第二个模型和输出,这只是显示结果的另一种方式。具体来说,这些

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

与上面讨论的估计相同(尽管来自不同的模型并且提供的补充信息较少)。

Call:这只是您对该函数的调用。这将是您在 R 中输入的完全相同的代码。这有助于查看您是否输入了任何拼写错误。

(偏差)残差:对于逻辑回归,您几乎可以忽略这些。对于泊松或线性回归,您希望它们或多或少呈正态分布(这与前两个诊断图检查的情况相同)。您可以通过查看 1Q 和 3Q 的绝对值是否彼此接近(ish)以及中值是否接近 0 来检查这一点。平均值未显示,因为它始终为 0。如果其中任何一个都超关闭,那么你的数据可能有一些奇怪的偏差。(这也将显示在您的诊断图中!)

系数:这是输出的核心。

  • 截距:对于泊松和线性回归,这是我们所有输入为 0 时的预测输出。对于逻辑回归,该值将离 0 越远,则每个类中观察数之间的差异越大。标准误差表示我们对此有多不确定(越低越好)。在这种情况下,因为我们的截距远非 0 并且我们的标准误差比截距小得多,所以我们可以很确定我们的一个类(失败或没有失败)有更多的观察结果。(在这种情况下,它“没有失败”,谢天谢地!)

  • 各种输入(每个输入将在不同的行上):这个估计表示我们认为每次我们将此输入增加 1 时输出会发生多少变化。估计越大,该输入变量对输出的影响就越大。标准错误是我们对它的确定程度。通常,如果标准误差是估计值的 1/10,我们可以很确定输入信息量很大。所以在这种情况下,我们很确定拦截很重要。

  • 意义。代码:这是每个 :input 和拦截的重要性的关键。只有当您只将一个模型拟合到您的数据时,这些才是正确的。(换句话说,如果您从一开始就对哪些变量感兴趣,而不是为数据分析或变量选择提供信息,那么它们非常适合实验数据。)

    等等,为什么我们不能使用统计显着性?你可以,我只是一般不会推荐它。在数据科学中,您通常会使用相同的数据集拟合多个模型,以尝试选择最佳模型。如果您曾经在同一数据集上运行多个统计显着性检验,则需要调整 p 值以弥补它。你可以这样想:如果你决定接受低于 p = 0.05 的结果,你基本上是在说你可以接受二十次错误。但是,如果您随后进行五次测试,并且每一次都有 1/20 的机会出错,那么您现在至少有 1/4 的机会在其中一项测试中出错……但是您不知道是哪一个。你可以纠正它(通过将您接受的 p 值乘以您将执行的测试数量),但实际上我发现完全避免使用 p 值通常更容易。

(二项式族的分散参数取为 1):您只会在泊松和二项式(逻辑)回归中看到这一点。它只是让您知道添加了一个额外的缩放参数来帮助拟合模型。你可以忽略它。

零偏差:零偏差告诉我们仅使用截距可以预测输出的程度。越小越好。

残余偏差:残余偏差告诉我们使用截距和输入预测输出的能力如何。越小越好。零偏差和残余偏差之间的差异越大,我们的输入变量对预测输出变量的帮助就越大。

AIC: AIC 是“Akaike 信息标准”,它是对您的模型描述数据模式的程度的估计。它主要用于比较在同一数据集上训练的模型。如果您需要在模型之间进行选择,具有较低 AIC 的模型可以更好地描述数据的方差。

Fisher 评分迭代次数:这只是衡量模型拟合所需时间的指标。您可以放心地忽略它。

我建议这个 toturial 了解更多。 https://www.kaggle.com/rtatman/regression-challenge-day-5