The residual sum of squares (RSS) is a key metric used in statistical modeling to evaluate the fit of a model to a given dataset. The concept is particularly important in linear regression, where it measures the total squared deviations between the observed values and the values predicted by the model. Essentially, it quantifies how well the model explains the variability in the dependent variable.
In this in-depth article, we will cover the following topics:
- What is Residual Sum of Squares?
- Why is RSS Important?
- The Mathematical Formulation of RSS
- Calculating RSS in R
- Manual Calculation
- Using Built-in Functions
- Working with Multiple Linear Regression
- Applications and Limitations of RSS
- Conclusion
1. What is Residual Sum of Squares?
The residual sum of squares (RSS) is a statistical measure that represents the “fit” between a model and an observed data set. In other words, it quantifies the extent to which the data deviates from the fitted model. A lower RSS value generally indicates that the model fits the data better, whereas a higher RSS value suggests a poorer fit.
2. Why is RSS Important?
RSS serves multiple purposes:
- Model Evaluation: A low RSS indicates a good fit between the model and the data.
- Model Comparison: RSS can be used to compare the goodness-of-fit among different models.
- Assessment of Predictive Accuracy: In combination with other statistics like R2R2, RSS can give insights into the predictive performance of the model.
3. The Mathematical Formulation of RSS
In a simple linear regression model of the form y=mx+c, where m is the slope and c is the intercept, the residual for each data point i can be represented as:

Where yi is the observed value and y^i is the predicted value for ith data point.
The Residual Sum of Squares is then calculated as:

4. Calculating RSS in R
R is a powerful tool for statistical analysis and data visualization, and it offers multiple ways to calculate RSS.
4.1 Manual Calculation
You can compute the RSS manually using R’s basic arithmetic operations. Here is a simple example using a sample data set.
# Sample data
x <- c(1, 2, 3, 4, 5)
y <- c(1, 2.1, 2.9, 4.2, 5.1)
# Fit a linear model
fit <- lm(y ~ x)
# Get the predicted values
predictions <- predict(fit)
# Calculate residuals
residuals <- y - predictions
# Calculate RSS
RSS <- sum(residuals^2)
4.2 Using Built-in Functions
R provides built-in functions to retrieve the RSS directly from the model object.
# Using 'lm' object
RSS <- sum(fit$residuals^2)
# Using 'deviance' function
RSS <- deviance(fit)
5. Working with Multiple Linear Regression
In the case of multiple linear regression, where there are more than one independent variables, the calculation remains the same; you simply work with vectors and matrices of higher dimensions. The built-in lm()
function handles this seamlessly.
# Sample data for multiple regression
x1 <- c(1, 2, 3, 4, 5)
x2 <- c(5, 4, 3, 2, 1)
y <- c(1, 2.1, 2.9, 4.2, 5.1)
# Fit a multiple linear model
fit_multi <- lm(y ~ x1 + x2)
# Calculate RSS
RSS_multi <- sum(fit_multi$residuals^2)
6. Applications and Limitations of RSS
Applications
- Optimization: RSS is often used in optimization algorithms to find the best-fit parameters for a model.
- Feature Selection: RSS can be used in techniques like backward elimination to select the most important features.
Limitations
- Overfitting: A model with too many parameters may show a low RSS on the training data but may not generalize well to new data.
- Scale-Dependent: RSS is dependent on the scale of the dependent variable, which can sometimes make comparisons tricky.
7. Conclusion
The residual sum of squares is a powerful measure for assessing the goodness-of-fit of a statistical model to a dataset. R offers multiple ways to calculate RSS, both manually and using built-in functions. While RSS is a versatile metric, one should be cautious of its limitations such as its susceptibility to overfitting and scale-dependence.