def mean_squared_error_implementation(y_true, y_pred):
    """Calculate MSE

    Arguments:
        y_true {list} -- real numbers, true values
        y_pred {list} -- real numbers, predicted values
    """
    # intialize error at 0
    error_ = 0
    # loop over all samples in the true and predicted list
    for yt, yp in zip(y_true, y_pred):
        # calculate the absolute error and add to the error value
        error_ += (yt - yp) ** 2

    # return MAE
    return error_ / len(y_true)