MSLE(平均二乗対数誤差)とは?計算式とMSE・MAEとの違いを解説

MSLE(平均二乗対数誤差)とは?計算式とMSE・MAEとの違いを解説

AIの初心者

「MSLE」(平均二乗対数誤差)って、どんなときに使う指標なんですか?MSEとの違いもよくわかりません。

AI専門家

MSLEは、予測値と実際の値を対数に変換してから誤差を測る回帰の評価指標だよ。金額や売上のように、値そのものの差よりも「何倍ずれたか」を見たいときに役立つんだ。

AIの初心者

「何倍ずれたか」を見る、というのはどういう意味ですか?

AI専門家

例えば、100円を110円と予測した場合も、1000円を1100円と予測した場合も、どちらも1.1倍のずれだよね。MSLEはこのような比率のずれを重視するから、規模の違うデータを比較しやすいんだ。

MSLEとは。

MSLE(Mean Squared Logarithmic Error、日本語では平均二乗対数誤差)は、機械学習の回帰モデルで使われる評価指標の一つです。予測値と実測値をそのまま比べるのではなく、対数に変換してから差を二乗し、その平均を取ります。

平均二乗対数誤差(MSLE)とは

MSLEが予測値と実測値の比率のずれを評価する様子

平均二乗対数誤差(MSLE)は、予測値と実測値の相対的なずれを評価しやすい回帰指標です。MSEのように実際の差をそのまま二乗するのではなく、対数を取った後の差を二乗するため、大きな値の誤差が過度に目立ちにくくなります。

たとえば、商品の売上、住宅価格、需要量、アクセス数のようなデータでは、値の範囲が大きく広がることがあります。10から20への予測ミスと、1000から1010への予測ミスでは、差の大きさだけを見ると後者も10の誤差ですが、前者は2倍のずれ、後者は約1%のずれです。MSLEは、このような比率の違いを評価に反映しやすい指標です。

MSLEの値は小さいほど、予測値と実測値が近いことを意味します。完全に一致すれば0になります。ただし、対数を使うため、基本的には売上や価格のような非負の値を扱うタスクに向いています。

項目 説明
名称 MSLE(平均二乗対数誤差)
用途 機械学習の回帰モデルの評価
重視するもの 実測値と予測値の比率に近いずれ
向いているデータ 売上、需要、価格、アクセス数などの非負の値
注意点 負の値にはそのまま使えず、目的によってはMSEやMAEとの併用が必要

MSLEの計算式と手順

MSLEの計算手順を段階的に示した図

MSLEは、一般に次の式で表されます。

\(\displaystyle MSLE = \frac{1}{n}\sum_{i=1}^{n}\left(\log(1+y_i)-\log(1+\hat{y}_i)\right)^2\)

ここで、\(n\) はデータ数、\(y_i\) は実測値、\(\hat{y}_i\) は予測値を表します。\(\log(1+y_i)\) や \(\log(1+\hat{y}_i)\) のように1を足してから対数を取るのは、値が0の場合でも計算できるようにするためです。

計算の流れは、まず各データについて実測値と予測値に1を足し、それぞれの対数を求めます。次に、その差を計算して二乗します。最後に、すべてのデータの二乗誤差を合計し、データ数で割るとMSLEになります。

対数の差は、実測値から予測値を引いても、予測値から実測値を引いても、二乗するため最終的な値は同じです。実装や説明では表記が異なることがありますが、同じ定義で一貫して計算することが大切です。

MSLEが比率のずれを重視する理由

MSLEの特徴を理解するには、絶対的な差と相対的な差を分けて考えるとわかりやすくなります。100を110と予測した場合、差は10です。1000を1100と予測した場合、差は100です。MSEやMAEでは、後者のほうが大きな誤差として扱われます。

しかし、どちらも実測値の1.1倍を予測しているという意味では、比率のずれは同じです。MSLEでは対数変換によってこの比率の違いを反映しやすくなるため、規模が異なるデータを同じ土俵で評価しやすくなります。

また、対数は大きな値を圧縮する性質があります。極端に大きな売上やアクセス数が含まれるデータでは、通常の二乗誤差を使うと一部の大きな値に評価が引っ張られることがあります。MSLEを使うと、その影響を和らげながらモデル全体の傾向を確認しやすくなります。

MSE・MAE・RMSLEとの違い

MSEとMAEとMSLEの違いを比較した図

