Relationship between β² and R² in regression? I always thought that, in linear regression, R² is a measure of the proportion of variance of the criterion explained by all the predictors.
As such, R² should always be equal to or larger than the sum of proportions of variance explained individually by predictors, obtained by squaring their standardized coefficients (Σβ²) - if all the predictors are perfectly uncorrelated, R² should be equal to Σβ² and if the predictors are correlated, R² > Σβ² since there exists variance that is shared between predictors.
However, upon closely examining one of my regression models, I noticed that this does not hold. I have 5 predictors with betas as follows: .36, .17, .17, .15, .63. R² = .53.
.36² + .17² + .17² + .15² + .63² = .61 > .53
I would really appreciate it if someone could explain to me how can it be that Σβ² > R².
 A: The claim is indeed wrong. Take e.g. the situation of two almost identical predictors $x$ and $z$. In this case, the second predictor $z$ won't add much to the R-squared although its coefficient is almost the same as the one from $x$.
There is, however, a funny formula that is not too well known and goes into the direction of what you are thinking about.
$$
R^2 = \sum \hat\beta_i\text{cor}(x_i, y)
$$
The regressors $x_i$ need to be scaled to standard deviation 1 (and the intercept is 0 and can be ignored). So it is actually not the square of the coefficients that counts but rather its product with the bivariate correlation to the response.
In the case of uncorrelated predictors, its will lead to the statement in your claim.
Demo in R
# Fit model on scaled x (standardisation of y is not required)
iris_scaled <- data.frame(scale(iris[1:4]))
fit <- lm(Sepal.Length ~ ., data = iris_scaled)

# Good old R-squared
(r_squared <- summary(fit)$r.squared) # 0.8586117

# Coefficients
(coefs <- coef(fit)[-1])
# Sepal.Width Petal.Length  Petal.Width 
#   0.3425789    1.5117505   -0.5122442 

# *Bivariate* correlation between y and regressors
(cor_bivariate <- cor(iris_scaled[1], model.matrix(fit)[, -1]))
#              Sepal.Width Petal.Length Petal.Width
# Sepal.Length  -0.1175698    0.8717538   0.8179411

# Their crossproduct
sum(coefs * cor_bivariate) # 0.8586117 yipiee

Everytime I remember this equation, my mood improves!
