最近在重复一篇文章的做法的时候发现多元回归方程是否包含常数项对回归方程影响很大,不太理解,于是到处寻找资料终于发现了原因。
回归不包含常数项实际上就是强制通过原点,使得常数项为0。一般的情况下,实际数据得到的回归直线一般都有一个通过Y轴的截距,即常数项。如果强制它为0,实际上就是使得直线在Y轴的截距为0,这样做很大程度上影响了斜率。
强制通过原点的直接后果就是R-square增大,残差也增大。而这两个量是用来度量回归效果的,前者越大则回归方程越好,而后者越小越好。
见下面的链接:
http://www.ats.ucla.edu/stat/mult_pkg/faq/general/noconstant.htm
回归的时候我们到底用不用常数项呢?我觉得应该根据问题而定。一般的情况都应该包含常数项,如果包含常数项不符合问题的需要,则不包含常数项为好。不知道这样是否合理。
PS:忘记说了如何在R中做不包含常数项的回归。R中的lm()函数是默认包含常数项的,可以通过加0或者减1来实现,如下所示:
model <- lm(Y~0+x)
model <- lm(Y~x-1)
https://blog.sciencenet.cn/blog-54276-272386.html
上一篇:
perl中如何调用R语言下一篇:
Linux中的alias命令