RMSLE入門とは?意味・計算式・RMSEとの違いをわかりやすく解説

AIの初心者
「RMSLE」って、どんな誤差を表す指標なんですか?

AI専門家
RMSLEは、機械学習の回帰モデルで予測のずれを測る評価指標の一つだよ。特に、実際の値と予測値の「差」よりも「比率のずれ」を見たいときに使われるんだ。

AIの初心者
普通の誤差と何が違うんですか?どんな場面で使えばよいのでしょうか?

AI専門家
たとえば実測値10を20、実測値1000を2000と予測した場合、絶対的な差は大きく違うけれど、どちらも2倍のずれだよね。RMSLEはこのような比率のずれを重視するから、売上やアクセス数のように値の規模が大きく変わるデータで役立つんだ。
RMSLEは「Root Mean Squared Logarithmic Error」の略で、日本語では平均二乗対数誤差と呼ばれます。機械学習では、売上数、価格、アクセス数、需要量のような正の値を予測する回帰問題でよく登場する評価指標です。
この記事では、RMSLEとは何か、計算式の読み方、RMSEやMAEとの違い、使うべき場面と注意点を初心者向けに整理します。
RMSLEとは?平均二乗対数誤差の基本

RMSLEは、予測値と実測値をそのまま比べるのではなく、対数を取ってから差を計算します。対数を使うことで、値の差そのものよりも、何倍ずれているかという比率の違いを見やすくなります。
たとえば、実測値10を20と予測した場合と、実測値1000を2000と予測した場合を考えます。差だけを見ると前者は10、後者は1000なので大きく違います。しかし、どちらも実測値の2倍に予測しているという意味では、比率のずれは同じです。RMSLEは、このような「倍率としてのずれ」を評価したいときに向いています。
そのため、RMSLEの値が小さいほど、予測値と実測値の比率が近く、モデルの予測が目的に合っていると判断しやすくなります。ただし、RMSLEだけで良し悪しを決めるのではなく、予測したい対象の性質と合わせて読むことが大切です。
RMSLEの計算式と手順
RMSLEの代表的な式は次のように表されます。
\(\mathrm{RMSLE}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}\left(\log(1+\hat{y_i})-\log(1+y_i)\right)^2}
\)
ここで、\(n\) はデータ数、\(y_i\) は実測値、\(\hat{y_i}\) は予測値を表します。\(\log\) は対数です。実務やコンペティションでは、0を含むデータでも扱いやすくするために \(\log(1+y)\) のように1を足してから対数を取る形がよく使われます。

計算の流れは、次のように考えると理解しやすくなります。
| 手順 | 内容 |
|---|---|
| 1 | 実測値と予測値に1を足し、それぞれ対数を取る |
| 2 | 対数を取った予測値と実測値の差を求める |
| 3 | 差を二乗して、正負の打ち消しを防ぐ |
| 4 | 全データの二乗誤差を平均する |
| 5 | 平方根を取り、最終的なRMSLEを得る |
二乗するのは、プラス方向の誤差とマイナス方向の誤差が打ち消し合わないようにするためです。平方根を取るのは、二乗された値を扱いやすい尺度へ戻すためです。基本的な発想はRMSEと似ていますが、RMSLEでは差を取る前に対数変換を行う点が大きく異なります。
なぜ対数を使うのか
対数を使う最大の理由は、値の大きさそのものではなく、比率の違いを見たいからです。対数には、掛け算の関係を足し算の差として扱いやすくする性質があります。つまり、2倍、3倍といった倍率のずれを、評価指標の中で比較しやすくできます。
売上予測を例にすると、10個売れる商品を20個と予測した場合と、1000個売れる商品を2000個と予測した場合は、どちらも2倍の過大予測です。RMSEのような絶対誤差を重視する指標では後者の影響が圧倒的に大きくなりますが、RMSLEでは比率として似た誤差として扱いやすくなります。
一方で、この性質は常に良いとは限りません。金額差そのもの、在庫数の不足量、損失額など、絶対的な差が重要な問題では、対数変換によって大きな値の誤差が軽く見えることがあります。
RMSEやMAEとの違い

