Mean Squared Deviation (MSD) often is synonymic with Mean Squared Error (MSE). MSD can be used to compare our estimated values and observed values in a model.

For MSD, there are two possible situations, unbiased MSD and biased MSD. Both of them are correct. The following are the formulas of MSD.

**Method 1: Unbiased MSD**

\[ MSD =\frac{SSR}{n-p-1}=\frac{\sum_{i=1}^{n} (\hat{y_i}-y_i)^2 }{n-p-1}\]

**Method 2: biased MSD**

\[ MSD =\frac{SSR}{n}=\frac{\sum_{i=1}^{n} (\hat{y_i}-y_i)^2 }{n}\]

## Why and when distinguish biased and unbiased MSD?

** n-p-1** is the degree of freedom of the model.

*is the biased, whereas*

**n****is unbiased (see the discussions on Stack Exchange here and here).**

*n-p-1*When ** n** is large, unbiased MSD and biased MSD will generate very similar results. You can use either either one, and just need to report to your readers which one you use.

** p** stands for the numbers of parameters you estimate in the model (excluding intercept). If you do not estimate any parameter,

**will be zero.**

*p*## How to Calculate MSD in R

R can be used to calculate MSD. The following is the core syntax for both biased MSD and unbiased MSD.

**Method 1: Unbiased MSD**

**sum(residuals(fit)^2)**/**fit$df.residual**

**Method 2: biased MSD**

**mean(residuals(fit)^2)**

The following are 2 examples showing how to calculate unbiased and biased MSD respectively for linear regression models in R.

## Example 1: **Unbiased MSD**

`mtcarts`

is a built-in sample dataset in R. We can have a linear regression model of mpg as the `DV`

and hp as the `IV`

. We can use `lm()`

to estimate the regression coefficients.

After getting the `fit`

, we use the `sum(residuals(fit)^2)/fit$df.residual`

to calculate unbiased MSD.

```
# use lm() to estimate regression coefficinets
fit <- lm(mpg~hp, data=mtcars)
# calculate unbiased Mean Squared Deviation(MSD)
sum(residuals(fit)^2)/fit$df.residual
```

Output:

[1] 14.92248

Thus, the unbiased Mean Squared Deviation(MSD) for the regression model is 14.92.

## Example 2: **biased MSD**

After getting the `fit`

, we use the `mean(residuals(fit)^2)`

to calculate biased MSD.

```
# use lm() to estimate regression coefficinets
fit <- lm(mpg~hp, data=mtcars)
# calculate biased Mean Squared Deviation(MSD)
mean(residuals(fit)^2)
```

Output:

13.98982

Thus, the biased Mean Squared Deviation(MSD) for the regression model is 13.99.