[R] Question about regression without an intercept

John Fox jfox at mcmaster.ca
Sat Dec 27 14:39:12 CET 2008


Dear Ajay,

The reason isn't mysterious: the fitted values from both models are linear
functions of x (without error), and hence are perfectly correlated with each
other and have the same correlation with anything else -- including y --
that x does. Try plotting fitted(m1) vs. fitted(m2).

Regards,
 John

------------------------------
John Fox, Professor
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
web: socserv.mcmaster.ca/jfox

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On
> Behalf Of Ajay Shah
> Sent: December-26-08 11:09 AM
> To: r-help
> Subject: [R] Question about regression without an intercept
> 
> Consider this code fragment:
> 
>
---------------------------------------------------------------------------
>   set.seed(42)
> 
>   x <- runif(20)
>   y <- 2 + 3*x + rnorm(20)
> 
>   m1 <- lm(y ~ x)
>   m2 <- lm(y ~ -1 + x)
> 
>   summary(m1)
>   summary(m2)
> 
>   cor(y, fitted.values(m1))^2
>   cor(y, fitted.values(m2))^2
>
---------------------------------------------------------------------------
> 
> m1 is the true model and all is well. m2 is a false model, the
> intercept is truly 2 but it's been omitted.
> 
> The R2 for m1 shows as 0.4953 while for m2 it shows 0.8983.
> 
> I am aware that there are difficulties with standard formulas for R2
> when there is no intercept. So the fact that the R2 of m2 is much
> higher (even though it's a wrong model) probably flows from that.
> 
> What surprised me was that both correlations (between y and the
> fitted values of either m1 or m2) are identical. I am unable to
> understand how this could be. The estimated coefficient of x is quite
> different between the two cases.
> 
> There must be an interesting theoretical angle to this. I would
> greatly appreciate some help in understanding this, and (more
> generally) in interpreting the R2 of regressions where the intercept
> is absent.
> 
> --
> Ajay Shah
http://www.mayin.org/ajayshah
> ajayshah at mayin.org
> http://ajayshahblog.blogspot.com
> <*(:-? - wizard who doesn't know the answer.
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list