Почему вычисление mse шаг за шагом не дает того же решения, что и функция MSE? - PullRequest
0 голосов
/ 01 июня 2019

Я попытался вычислить значение mse для набора тестов вручную и с помощью функции MSE из пакета MLmetrics, но получил другие результаты.

Вот воспроизводимый пример:

ActualValuesExample <- c(1,1,3,3,2,5,1)
MSE(PredictionExample,ActualValuesExample)
Bias <- mean(PredictionExample-ActualValuesExample)
Variance <- mean((PredictionExample-ActualValuesExample)^2)
# MSE = Bias^2 + Variance
(Bias)^2 + Variance

0,4489796 - это результат вычисления вручную, а 0,4285714 - результат функции MSE.

Где моя ошибка, почему я не получаю такие же результаты?

1 Ответ

0 голосов
/ 02 июня 2019

Я не понимаю, почему вы добавляете (уклон) ^ 2 и дисперсию.MSE просто равно:

среднее ((PredictionExample-ActualValuesExample) ^ 2) по определению.Это переменная дисперсии в вашем примере.Более явно MSE является средним значением квадратичных ошибок.Здесь ошибка относится к (фактическая - прогнозируемая).Я попытался для искусственного набора значений и получить те же результаты.Ниже приведен код:

> ActualValuesExample <- c(1,1,3,3,2,5,1)
> PredictionExample <-   c(3,1,2,4,3,2,2)
> MSE(PredictionExample,ActualValuesExample) == mean((PredictionExample-ActualValuesExample)^2)
[1] TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...