Я работаю в R, и я пытаюсь вычислить RMSLE для нескольких моделей OLS, чтобы сравнить их, и я хотел бы, чтобы недооценка была взвешена меньше, чем переоценка (или, другими словами, оштрафуйте больше, чем переоценку, а не недооценка).
RMSLE = sqrt((log(predicted_value + 1) - log(observed_value + 1))^2)
или
RMSLE = sqrt(log((predicted_value +1)/(observed_value + 1))^2)
Из-за квадратного члена в формуле, даже если я инвертирую предсказанное значение с наблюдаемым значением, RMSLE для одного наблюдения будет одинаковым.
Есть ли способ математически преобразовать эту функцию, чтобы изменить вес для заниженных и завышенных случаев? (в основном переворачивание функции стоимости по оси Y).