【发布时间】:2019-04-19 05:49:37
【问题描述】:
当我对汽车数据集运行逻辑回归时:
carlogistic.fit4 <- glm(as.factor(Mpg01) ~ Weight+Year+Origin, data=carslogic, family="binomial")
summary(carlogistic.fit4)
我得到以下输出: 称呼: glm(formula = as.factor(Mpg01) ~ Weight + Year + Origin, family = "binomial", 数据=汽车逻辑)
偏差残差:
最小值 1Q 中值 3Q 最大值
-2.29189 -0.10014 -0.00078 0.19699 2.60606
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.697e+01 5.226e+00 -5.161 2.45e-07 ***
Weight -6.006e-03 7.763e-04 -7.737 1.02e-14 ***
Year 5.677e-01 8.440e-02 6.726 1.75e-11 ***
OriginGerman 1.256e+00 5.172e-01 2.428 0.0152 *
OriginJapanese 3.250e-01 5.462e-01 0.595 0.5519
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 549.79 on 396 degrees of freedom
Residual deviance: 151.06 on 392 degrees of freedom
AIC: 161.06
但是,如果您注意到日本原产汽车的 p 值大于 0.05,因此是微不足道的。我想从模型中删除它,但是,正如您在初始代码中看到的那样,列标题是 Origin。如何从模型中排除日本血统?
【问题讨论】:
-
我想我已经明确指定它的p值大于.05并且模型不是最优的。这就是为什么它需要被排除。我无法修改 csv 中的原始数据集。
-
这不是 R 中逐步回归的工作方式;术语经过测试,并按术语删除,
Origin是一个术语。 如果您想这样做(我不推荐),解决方法是显式构建数字模型矩阵(使用model.matrix()),这会将您的因子转换为两个数字虚拟变量;将模型矩阵中的变量用作单独的数字预测变量,然后您可以根据需要单独删除它们。如果你给出一个可重现的例子,有人可能会提供更多细节......
标签: r logistic-regression glm lm p-value