在线性模型中删除截距后显着的值变化

时间:2017-10-05 10:19:11

标签: r regression linear-regression linear

我已经使用拦截实现了线性回归,没有拦截:

@Inject
public MyAddon(IEclipseContext context, IEventBroker eventBroker)
{
  eventBroker.subscribe("MY_TOPIC", ContextInjectionFactory.make(OpenItemEditorHandler2.class, context));
}

通过截距,我得到TotalReview ~ Number_of_files + LOC 变量显着的下面的输出:

Number_of_files

没有拦截,我会得到一个非常不同的输出,Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -5.279e+02 1.114e+02 -4.740 0.00515 ** LOC 7.045e-04 2.260e-03 0.312 0.76778 Number_of_files 1.929e+00 6.026e-01 3.202 0.02395 * 突然显着:

LOC

为什么在删除拦截后,我的变量的重要性从Coefficients: Estimate Std. Error t value Pr(>|t|) Number_of_files -0.760434 0.433852 -1.753 0.1302 LOC 0.008528 0.003302 2.582 0.0416 * 变为Number_of_files

1 个答案:

答案 0 :(得分:4)

直观地说,回归的作用是以最好的方式拟合一条线"通过云数据点。回归输出中的系数是此线的斜率。如果斜率(系数)为零,那么(根据回归逻辑)因变量y和自变量x之间没有关系,即系数无关紧要。

当您决定从拟合线移除截距时,线的斜率将发生变化,以尝试仍然适合穿过数据点云的最佳线。您所看到的正是:LOCNumber_of_files的系数发生了巨大变化。

在下图中,您可以看到只有一个自变量(例如,只有LOC)的情况下的影响。如您所见,蓝线的斜率(无截距)比红线的斜率(截距)更陡峭。

enter image description here

最后一点,除非你有充分的理由说明为什么你的模型不应该包含截距,你应该保持截距。