One of the most common metrics used to measure the forecast accuracy of a model is MSE, which stands for mean squared error.
It is calculated as:
MSE = (1/n) * Σ(actual – forecast)2
- Σ – a fancy symbol that means “sum”
- n – sample size
- actual – the actual data value
- forecast – the forecasted data value
The lower the value for MSE, the better a model is able to forecast values accurately.
To calculate MSE in MATLAB, we can use the mse(X, Y) function.
The following example shows how to use this function in practice.
Example: How to Calculate MSE in MATLAB
Suppose we have the following two arrays in MATLAB that show the actual values and the forecasted values for some model:
%create array of actual values and array of predicted values actual = [34 37 44 47 48 48 46 43 32 27 26 24]; predicted = [37 40 46 44 46 50 45 44 34 30 22 23];
We can use the mse(X, Y) function to calculate the mean squared error (MSE) between the two arrays:
%calculate MSE between actual values and predicted values mse(actual, predicted) ans = 5.9167
The mean squared error (MSE) of this model turns out to be 5.917.
We interpret this to mean that the average squared difference between the predicted values and the actual values is 5.917.
We can compare this value to the MSE produced by other models to determine which model is “best.”
The model with the lowest MSE is the model that is best able to predict the actual values of the dataset.
The following tutorials explain how to calculate mean squared error using other statistical software: