指数平滑法による予測

FORECAST.ETS 指数平滑法を利用して将来の値を予測する

対応バージョン:2016

指定された[値]と[タイムライン]を元に[目標期日]の値を予測します。季節によって変動がある場合は[季節性]の指定、欠測値がある場合には[補間]の指定ができます。元のデータに同じ期の値が複数ある場合には[集計]の指定もできます。予測にはETS(三重指数平滑法) アルゴリズムのAAAバージョンと呼ばれる方法が使われます。

入力方法と引数

FORECAST.ETS フォーキャスト・イーティーエス (目標期日, , タイムライン, 季節性, 補間, 集計)

目標期日 予測値を求める期を指定します。
タイムラインに対応する値(予測に使う元の値)を指定します。
タイムライン 年度や日付など、[値]が得られた期を指定します。
季節性 季節性の変動がある場合に、周期を指定します。1を指定するか省略すると季節性は自動的に計算されます。0を指定すると季節性がないものと見なされます。8760までの値が指定できます。
補間 欠測値がある場合に1を指定すれば自動的に補間されます。0を指定すると欠測値を0とします。省略すると1が指定されたものと見なされます。全体の30%までは欠測値の補間が行われます。
集計 タイムラインに同じ期がある場合、[値]を集計します。以下の方法が指定でき、( )内に記述した関数と同じ方法で集計を行います。省略した場合は集計を行いません。
1平均(AVERAGE)
2数値の個数(COUNT)
3データの個数(COUNTA)
4最大値(MAX)
5中央値(MEDIAN)
6最小値(MIN)
7合計(SUM)

使用例1四半期ごとの売上高を元に2019年第1四半期の売上高を予測する

=FORECAST.ETS(F3,D3:D14,A3:A14)

FORECAST.ETS関数の使用例1

上記はセルF5に入力されている数式です。セルF3に入力されている目標期日の売上高を予測します。セルD3〜D14に入力されている[値]が売上高で、それに対する[タイムライン]がセルA3〜A14に入力されています。2016年から2018年までの四半期ごとの売上高を元に、2019年第1四半期の売上高が予測されます。

使用例2四半期ごとの売上高を元に2019年第1四半期〜第4四半期の売上高を予測する

{=FORECAST.ETS(B15:B18,E3:E14,B3:B14)}

FORECAST.ETS関数の使用例2

上記はセルE15〜E18に配列数式として入力されている数式です。FORECAST.ETS関数を配列数式として入力すれば、複数の[目標期日]の予測ができます。ここでは、2016年から2018年までの四半期ごとの売上高を元に、2019年第1四半期〜第4四半期の売上高を予測しています。

配列数式として上記の関数を入力するには、セルE15〜E18を選択して「=FORECAST.ETS(B15:B18,E3:E14,B3:B14)」と入力したあと、入力の終了時に[Enter]キーではなく[Ctrl]+[Shift]+[Enter]キーを押します。配列数式の{ }は自動的に表示されるので、入力する必要はありません。[目標期日]としてセルB15〜B18が指定されていることに注意してください。

使用例3欠測値のあるデータを元に売上高を予測する

=FORECAST.ETS(F3,D3:D13,A3:A13)

FORECAST.ETS関数の使用例3

上記はセルF5に入力されている数式です。6期(2017年第2四半期)のデータが欠測値となっていますが、[補間]を省略してあるので自動的に欠測値が補間され、売上高の予測値が計算されます。欠測値があっても、2019年第一四半期の売上高が予測できます。

使用例4売上高を年ごとに集計して次の年の売上高を予測する

=FORECAST.ETS(F3,D3:D14,B3:B14,,,7)

FORECAST.ETS関数の使用例4

上記はセルF5に入力されている数式です。[タイムライン]としてセルB3〜B14が指定されています。したがって、同じ期のデータが複数あることになります。そこで[集計]に7を指定し、合計を求め、その値を元に予測を行います。ここでは、2016年から2018年までの四半期の売上高が年ごとに集計され、2019年の売上高の予測値が求められます。

活用のポイント

  • 三重指数平滑法とは、過去のいくつかの値の平均から次の値を予測する方法です。このとき、最近の値のほうに指数関数的に大きなウェイトを与え、古い値の影響を少なくします。FORECAST.ETS関数では、さらに季節による変動も含めて値を予測します。
  • [目標期日]が[タイムライン]に指定された期よりも前の場合、[#NUM!]エラーとなります。
  • [タイムライン]には日付や「期」を表す値を指定します。[値]と[タイムライン]のサイズが異なる場合、[#N/A]エラーとなります。
  • [タイムライン]は並べ替えられている必要はありません。
  • 季節性の変動を自動的に計算するには、[季節性]に1を指定するか省略します。ここでの例では、各年度の第3四半期(3期、7期、11期)の売上高が他の期よりも少なめです。使用例1でセルF3に15と入力すると、1027.99という結果になります。一方、セルF5に

    =FORECAST.ETS(F3,D3:D14,A3:A14,0)

    と入力して季節性を計算しないようにすると、結果は1032.60となります。なお、この例の周期は実際には4なので、[季節性]に4を指定しても、[季節性]を省略した場合と同じ結果になります。

  • [季節性]に8760を超える値を指定すると[#NUM!]エラーとなります。
  • 欠測値がある場合には[補間]に1を指定するか省略します。[補間]に0を指定すると、欠測値が0と見なされます。使用例3では6期(2017年第2四半期)の欠測値が自動的に補間され、13期の売上高は1042.11と予測されます。一方、セルF5に

    =FORECAST.ETS(F3,D3:D13,A3:A13,,0)

    と入力して欠測値を0と見なすと、13期の売上高は1064.75となります。6期の売上高が0であるにもかかわらず予測値が大きくなるのは、急激に売上高が伸びたと見なされるためです。なお、この例では、データが収集されていないことが、売上高が0であったこととは考えられないので、欠測値を0とするのは適切ではありません。

  • 同じ期のデータが複数ある場合は、[集計]に集計方法が指定できます。使用例4のように[タイムライン]にセルB3〜B14を指定すると、「年」が[タイムライン]になるので、2016、2017、2018という値が4つずつあります。[集計]に7を指定すると年ごとに売上高が合計され、予測値が得られます。

関連記事

関連まとめ記事