Tout d'abord, nous devons comprendre ce que fait le Rlogiciel lorsqu'aucune interception n'est incluse dans le modèle. Rappelons que le calcul habituel de 
quand une interception est présente est
La première égalité n’est due qu’à l’inclusion de l’interception dans le modèle alors que c’est probablement la plus populaire des deux manières de l’écrire. La deuxième égalité fournit en fait l'interprétation plus générale! Ce point est également abordé dans cette question connexe .R 2 = Σ i ( y i - ˉ y ) 2R2
R2=∑i(y^i−y¯)2∑i(yi−y¯)2=1−∑i(yi−y^i)2∑i(yi−y¯)2.
Mais que se passe-t-il s'il n'y a pas d'interception dans le modèle? 
Eh bien, dans ce cas, R( silencieusement! ) Utilise la forme modifiée
R20=∑iy^2i∑iy2i=1−∑i(yi−y^i)2∑iy2i.
Il est utile de rappeler ce que essaie de mesurer. Dans le premier cas, il compare votre modèle actuel au modèle de référence 
qui inclut uniquement une interception (c.-à-d. Un terme constant). Dans le second cas, il n'y a pas d'interception, il est donc peu logique de le comparer à un tel modèle. Ainsi, à la place, est calculé, ce qui utilise implicitement un modèle de référence correspondant au bruit uniquement .R 2 0R2R20
Dans ce qui suit, je me concentre sur la deuxième expression pour et car cette expression se généralise à d'autres contextes et il est généralement plus naturel de penser aux choses en termes de résidus.R 2 0R2R20
Mais comment sont-ils différents et quand?
Faisons une brève digression dans une algèbre linéaire et voyons si nous pouvons comprendre ce qui se passe. Premièrement, appelons les valeurs ajustées du modèle avec intercept et les valeurs ajustées du modèle sans interception .  y^y~
Nous pouvons réécrire les expressions pour et sous la forme 
 
et
 
respectivement.R2R20
R2=1−∥y−y^∥22∥y−y¯1∥22,
R20=1−∥y−y~∥22∥y∥22,
Maintenant, puisque , alors si et seulement si
∥y∥22=∥y−y¯1∥22+ny¯2R20>R2
∥y−y~∥22∥y−y^∥22<1+y¯21n∥y−y¯1∥22.
Le côté gauche est supérieur à un puisque le modèle correspondant à est imbriqué dans celui de . Le deuxième terme à droite est la moyenne quadratique des réponses divisée par l'erreur quadratique moyenne d'un modèle avec interception uniquement. Ainsi, plus la moyenne de la réponse est grande par rapport à l’autre variation, plus nous avons de "jeu" et plus nous avons de chances de voir dominer .y~y^R20R2
Notez que tout le matériel dépendant du modèle est à gauche et que le matériel non dépendant du modèle est à droite. 
Ok, alors comment rend-on le ratio du côté gauche petit?
Rappelons que
 et où et sont des matrices de projection correspondant aux sous-espaces et tels que .y~=P0yy^=P1yP0P1S0S1S0⊂S1
Donc, pour que le rapport soit proche de un, il faut que les sous-espaces
 et soient très similaires. Maintenant, et ne diffèrent que par le fait que soit un vecteur de base ou non, cela signifie donc que 
doit être un sous-espace déjà très proche de .S0S1S0S11S01
En substance, cela signifie que notre prédicteur aurait mieux intérêt à avoir un fort décalage moyen lui-même et que ce décalage moyen devrait dominer la variation du prédicteur.
Un exemple
Ici, nous essayons de générer un exemple avec une interception explicitement dans le modèle et qui se comporte de manière similaire au cas de la question. Vous trouverez ci-dessous un Rcode simple à démontrer.
set.seed(.Random.seed[1])
n <- 220
a <- 0.5
b <- 0.5
se <- 0.25
# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)
int.lm   <- lm(y~x)
noint.lm <- lm(y~x+0)  # Intercept be gone!
# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)
Cela donne la sortie suivante. Nous commençons par le modèle avec intercept.
# Include an intercept!
> summary(int.lm)
Call:
lm(formula = y ~ x)
Residuals:
      Min        1Q    Median        3Q       Max
-0.656010 -0.161556 -0.005112  0.178008  0.621790
Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.48521    0.02990   16.23   <2e-16 ***
x            0.54239    0.04929   11.00   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571,     Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF,  p-value: < 2.2e-16
Ensuite, voyez ce qui se passe lorsque nous excluons l’interception.
# No intercept!
> summary(noint.lm)
Call:
lm(formula = y ~ x + 0)
Residuals:
     Min       1Q   Median       3Q      Max
-0.62108 -0.08006  0.16295  0.38258  1.02485
Coefficients:
  Estimate Std. Error t value Pr(>|t|)
x  1.20712    0.04066   29.69   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801,      Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF,  p-value: < 2.2e-16
Vous trouverez ci-dessous un graphique des données avec le modèle avec interception en rouge et le modèle sans interception en bleu.
