я должен проверить относительную ошибку или относительную ошибку в процентах? - PullRequest
0 голосов
/ 05 мая 2020

Я оптимизировал функцию exponential exp. Я проверяю свой вывод на соответствие стандартным математическим функциям exp.

Res_opt и Res_std - это два выхода, которые у меня есть.

Сначала я проверил с абсолютной ошибкой:

Abs_error = abs(Res_opt - Res_std )

Я положил MAX_DEV = 0.500000 (УЧИТЫВАЯ МОЙ АЛГОРИТМ)

и проверив:

  if(Abs_error > MAX_DEV){
     printf("Error message").
     return 0;
   }

В некоторых случаях это Abs_error оказывается больше 0.50000 значение, и мой тестовый пример терпит неудачу (но я чувствовал, что для этого ввода полученный результат в порядке, поскольку это угловой случай).

Поэтому я решил проверить относительную ошибку.

Но мой запрос: должен ли я проверять относительную ошибку или относительную ошибку в процентах с помощью ниже logi c -

ACC_BAND = 0.400000000000000;
double min_acc_range = 1 - ACC_BAND;
double max_acc_range = 1 + ACC_BAND;

Relative_error =   abs(Res_opt - Res_std)/Res_std ;

if ((Relative_error < min_acc_range) || (Relative_error > max_acc_range)) {
 printf("Error message");
}

OR

Percentage_Relative_error =   1 - (abs(Res_opt - Res_std)/Res_std)*100 ;

if ((Percentage_Relative_error < min_acc_range) || (Percentage_Relative_error > max_acc_range)) {
 printf("Error message");
}

1 Ответ

2 голосов
/ 05 мая 2020

Вы не ошиблись в измерениях ... все дело в точности. Здесь вы используете Absolute Error . Но вы можете использовать относительную погрешность в процентах или относительную погрешность .

относительная погрешность в процентах является мерой относительной ошибки . в процентах. Их конечная точность будет одинаковой в среднем случае.

Но передовая практика зависит от вашего предела значения.

В случае небольшого значения, относительная ошибка в процентах хороша, потому что 1,0 и 2,0 не около того места, где ваше верхнее предельное значение составляет 10,0 .

В случае большего значения относительная ошибка должна быть лучше, где 10000007 и 10000008 около.

Таким образом, вы можете решить, в зависимости от вашего предела значения.

...