平均絶対誤差(MAE)とは、予測値と実測値の差の絶対値を平均した、回帰モデルの代表的な評価指標です。予測が平均してどれだけ外れているかを、目的変数と同じ単位で表せるため、現場の人にも説明しやすい特徴があります。たとえば売上を予測するモデルのMAEが「8,000円」なら、評価データ上で予測と実績の差が平均して8,000円程度だった、と読めます。
一方、MAEはすべての誤差を同じ重みで扱うため、大きな外れ値を強く問題視したい業務ではRMSEなど別の指標も必要です。本記事では、平均絶対誤差の定義と計算方法、RMSE・平均絶対パーセント誤差(MAPE)との違い、実務での使い分け、評価時の注意点を整理します。数値を小さくすることだけを目標にせず、予測の用途に合う指標として使えるようにすることが目的です。
平均絶対誤差(MAE)とは?予測の外れ幅を同じ単位で示す指標
平均絶対誤差は、英語のMean Absolute Errorを略してMAEと呼ばれます。各データについて「予測値−実測値」を計算し、その絶対値を足し合わせてデータ数で割ります。誤差の符号を消してから平均するため、予測が過大だった誤差と過小だった誤差が相殺されません。値が0に近いほど、平均的な予測の外れ幅が小さいことを意味します。
MAEの単位は目的変数と同じです。気温なら度、商品の需要なら個数、広告費なら円になります。この性質は「平均で何円ずれるか」「何件程度違うか」という意思決定に直結します。機械学習に詳しくない関係者とモデルを比較するときにも、二乗や平方根を含む指標より説明しやすいでしょう。
ただし、MAEが小さいモデルが必ずしも最良とは限りません。欠品を避けたい需要予測では過小予測をより重く扱う必要があり、異常な大外れを絶対に避けたい設備予測ではRMSEや最大誤差を併記する必要があります。指標はモデルの目的関数ではなく、業務上の損失を測るための物差しです。
平均絶対誤差の計算方法|誤差の絶対値を平均する
数式と具体例
実測値を y_i、予測値を ŷ_i、データ数を n とすると、MAEは次の式で表せます。
MAE = (1 / n) × Σ |y_i - ŷ_i|たとえば実測値が「10、20、30」、予測値が「12、17、25」なら、絶対誤差は「2、3、5」です。合計10を3件で割るため、MAEは約3.33になります。予測値の単位が万円なら、平均的に約3.33万円のずれです。誤差をそのまま平均すると「-2、3、5」の合計が6になり、過大予測と過小予測が打ち消されますが、MAEではその問題を避けられます。
MAEだけでは予測の方向は分からない
MAEは誤差の大きさを示しますが、予測が一貫して高いのか低いのかは示しません。方向の偏りを確認するには、符号を残した平均誤差(ME)や平均絶対誤差とあわせた残差分析を使います。店舗別、商品別、季節別にMAEを分けて集計すると、全体平均だけでは見えない過小予測の傾向を発見できます。
MAEとRMSE・MAPEの違い|外れ値と尺度をどう扱うか
RMSEとの違い|大きな誤差に強い重みを付けるか
RMSEは二乗平均平方根誤差です。誤差を二乗して平均し、最後に平方根を取るため、大きな誤差がMAEより強く影響します。通常の誤差が小さくても一部の大外れが大きな損失になる場合は、RMSEを重視する価値があります。反対に、外れ値がたまたま発生しただけで、通常時の平均的なずれを知りたいならMAEが直感に合います。
両者を同じデータで併記すると、誤差分布の特徴を推測できます。RMSEがMAEに近ければ誤差の大きさが比較的そろっている可能性があり、RMSEだけが大きければ一部の大きな外れを調べる必要があります。ただし、指標の比率だけで外れ値の原因を断定せず、実際の残差を確認してください。
MAPEとの違い|割合で比較するか
MAPEは絶対誤差を実測値で割って百分率にしたものの平均です。商品ごとの規模が異なる場合に「平均で何%ずれるか」と説明できますが、実測値が0または0に近いデータでは計算できない、あるいは値が不安定になる問題があります。また、小さな実測値の誤差を過度に大きく評価しやすい点にも注意が必要です。
中央値絶対誤差との違い
絶対誤差の中央値(MedAE)は、絶対誤差を小さい順に並べた中央の値です。極端な外れ値の影響をMAEより受けにくいため、「典型的な1件」のずれを見たい場合に役立ちます。平均的な業務コストを見積もるMAEと、典型例を把握するMedAEを使い分けると、誤差の分布を多面的に捉えられます。
平均絶対誤差を実務で使う場面|予測と意思決定をつなぐ
需要予測・在庫計画
小売や製造の需要予測では、MAEを商品の個数や重量に換算できます。全商品を一つのMAEで評価するだけでなく、販売量の多い商品、季節商品、欠品の影響が大きい商品に分けて確認します。平均誤差が同じでも、高単価商品を大きく外すモデルと低単価商品を少しずつ外すモデルでは、在庫費用が異なるためです。
売上・価格・工数の予測
売上や価格、作業時間の予測では、MAEを金額や時間に戻して説明できます。予測を人員配置に使うなら「平均で何時間のずれか」、見積もりに使うなら「平均で何円の差か」を示すことが重要です。モデル比較では、検証データの期間、対象範囲、欠損処理をそろえ、MAEの差が偶然でないかを複数期間で確認します。
ベースラインとの比較
機械学習モデルを評価する前に、直近値、全期間平均、季節別平均などの単純なベースラインを作ります。ベースラインのMAEが10で、新モデルが9.8なら、数値上は改善していても保守費用に見合わないかもしれません。改善率だけでなく、誤差が減った対象、推論コスト、更新頻度を含めて採用を判断します。
MAEでモデルを評価するときの手順と注意点
評価用データを学習から分離する
MAEを計算するデータを、モデルの学習や特徴量選択に使うと評価が楽観的になります。訓練、検証、最終テストの役割を分け、テストデータは最終確認まで触れないようにします。時系列なら未来のデータを過去の学習に混ぜず、同じ顧客や設備の記録が複数あるならグループ単位で分割します。
前処理と欠損値の扱いを固定する
外れ値の除去、欠損値補完、対数変換などを評価データ全体に対して先に行うと、テスト情報が学習側へ漏れる可能性があります。前処理は学習データだけで基準を決め、検証・テスト・本番には同じ変換を適用します。欠損を除外した場合は、除外件数と対象を記録し、モデル間で評価対象が変わっていないか確認してください。
全体平均だけで結論を出さない
全体のMAEは、データ数の多いグループの傾向に引っ張られます。地域、商品、顧客規模、予測 horizon、平日・休日などのセグメント別にMAEを算出し、業務上重要なグループを別に評価します。予測期間が長いほど誤差が増えるなら、1日後・7日後・30日後のように horizon 別の表を作ると、運用時の期待値を設定しやすくなります。
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_test, y_pred)
print(f"MAE: {mae:.2f}")上はscikit-learnでMAEを計算する最小例です。実務では、テストデータの作り方、予測時点、重み付け、欠損の扱いをコードと記録に残します。サンプルごとに重要度が異なる場合、sample_weight を使った重み付きMAEを検討できますが、重みの根拠を説明できるようにしてください。
平均絶対誤差の限界|MAEだけでは分からないこと
MAEは誤差の方向、大外れの頻度、分布の偏りを単独では表せません。平均が同じでも、毎回一定の誤差が出るモデルと、ほとんど正確だが一部で大きく外すモデルは別物です。残差のヒストグラム、分位点、最大誤差、予測区間の被覆率などを併記し、どのような失敗が起きるかを確認します。
また、目的変数の単位が違うモデル同士は、MAEの絶対値だけで比較できません。店舗Aの売上と店舗Bの売上の規模が異なるなら、MAEを平均売上で割るなど、相対的な指標を補助的に使います。ただし、相対化すると小さな分母の影響が強くなるため、MAPEの問題点も踏まえて指標を選びます。
平均絶対誤差まとめ|単位のある誤差を業務判断に使う
平均絶対誤差(MAE)は、予測値と実測値の絶対差を平均した指標です。目的変数と同じ単位で表せるため、平均的な外れ幅を現場へ伝えやすく、回帰モデルのベースライン比較にも向いています。過大予測と過小予測の相殺を防ぎながら、通常時の誤差を把握できます。
一方、大きな外れを強く罰したい場合はRMSE、割合で比較したい場合はMAPEや正規化したMAEなどを検討します。時系列やグループ分割、前処理の分離、セグメント別の確認を行い、MAEの数値だけでモデルを採用しないことが大切です。単純なベースラインと同じ評価条件で比較し、改善幅が業務価値と運用コストに見合うかを判断してください。
よくある質問(FAQ)
Q. 平均絶対誤差(MAE)とは何ですか?
MAEとは、予測値と実測値の絶対差を平均した回帰モデルの評価指標です。目的変数と同じ単位で平均的な外れ幅を示します。
Q. MAEとRMSEはどう使い分けますか?
通常の平均的なずれを知りたいときはMAE、大きな外れを強く問題視するときはRMSEが向いています。両方を併記すると誤差分布を確認できます。
Q. MAEは実測値が0のデータでも使えますか?
使えます。MAEは実測値で割らないため、0を含む目的変数でも計算できます。割合で評価するMAPEは0付近で不安定になるため、MAEなどを併用します。
Q. MAEはどのくらい小さければ良いですか?
一律の基準はありません。目的変数の単位、業務で許容できる誤差、単純なベースラインのMAEと比較し、改善幅と運用コストを含めて判断します。
Q. 重要なデータを重く評価できますか?
できます。サンプルごとの重みを決めて重み付きMAEを計算します。ただし、重みの根拠と評価対象の変更を記録し、通常のMAEも併記すると比較の透明性を保てます。
参考資料
- scikit-learn User Guide「Regression metrics」
https://scikit-learn.org/stable/modules/model_evaluation.html#regression-metrics - scikit-learn「mean_absolute_error」
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_absolute_error.html - scikit-learn「root_mean_squared_error」
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.root_mean_squared_error.html
