Como escolher entre o RMSE e o RMSLE?

Existem 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