MSE(平均二乗誤差)とMAE(平均絶対誤差)は、どちらも予測値と実測値の差を直接見ます。MSEは差を二乗するため大きな誤差を強く罰し、MAEは差の絶対値を平均するため、誤差の大きさを直感的に把握しやすい指標です。

一方、MSLEは差をそのまま見るのではなく、対数変換後の差を使います。そのため、実数として何単位ずれたかよりも、何倍程度ずれたかを重視したい場面に向いています。価格帯や売上規模が大きく異なるデータをまとめて扱う場合に、特に違いが出やすくなります。

RMSLE(Root Mean Squared Logarithmic Error)は、MSLEの平方根を取った指標です。関係は次のように表せます。

\(\displaystyle RMSLE = \sqrt{MSLE}\)

MSLEとRMSLEは似ていますが、数値のスケールが異なります。ライブラリやコンペティションではRMSLEが評価指標として指定されることもあるため、MSLEなのかRMSLEなのかを確認してから比較する必要があります。

指標 見ている誤差 向いている場面
MSE 差を二乗した大きさ 大きな誤差を強く避けたい場合
MAE 差の絶対値 誤差を元の単位で直感的に見たい場合
MSLE 対数変換後の差の二乗 比率のずれや規模差を重視したい場合
RMSLE MSLEの平方根 MSLEよりスケールを戻して比較したい場合

MSLEが向いている予測タスク

MSLEが使われる売上予測や需要予測などの例

MSLEは、予測対象が0以上で、値の規模に大きな差があり、相対的なずれを重視したいタスクに向いています。代表例は、売上予測、需要予測、住宅価格予測、Webサイトのアクセス数予測などです。

売上予測では、商品ごとの販売規模が大きく異なることがあります。大量に売れる商品と少量だけ売れる商品を同じモデルで扱う場合、絶対的な差だけを見ると大規模商品の誤差ばかりが目立ちます。MSLEを使うと、小規模商品の予測比率のずれも評価に反映しやすくなります。

需要予測や在庫計画でも、比率のずれは重要です。10個売れる商品を20個と予測するのと、1000個売れる商品を1010個と予測するのでは、同じ「10個の差」でも業務上の意味が違います。MSLEは、この違いを指標に反映しやすいため、在庫や仕入れの判断に使うモデルの評価で役立つことがあります。

ただし、金融やアクセス数のようなデータでも、指標だけで良し悪しを判断するのは危険です。株価予測やアクセス数予測では、予測誤差の方向、最大損失、ピーク時の外し方など、MSLEだけでは見えない観点もあります。実務では、MAEやMAPE、業務上の損失関数などと併せて確認すると判断しやすくなります。

MSLEを使うときの注意点

MSLEを使う前に確認すべき注意点

MSLEは便利な指標ですが、すべての回帰問題に適しているわけではありません。まず、対数を使うため、負の値をそのまま扱うことはできません。気温や利益のようにマイナスになる可能性があるデータでは、MSLEを使う前に指標の妥当性を慎重に確認する必要があります。

また、一般的な実装では \(\log(1+x)\) を使うため、0は扱えることが多い一方で、負の予測値が出るモデルでは計算が壊れる可能性があります。売上や個数を予測する場合でも、モデルの出力が負にならないようにする、または負の値をどう処理するかを事前に決めることが重要です。

もう一つの注意点は、MSLEが誤差の方向によって実務上の影響を十分に表せるとは限らないことです。在庫管理では、需要を少なく見積もると欠品につながり、多く見積もると過剰在庫につながります。どちらがより深刻かは業務によって異なるため、MSLEの値が低いモデルが必ず最適な意思決定につながるとは限りません

そのため、学習やモデル比較ではMSLEを使いつつ、最終判断ではMAE、RMSE、予測誤差の分布、重要な区間での外し方も確認するとよいでしょう。指標はモデルを選ぶための道具であり、目的に合っているかを確認して使うことが大切です。

まとめ

MSLE(平均二乗対数誤差)は、機械学習の回帰モデルで使われる評価指標で、予測値と実測値の比率に近いずれを見たいときに役立ちます。対数変換によって大きな値の影響を抑えやすく、売上、需要、価格、アクセス数のような非負で規模差の大きいデータに向いています。

一方で、負の値にはそのまま使えず、予測誤差の方向や業務上の損失を十分に表せない場合もあります。MSE、MAE、RMSLEなどとの違いを理解し、予測対象の性質と評価したい観点に合わせて選ぶことが重要です。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年5月23日 式の読み方と指標比較を補い、用途判断の観点を追記