Como escolher entre o RMSE e o RMSLE?
2020 Mar 22Existem inúmeros artigos descrevendo o RMSE e o RMSLE, mas aqui eu vou tentar ser o mais direto possível em relação ao que eu faço entre essas duas métricas.
Quando eu quero apenas ter a medida do erro em termos de viés e variância do modelo, sem considerar nenhum aspecto em relação às diferenças de magnitudes entre o que foi previsto (y_hat
) e o que era o esperado na base de validação (y
), eu uso o RMSE.
Exemplo: Uma previsão errada de {y=1, y_hat=2}
vai entrar na média quadrática da mesma forma que {y=1000000, y_hat=1000500}
; isso significa que a magnitude da segunda previsão não importa e que eu aceito que ela vai influenciar na média quadrática (no caso uma magnitude de 500x maior do que o primeiro erro).
Quando eu quero a mensuração do viés e da variância mas eu não quero penalizar erros que ocorram em magnitudes distintas, aí eu uso o RMSLE. Isto é, os erros são isolados dentro da mesma ordem de magnitude entre y_hat
e y
.
Usando o exemplo anterior, no caso de erro de {y=1000000, y_hat=1000500}
o termo logaritmo do RMSLE vai realizar o ajuste entre y_hat
e y
e calcular a diferença dentro da mesma magnitude antes do cálculo da média quadrática. Isso significa que, mesmo com uma ordem de magnitude muito maior do que nos erros anteriores, o logaritmo fará a suavização desses erros desses “grandes números” retirando a magnitude na media quadrática.
Como de costume, o código está abaixo:
https://gist.github.com/fclesio/1fc8ae544b55059a1eee9557901daee3