ExcelのFORECAST.ETS.STAT関数の使い方|8種類の予測統計量を完全解説

スポンサーリンク

ExcelのFORECAST.ETS.STAT関数とは?予測モデルの統計量を取得する関数

「FORECAST.ETSで予測値は出せたけど、このモデルって本当に信頼できるの?」
「平滑係数とか誤差指標とか、上司に説明する数字を取り出したい」

こんな場面で活躍するのがFORECAST.ETS.STAT関数です。

この記事ではFORECAST.ETS.STAT関数の使い方を、月次売上データの実例とともに解説します。
8種類取得できる統計量それぞれの意味と、業務での読み方までまとめて押さえていきましょう。

読み方と語源(ETS=指数三重平滑、STAT=統計量)

FORECAST.ETS.STAT関数の読み方は「フォーキャスト・イーティーエス・スタット」です。
語源を分解するとイメージしやすくなります。

  • FORECAST: Forecast(予測)
  • ETS: Exponential Triple Smoothing(指数三重平滑法)
  • STAT: Statistics(統計量)

ETS(指数三重平滑法)は、データを「水準・トレンド・季節性」の3要素に分けて予測するアルゴリズムです。
FORECAST.ETS関数の内部で使われています。

STATはそのうちモデル内部の統計量を取り出してくれる関数です。
具体的には平滑係数(α・β・γ)と誤差指標(MAE/RMSE等)の数値を取得できます。

対応バージョンはExcel 2016以降で、Microsoft 365でも問題なく使えます。

FORECAST.ETSシリーズの中での位置付け

FORECAST.ETSシリーズは4つの関数で構成されています。
予測値を返すFORECAST.ETS、信頼区間のCONFINT、季節周期のSEASONALITYです。
FORECAST.ETS.STATはその中で「モデルの精度・パラメータ」を担当します。

関数役割
FORECAST.ETS将来の予測値を返す
FORECAST.ETS.CONFINT予測値の信頼区間(誤差幅)を返す
FORECAST.ETS.SEASONALITY検出された季節周期を返す
FORECAST.ETS.STAT平滑係数や誤差指標などモデル統計量を返す

FORECAST.ETSの予測結果に対して「なぜそう予測したのか」を裏付ける役割を担います。

FORECAST.ETS.STAT関数の構文と引数

FORECAST.ETS.STAT関数の構文は以下のとおりです。

=FORECAST.ETS.STAT(values, timeline, statistic_type, [seasonality], [data_completion], [aggregation])

引数は6つで、最初の3つが必須、後ろ3つは省略可能です。

引数必須説明
values必須履歴データの数値範囲(売上・件数など)
timeline必須valuesと同じサイズの日付範囲。等間隔が前提
statistic_type必須取得する統計量の種類を1〜8の整数で指定
seasonality省略可季節周期。0=なし、1=自動検出(既定)、2以上=明示指定
data_completion省略可欠損値の扱い。0=欠損のまま、1=補間(既定)
aggregation省略可重複日付の集計方法。1=平均(既定)など7種類

values(履歴データ)

予測モデルが学習する元データの数値範囲です。
売上・受注件数・アクセス数など、時系列で増減する数値を指定します。

数値以外(文字列など)が混ざっていると#VALUE!エラーになります。

timeline(日付列)

valuesに対応する日付の範囲を指定します。
等間隔である必要があります(毎日・毎週・毎月など)。

間隔がバラバラだと#NUM!エラーになるので注意してください。

statistic_type(取得する統計量)

ここがFORECAST.ETS.STAT関数の核心です。
1〜8の整数で「どの統計量を取り出すか」を指定します。
詳細は次章の早見表で説明します。

seasonality / data_completion / aggregation

通常は省略でOKです。
省略時の既定値(自動検出・補間あり・平均集計)が業務データに最もフィットするケースが多いためです。

statistic_typeで取得できる8種類の統計量

statistic_type引数に1〜8の整数を渡すことで、それぞれ異なる統計量を取得できます。

statistic_type取得される値分類内容
1Alpha(α)平滑係数レベル(水準)パラメータ
2Beta(β)平滑係数トレンド(傾き)パラメータ
3Gamma(γ)平滑係数季節性パラメータ
4MASE誤差指標平均絶対スケール誤差
5SMAPE誤差指標対称平均絶対パーセント誤差
6MAE誤差指標平均絶対誤差
7RMSE誤差指標二乗平均平方根誤差
8Step size検出値検出されたタイムライン間隔

NOTE
8種類は大きく「平滑係数3つ(α・β・γ)」「誤差指標4つ(MASE・SMAPE・MAE・RMSE)」「ステップサイズ1つ」に分けて覚えると整理しやすくなります。

