Excel FORECASTと関連する関数と計算式の例

  • これを共有
Michael Brown

ExcelのFORECASTをはじめとする関連機能の使い方を、計算式の例を交えて解説しています。

Microsoft Excelには、売上高、予算、キャッシュフロー、株価などの過去データに基づき、線形および指数平滑化予測を作成するのに役立つ関数がいくつか用意されています。

このチュートリアルでは、主に2つの予測関数に焦点を当てますが、他の関数についても簡単に触れ、その目的と基本的な使い方を理解できるようにします。

    エクセル予測関数

    最近のExcelでは、6種類の予測関数が存在します。

    この2つの関数は 線形 を予測します。

    • FORECAST - 線形回帰を使用して将来の値を予測します。Excel 2013およびそれ以前のバージョンとの下位互換性のためにレガシー関数です。
    • LINEAR - FORECAST関数と同じ。Excel 2016およびExcel 2019の新しい予測関数スイートの一部です。

    ETSの4つの機能は、以下を目的としています。 指数平滑化 これらの関数は、Office 365版Excel、Excel 2019、Excel 2016でのみ利用可能です。

    • ETS - 指数平滑化アルゴリズムに基づき、将来の値を予測する。
    • ETS.CONFINT - 信頼区間を計算します。
    • ETS.SEASONALITY - 季節的またはその他の反復的なパターンの長さを計算します。
    • ETS.STAT - 時系列予測に使用する統計値を返します。

    エクセルFORECAST関数

    エクセルのFORECAST関数は、将来の値を予測するためのもので、次のように使用します。 線形回帰 つまり、FORECASTは過去のデータから最適な線に沿って将来の値を予測するものです。

    FORECAST関数のシンタックスは以下の通りです。

    FORECAST(x, 既知_y's, 既知_x's)

    どこで

    • X (必須) - 新しいY値を予測するための数値x値。
    • Known_y's (必須) - 既知の依存する Y 値の配列.
    • Known_xの (必須) - 既知の独立した x 値の配列.

    FORECAST関数は、Office 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010、Excel 2007、Excel 2003、Excel XP、およびExcel 2000のすべてのバージョンのExcelで機能します。

    注)Excel 2016および2019では、この関数はFORECAST.LINEARに置き換えられましたが、後方互換性のためにまだ利用可能です。

    Excel FORECAST.LINEAR関数

    FORECAST.LINEAR関数は、FORECAST関数の現代版です。 目的も構文も同じです。

    FORECAST.LINEAR(x, known_y's, known_x's)

    本機能は、Office 365版Excel、Excel 2019、Excel 2016で利用可能です。

    FORECASTとFORECAST.LINEARによる将来値の算出方法

    どちらの関数も、線形回帰式を用いて将来のy値を算出する。

    y = a + bx

    があるところ。 a 定数(インターセプト)は

    そして、b係数(直線の傾き)は

    x̄とȳの値は、既知のx値とy値の標本平均(平均値)である。

    Excel の FORECAST 機能が動作しない。

    FORECASTの計算式がエラーを返す場合、次のような原因が考えられます。

    1. known_xの範囲とknown_yの範囲が異なる長さであったり、空であったりすると、#N/A!
    2. xの値が非数値の場合、数式は#VALUE!エラーを返します。
    3. known_xの分散が0の場合、#DIV/0!エラーが発生します。

    エクセルでFORECAST関数を使う方法 - 計算式例

    すでに述べたように、ExcelのFORECASTとFORECAST.LINEAR関数は線形トレンド予測を目的としています。 線形データセットや、重要でないデータ変動を無視して一般的なトレンドを予測したい場合に最も効果的に機能します。

    例として、過去3週間のデータをもとに、今後7日間のWebサイトのトラフィックを予測してみることにします。

    B2:B22のy値(来場者数)とA2:A22のx値(日付)がわかっているので、予測式は次のようになります。

    Excel 2019 - Excel 2000 :

    =forecast(a23, $b$2:$b$22, $a$2:$a$22)

    エクセル2016とエクセル2019 :

    =forecast.linear(a23, $b$2:$b$22, $a$2:$a$22)

    ここで、A23 は将来の Y 値を予測したい新しい x 値である。

    Excelのバージョンにもよりますが、23行目の空いているセルに上記の数式を一つ挿入し、必要なだけセルにコピーすると、このような結果になります。

    絶対セル参照を持つ範囲($A$2:$A$2など)をロックして、数式を他のセルにコピーする際に変更されないようにすることに注意してください。

    グラフにすると、次のような線形予測になります。

    このようなグラフを作成するための詳しい手順は、線形回帰予測図に記載されています。

    を元に将来の値を予測したい場合。 繰返しパターン をヒストリカルデータで観測し、ExcelのFORECAST関数の代わりにFORECAST.ETSを使用します。 そして、チュートリアルの次のセクションでは、これを行う方法を説明します。

    Excel FORECAST.ETS関数

    FORECAST.ETS関数は、以下のことを行うために使用されます。 指数平滑化 は、一連の既存値を基にした予測値です。

    より正確には、AAA版に基づいて将来の価値を予測する。 指数関数的トリプルスムージング (AAAはAdditive Error、Additive Trend、Additive Seasonalityの頭文字をとったもので、季節性パターンや信頼区間を検出し、データトレンドの重要な偏差を平滑化するアルゴリズムであり、機能名の由来となっています。

    FORECAST.ETS関数は、Office 365、Excel 2019、Excel 2016のExcelで利用可能です。

    ExcelのFORECAST.ETSの構文は以下のとおりです。

    FORECAST.ETS(target_date, values, timeline, [seasonality], [data_completion], [aggregation])

    どこで

    • 対象日 (必須) - 値を予測するためのデータポイント。 日付/時間または数値で表すことができます。
    • 価値観 (必須) - 将来の値を予測したいヒストリカルデータの範囲または配列。
    • タイムライン (必須) - 日付/時刻または独立した数値データの配列で、それらの間に一定の間隔があります。
    • 季節性 (オプション) - 季節のパターンの長さを表す数値です。
      • 1または省略(デフォルト) - Excelは正の整数を使用することにより、自動的に季節性を検出します。
      • 0 - 季節性なし、すなわち線形予測。

      最大許容季節性は、1年間の時間数である8,760です。 これ以上の季節性の数値は、#NUM!エラーが発生します。

    • データ補完 (オプション) - 欠落しているポイントを考慮します。
      • 1 または省略(デフォルト) - 近隣の点の平均として不足点を埋める(liner inrerpolation)。
      • 0 - 不足しているポイントをゼロとして扱います。
    • アグリゲーション (オプション) - 同じタイムスタンプを持つ複数のデータ値を集約する方法を指定します。
      • 1 または省略(デフォルト) - 集計に AVERAGE 関数が使用される。
      • 他のオプションは、2 - COUNT、3 - COUNTA、4 - MAX、5 - MEDIAN、6 - MIN、7 - SUMです。

    FORECAST.ETSについて知っておくべき5つのこと

    1. FORECAST.ETS 機能を正しく動作させるために、タイムラインには 定期的な間隔 - 時間、日、月、四半期、年など
    2. この関数は、季節性などの非線形データセットに最も適しています。 繰返しパターン .
    3. Excelの場合 うんともすんとも言わない の場合、関数は線形予測に戻る。
    4. この関数は、次のように動作します。 ふかんぜんデータセット の値に従って処理される。 データ補完 の議論になります。
    5. 一貫したステップを持つタイムラインが要求されるが、場合によっては スジ で定義されるように、同じタイムスタンプを持つ値が集約されます。 アグリゲーション の議論になります。

    FORECAST.ETS機能が動作しない。

    計算式がエラーを出す場合、次のようなことが考えられます。

    1. の場合、#N/Aが発生します。 価値観 タイムライン 配列の長さが異なる。
    2. の場合、#VALUE!エラーが返されます。 季節性 , データ補完 または アグリゲーション の引数が非数値の場合。
    3. 以下のような理由で#NUM!
      • では、一貫したステップサイズを検出することができません。 タイムライン .
      • があります。 季節性 の値がサポート範囲外(0~87600)である。
      • があります。 データ補完 の値が 0 または 1 以外であること。
      • があります。 アグリゲーション の値が有効範囲(1~7)外である。

    ExcelでFORECAST.ETS関数を使用する方法 - 数式の例

    指数平滑化で計算された将来の値が線形回帰の予測とどう違うかを見るために、前の例で使ったのと同じデータセットでFORECAST.ETSの計算式を作ってみましょう。

    =forecast.ets(a23, $b$2:$b$22, $a$2:$a$22)

    どこで

    • A23は対象日
    • B$2:$B$22はヒストリカルデータ( 価値観 )
    • A$2:$A$22は日付( タイムライン )

    最後の3つの引数を省略することで、( 季節性 , データ補完 または アグリゲーション そして、Excelは完璧にトレンドを予測します。

    Excel FORECAST.ETS.CONFINT関数

    FORECAST.ETS.CONFINT関数は、予測値の信頼区間を計算するために使用されます。

    信頼区間は、予測精度の指標のようなもので、区間が小さいほど、特定のデータポイントの予測に対する信頼度が高いことを意味します。

    FORECAST.ETS.CONFINTは、Excel for Office 365、Excel 2019、Excel 2016で利用可能です。

    この関数は、以下の引数を持つ。

    FORECAST.ETS.CONFINT(target_date, values, timeline, [confidence_level], [seasonality], [data completion], [aggregation])

    FORECAST.ETS.CONFINTの構文はFORECAST.ETS関数と非常に似ていますが、この追加引数を除いては、ご覧のとおりです。

    信頼性レベル (オプション) - 計算された区間の信頼度を指定する0から1までの数字。 通常は10進数で指定されるが、パーセントも使用できる。 例えば、90%の信頼度を設定するには、0.9または90%のいずれかを入力します。

    • 省略した場合は、デフォルト値の95%が使用されます。これは、予測されるデータポイントの95%がFORECAST.ETSが返す値からこの半径内に収まると予想されることを意味します。
    • 信頼度がサポートされている範囲(0〜1)外の場合、この式は#NUM!エラーを返します。

    FORECAST.ETS.CONFINTの計算式例

    実際にどのように機能するかを見るために、サンプルデータセットの信頼区間を計算してみましょう。

    =forecast.ets.confint(a23, $b$2:$b$22, $a$2:$a$22)

    どこで

    • A23は対象日
    • B$2:$B$22はヒストリカルデータです。
    • A$2:$A$22は日付です。

    最後の4つの引数は省略され、Excelにデフォルトのオプションを使用するように指示します。

    • 信頼度を95%に設定する。
    • 季節感を自動的に検出します。
    • 隣接する点の平均値として不足点を補完する。
    • 同じタイムスタンプを持つ複数のデータ値をAVERAGE関数で集計する。

    返された値が実際に何を意味するのかを把握するために、以下のスクリーンショットをご覧ください(スペースの都合上、過去データの行を一部非表示にしています)。

    D23 の計算式では 6441.22(小数点以下 2 位を四捨五入)となり、これは、3 月 11 日の予測値が予測値 61,075(C3) に対して 6441.22 以内に入る確率が 95%であることを意味している。 つまり 61,075 ± 6441.22 である。

    予測値がどの範囲に収まるかを知るには、各データポイントの信頼区間境界を計算すればよい。

    を取得するために 下界 の場合、予測値から信頼区間を差し引く。

    =C23-D23

    を取得するために 上界 の場合、予測値に信頼区間を加算する。

    =C23+D23

    ここで、C23はFORECAST.ETSが返す予測値で、D23はFORECAST.ETS.CONFINTが返す信頼区間である。

    上記の数式を書き写し、その結果をグラフにプロットすれば、予測値と信頼区間を明確に視覚的に表現することができます。

    ヒント:このようなグラフを自動的に作成するには、Excelの「予測シート」機能を活用します。

    Excel FORECAST.ETS.SEASONALITY関数

    FORECAST.ETS.SEASONALITY関数は、指定した時間軸で繰り返し起こるパターンの長さを計算するために使用します。 両関数は同じアルゴリズムを使って季節性を検出するため、FORECAST.ETSと密接に結び付いています。

    本機能は、Office 365版Excel、Excel 2019、Excel 2016で利用可能です。

    FORECAST.ETS.SEASONALITYのシンタックスは次のとおりです。

    FORECAST.ETS.SEASONALITY(values, timeline, [data_completion], [aggregation])

    今回のデータセットでは、以下のような形の式になる。

    =forecast.ets.seasonality(b2:b22, a2:a22)

    そして、季節性7を返す。これは、過去のデータの週ごとのパターンと完全に一致する。

    Excel FORECAST.ETS.STAT関数

    FORECAST.ETS.STAT関数は、時系列指数平滑化予測に関する指定された統計値を返します。

    他のETS関数と同様に、Office 365、Excel 2019、Excel 2016のExcelで利用可能です。

    この関数は次のような構文になっています。

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

    があります。 統計種別 引数は、どの統計値を返すかを示す。

    1. アルファ (基本値) - データポイントの重み付けを制御する0から1の間の平滑化値。 値が高いほど、最近のデータに重みが加えられる。
    2. ベータ版 (トレンド値) - トレンドの計算を決定する0から1の値。 値が高いほど、最近のトレンドに重きが置かれます。
    3. ガンマ (季節性値) - ETS予測の季節性を制御する0から1の間の値。 値が高いほど、最近の季節性期間に重きが置かれる。
    4. メーセー (平均絶対誤差)- 予測精度を表す指標。
    5. スマップ (対称平均絶対誤差) - パーセントまたは相対誤差に基づく精度の尺度。
    6. メーエー (平均絶対誤差) - 予測誤差の平均的な大きさを、その方向に関係なく測定します。
    7. RMSE (二乗平均平方根誤差)- 予測値と観測値の差の尺度。
    8. 検出されたステップサイズ - タイムライン上で検出されたステップサイズ。

    例えば、サンプルデータセットのAlphaパラメータを返すには、次の式を使用します。

    =forecast.ets.stat(b2:b22, a2:a22, 1)

    下のスクリーンショットは、その他の統計値の計算式です。

    これがエクセルでの時系列予測のやり方です。 このチュートリアルで説明したすべての数式を調べるには、弊社のエクセル予測サンプル・ワークブックをダウンロードしてください。 読んでいただきありがとうございました。

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。