Как математически инвертировать «Root Mean Squared Log Error (RMSLE)», чтобы придать больше веса переоценке, чем недооценке? - PullRequest
0 голосов
/ 24 апреля 2020

Я работаю в 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).

...