基本的な使い方の例(月次売上データでα/β/γを取得)

セルA2:A25に月次売上、セルB2:B25に対応する日付があるとします。
平滑係数α・β・γを取得する数式は以下のとおりです。

=FORECAST.ETS.STAT(A2:A25, B2:B25, 1)
=FORECAST.ETS.STAT(A2:A25, B2:B25, 2)
=FORECAST.ETS.STAT(A2:A25, B2:B25, 3)

statistic_typeの数字だけを変えれば、同じデータから異なる統計量を取り出せます。

平滑係数(α・β・γ)の読み方と判断基準

平滑係数はすべて0〜1の範囲で返されます。
それぞれが0に近いほど「過去のパターンが安定している」、1に近いほど「直近の変化が大きい」ことを示します。

α(Alpha)レベル平滑係数の読み方

αはデータの水準(レベル)がどれだけ変動しているかを示します。

αの値意味業務での読み方
0.0〜0.3レベル変動が緩やか安定したベースライン。予測しやすいデータ
0.4〜0.7中程度のレベル変動一般的なビジネスデータの典型値
0.8〜1.0直近の値を強く重視水準が急変、またはノイズ大。要注意

αが0.9以上の場合、モデルは「ほぼ直近の値だけを見て予測している」状態です。
データ量不足や外れ値の影響が疑われるので、データ範囲を見直してみてください。

β(Beta)トレンド平滑係数の読み方

βはデータのトレンド(傾き)がどれだけ揺れているかを示します。

βの値意味業務での読み方
0.0〜0.2トレンド変化が緩やか長期トレンドが安定
0.3〜0.7トレンド方向が時間とともに変化成長率が変わってきている
0.8〜1.0トレンドが大きく揺らいでいる予測の不確実性が高い

βが0に近い場合、データはほぼ直線的に伸びている(または横ばい)と解釈できます。
逆にβが0.8を超えるようなら、急成長期や鈍化期など、変化点を含んでいる可能性があります。

γ(Gamma)季節平滑係数の読み方

γは季節パターンの変化度合いを示します。

γの値意味業務での読み方
0.0〜0.3季節パターンが安定毎年同じ周期で増減している
0.4〜0.7季節パターンが徐々に変化周期はあるが波形がずれてきている
0.8〜1.0季節パターンが大きく変動季節性予測が当たりにくい

γが0.8以上のときは、過去の季節パターンがあてにならない状態です。
新規事業・コロナ前後の売上など、構造変化があるデータで起こりやすい傾向です。

誤差指標(MASE・SMAPE・MAE・RMSE)の読み方と判断基準

誤差指標は「予測モデルが過去データをどれだけ正確に再現できているか」を示します。
4種類それぞれ単位や意味が違うので、目的に応じて使い分けます。

MASE(statistic_type=4)の読み方

MASE(平均絶対スケール誤差)は、ナイーブ予測(前期と同じ値)を基準にした相対誤差です。

MASEの値意味
1.0未満ナイーブ予測より優れている → 採用可
1.0ナイーブ予測と同等
1.0超ナイーブ予測より悪い → モデル見直し

業務での目安は0.5〜0.8が良好レベルです。
1.0を超える場合、「単純に先月と同じ値を予測する」方がマシなので、ETSモデルを使う意味がありません。

SMAPE(statistic_type=5)の読み方

SMAPE(対称平均絶対パーセント誤差)は、誤差をパーセントで返す指標です。
単位を気にせず精度比較できる利点があります。

SMAPEの値精度評価
0%〜10%高精度予測
10%〜20%実用レベル
20%超改善余地あり

ビジネスの売上予測では10%〜20%に収まるケースが多く、20%超なら別アプローチも検討する目安になります。

MAE(statistic_type=6)の読み方

MAE(平均絶対誤差)は、誤差の平均を元データと同じ単位で返します。

例えば月次売上データなら「平均で50万円ずれます」のように具体的な金額として読めるのが利点です。
業務での説明にも使いやすい指標です。

TIP
MAEは「予測値の許容できるブレ幅」と比較するのがコツです。例えば在庫計画でMAE=50個なら、安全在庫を50個程度上乗せしておくといった意思決定に直結します。

RMSE(statistic_type=7)の読み方

RMSE(二乗平均平方根誤差)も元データと同じ単位ですが、大きな誤差を強調する特徴があります。

比較ポイント解釈
RMSE ≒ MAE誤差が均等に分布
RMSE >> MAE稀に大きく外す予測モデル

RMSEがMAEより明らかに大きいときは、極端な外れ値が混じっている可能性があります。
データクレンジングの見直しサインとして活用してください。

FORECAST.ETSシリーズの併用ステップ