RMSLEを理解するには、RMSEやMAEと比べると整理しやすくなります。RMSEは誤差を二乗して平均し、平方根を取る指標です。MAEは誤差の絶対値を平均する指標です。どちらも基本的には、実測値と予測値の差の大きさを見ます。
RMSLEは、差の大きさではなく、対数変換後の差を見ます。そのため、同じ10%のずれであれば、実測値が小さい場合でも大きい場合でも近い重みで評価されます。
| 指標 | 重視するもの | 向いている場面 |
|---|---|---|
| MAE | 誤差の絶対値の平均 | 外れ値の影響を抑えつつ、平均的なずれを見たい場合 |
| RMSE | 大きな絶対誤差 | 大きなミスを強く罰したい場合 |
| RMSLE | 比率としてのずれ | 値の桁が広く、相対的な誤差を見たい場合 |
たとえば、10を9、100を90と予測した場合、どちらも10%の過小予測です。RMSEでは後者の誤差10が前者の誤差1より大きく評価されますが、RMSLEでは比率の近さに注目するため、より似た性質の誤差として扱えます。
RMSLEが向いているケース

RMSLEは、予測対象が0以上または正の値で、値の範囲が広い回帰問題に向いています。代表例は、ECサイトの商品売上予測、Webサイトのアクセス数予測、不動産価格の予測、需要予測などです。
これらのデータでは、少数しか売れない商品と大量に売れる商品が同じデータセットに含まれることがあります。絶対誤差だけを見ると、大きな値を持つデータの影響が強くなり、小さな値の予測精度が見えにくくなります。RMSLEを使うと、規模の違いをある程度ならして、比率としてどれくらい外れているかを確認できます。
また、極端に大きな値が混ざるデータでも、対数変換によって影響が緩和されます。完全に外れ値の問題が消えるわけではありませんが、RMSEよりも安定してモデルを比較できる場面があります。
RMSLEを使うときの注意点

RMSLEは便利な指標ですが、使う前に確認すべき条件があります。まず、対数は0以下の値に対してそのまま計算できません。そのため、負の値を含むデータにはRMSLEは基本的に向きません。0を含む場合は \(\log(1+y)\) の形にするなど、実装上の定義を確認する必要があります。
次に、RMSLEは小さい値の誤差を重く見やすい性質があります。たとえば実測値1を2と予測するのは2倍のずれですが、実測値100を101と予測するのは1%程度のずれです。どちらも差は1ですが、RMSLEでは前者の影響が大きくなります。
さらに、RMSLEは過大予測と過小予測を完全に同じ感覚で扱うとは限りません。特に \(\log(1+y)\) を使う実装では、同じ絶対差でも値の位置によって影響が変わります。実務では、欠品を避けたいのか、過剰在庫を避けたいのかといった業務上の目的も合わせて指標を選ぶ必要があります。
| 注意点 | 確認すること |
|---|---|
| 0や負の値 | 対数を取れる定義になっているか、前処理が妥当か |
| 小さい値の誤差 | 小規模データのずれを重く評価してよい問題か |
| 大きな値の絶対誤差 | 金額差や数量差そのものを軽く見すぎていないか |
| 単独評価 | RMSE、MAE、決定係数などと併用して判断しているか |
実務で評価指標を選ぶときの考え方
評価指標を選ぶときは、まず「何を良い予測とみなすのか」を決めます。10万円の誤差と1000万円の誤差を同じようには扱えない不動産価格のような問題では、RMSEやMAEも重要です。一方、商品の規模にかかわらず予測倍率のずれを見たい需要予測では、RMSLEが役立つことがあります。
実務では、RMSLEを最終的なランキング指標として使いながら、MAEで平均的な数量差を確認し、RMSEで大きな外れを確認する、といった併用が現実的です。1つの指標だけを見ると、モデルの癖を見落とす可能性があります。
また、モデル改善の段階では、RMSLEが悪化しているデータを個別に確認することも大切です。どの価格帯、どの商品群、どのアクセス規模で誤差が出ているのかを見ることで、特徴量の不足やデータ分布の偏りに気づきやすくなります。
まとめ
RMSLEは、予測値と実測値の対数差を使って、比率としての誤差を評価する指標です。売上、アクセス数、価格、需要量のように、正の値で範囲が広いデータを扱う回帰問題で特に役立ちます。
RMSEやMAEが絶対的な差を見やすいのに対し、RMSLEは「何倍ずれているか」を見やすい指標です。そのため、大きな値のデータだけに評価が引っ張られにくく、小さな値の予測精度も確認しやすくなります。
ただし、0以下の値にはそのまま使えず、小さい値の誤差を重く扱う点にも注意が必要です。RMSLEは万能な評価指標ではありません。データの性質と予測の目的を確認し、必要に応じてRMSEやMAEと組み合わせて使うことで、モデルの性能をより立体的に判断できます。
更新履歴
| 日付 | 内容 |
|---|---|
| 2025年2月1日 | 初回公開 |
| 2026年5月19日 | 式の読み方、指標比較、利用時の判断材料を補強 |
