如何解释 r 中的 glm 输出(带有示例)


R 中的glm()函数可用于拟合广义线性模型。

该函数使用以下语法:

glm(公式,族=高斯,数据,…)

金子:

  • Formula:线性模型公式(例如y ~ x1 + x2)
  • family:用于拟合模型的统计族。默认为高斯,但其他选项包括二项式、伽玛和泊松等。
  • data:包含数据的数据块的名称

在实践中,该函数最常用于通过指定“二项式”族来拟合逻辑回归模型

以下示例演示如何解释 R 中逻辑回归模型的 glm 输出。

示例:如何解释 R 中的 glm 输出

对于此示例,我们将使用 R 中内置的mtcars数据集:

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

我们将使用变量disphp来预测给定汽车的变量am取值为 1 的概率。

以下代码展示了如何使用glm()函数来拟合此逻辑回归模型:

 #fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-1.9665 -0.3090 -0.0017 0.3934 1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) 1.40342 1.36757 1.026 0.3048  
available -0.09518 0.04800 -1.983 0.0474 *
hp 0.12170 0.06777 1.796 0.0725 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43,230 on 31 degrees of freedom
Residual deviance: 16,713 on 29 degrees of freedom
AIC: 22,713

Number of Fisher Scoring iterations: 8

以下是如何解释结果的每个元素:

系数和 P 值

结果中的系数估计值表示与每个预测变量增加一个单位相关的响应变量对数似然的平均变化。

例如,预测变量 disp 增加一个单位与响应变量取值 1 的对数似然 -0.09518 的平均变化相关。这意味着 disp 值越高,概率越低。变量的值为 1。

标准误差让我们了解与系数估计相关的变异性。然后,我们将系数估计值除以标准误差以获得 az 值。

例如,预测变量 disp 的z 值计算为 -.09518 / .048 = -1.983。

p 值Pr(>|z|) 告诉我们与特定 z 值相关的概率。这本质上告诉我们每个预测变量能够预测模型中响应变量的值的程度。

例如,与变量 disp 的 z 值关联的 p 值为 0.0474。由于该值小于 0.05,因此我们可以说 disp 是模型中具有统计显着性的预测变量。

根据您的偏好,您可以决定使用显着性水平 0.01、0.05 或 0.10 来确定每个预测变量是否具有统计显着性。

零偏差和残余偏差

输出中的零偏差告诉我们仅具有原始项的模型可以如何很好地预测响应变量。

残差偏差告诉我们用p 个预测变量拟合的特定模型可以预测响应变量的效果如何。值越低,模型预测响应变量值的能力就越好。

为了确定模型是否“有用”,我们可以计算卡方统计量,如下所示:

X 2 = 零偏差 – 残余偏差

具有p 个自由度。

然后我们可以找到与该卡方统计量相关的 p 值。与仅包含原始项的模型相比,p 值越低,模型就越能拟合数据集。

例如,在我们的回归模型中,我们可以在输出中观察到以下零偏差和残差值:

  • 零偏差:43.23,df = 31
  • 残余偏差:16.713,df = 29

我们可以使用这些值来计算模型的 X 2统计量:

  • X 2 = 零偏差 – 残余偏差
  • X2 = 43.23 – 16.713
  • X2 = 26,517

预测变量有p = 2 个自由度。

我们可以使用卡方到 P 值计算器发现具有 2 个自由度的 X 2值 26.517 的 p 值为 0.000002。

由于该 p 值远低于 0.05,因此我们可以得出结论,该模型非常有用。

航空工业协会

赤池信息准则 ( AIC ) 是一种用于比较不同回归模型拟合程度的度量。值越低,回归模型对数据的拟合效果越好。

计算方法如下:

AIC = 2K – 2 ln (L)

金子:

  • K:模型参数的数量。
  • ln (L) :模型的对数似然。这告诉我们模型基于数据的可能性有多大。

AIC的实际价值没有意义。

但是,如果拟合多个回归模型,则可以比较每个模型的 AIC 值。 AIC 最低的模型提供最佳拟合。

相关:什么是好的 AIC 值?

其他资源

以下教程提供了有关如何在 R 中使用glm()函数的更多信息:

R中glm和lm的区别
如何在 R 中使用 glm 的预测函数

以下教程解释了如何处理使用glm()函数时的常见错误:

如何处理 R 警告:glm.fit:算法未收敛
如何处理:glm.fit:数值调整概率为0或1发生

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注