FORECAST.ETS.STAT関数は単独でなく、シリーズの他関数と組み合わせて使うと効果的です。
業務での標準的なフローを紹介します。

ステップ1: SEASONALITYで周期を確認

最初にFORECAST.ETS.SEASONALITY関数で、データの周期を確認します。

=FORECAST.ETS.SEASONALITY(A2:A25, B2:B25)

12なら年周期、7なら週周期と判断できます。

ステップ2: STATで誤差指標を確認

次にFORECAST.ETS.STAT関数でMAEやSMAPEを取得し、モデルの精度を確認します。

=FORECAST.ETS.STAT(A2:A25, B2:B25, 6)

精度が業務で許容できるレベル(例: SMAPE 20%未満)なら次のステップへ進みます。

ステップ3: ETSで予測値を算出

精度を確認したうえで、FORECAST.ETS関数で予測値を取得します。

=FORECAST.ETS(C26, A2:A25, B2:B25)

C26には予測したい未来の日付を入れます。

ステップ4: CONFINTで信頼区間を取得

最後にFORECAST.ETS.CONFINT関数で信頼区間(誤差幅)を取得します。
これで予測値の上下限を提示できるようになります。

=FORECAST.ETS.CONFINT(C26, A2:A25, B2:B25)

この4ステップで「予測値・誤差幅・モデル精度・周期」をワンセットで揃えられます。

FORECAST.ETS.STAT関数のよくあるエラー

FORECAST.ETS.STAT関数で発生しやすいエラーと対処法をまとめます。

#VALUE!(statistic_typeが範囲外・引数の型エラー)

=FORECAST.ETS.STAT(A2:A25, B2:B25, 9)
→ #VALUE!

statistic_typeに1〜8以外の値を渡すと#VALUE!になります。
範囲を確認して修正してください。

values内に文字列や論理値が混ざっている場合も#VALUE!になります。
データ列の型をチェックしてみてください。

#NUM!(タイムラインが等間隔でない・データ不足)

=FORECAST.ETS.STAT(A2:A10, B2:B10, 1)
→ #NUM!(データ不足の場合)

timeline引数の日付が等間隔でないと#NUM!になります。
特に月末ベースの日付(1/31, 2/28, 3/31)は厳密には等間隔ではありません。
月初(1/1, 2/1, 3/1)に統一しておくと安全です。

季節性検出には最低2周期分のデータが必要です。
月次データなら24ヶ月以上、週次データなら14週以上を用意してください。

#N/A(valuesとtimelineのサイズ不一致・欠損が多すぎる)

valuesとtimelineの配列サイズが違うと#N/Aになります。
A2:A25とB2:B26のように、選択範囲がずれていないか確認してください。

欠損値(空セル)が全体の30%を超えても#N/Aになります。
data_completion=1(既定の補間)でも処理できない量の欠損は、元データを見直す必要があります。

FORECAST.ETSシリーズ4関数の使い分け

最後にFORECAST.ETSシリーズ4関数の使い分けを整理します。

用途使う関数取得できるもの
将来の予測値を出したいFORECAST.ETS予測値(数値)
予測値の不確実性を示したいFORECAST.ETS.CONFINT信頼区間(誤差幅)
データの周期を知りたいFORECAST.ETS.SEASONALITY季節周期(データポイント数)
モデルの精度・パラメータを評価したいFORECAST.ETS.STAT平滑係数3種+誤差指標4種+ステップサイズ

「予測値だけ見せて終わり」では説得力に欠けます。
CONFINTで誤差幅を提示し、STATでモデル精度を裏付けるところまでセットにしましょう。
そうすることで、説得力のある予測レポートに仕上がります。

関連記事も参考にしてください。

まとめ

FORECAST.ETS.STAT関数のポイントを振り返ります。

  • 役割: FORECAST.ETSモデルの統計量(平滑係数・誤差指標)を取得する
  • 構文: =FORECAST.ETS.STAT(values, timeline, statistic_type, [seasonality], [data_completion], [aggregation])
  • statistic_type: 1〜8の整数で取得する統計量を指定
  • 平滑係数(α/β/γ): 0〜1の値。0に近いほど安定、1に近いほど直近変化を重視
  • 誤差指標: MASEは1.0未満が合格、SMAPEは20%未満が実用レベル
  • 併用フロー: SEASONALITY → STAT → ETS → CONFINTで予測の信頼性を裏付ける

FORECAST.ETS.STAT関数を使えば、予測の質を一段階上げられます。
「なんとなく予測した」状態から「数値根拠付きで予測モデルを評価する」状態にステップアップできます。
売上予測・需要予測のレポートに、ぜひ取り入れてみてください。

タイトルとURLをコピーしました