統計モデルによる予測 のページでは、「作った数式に、予測したい時の値をいれて計算すると、予測値が求まる」という事を書いていますが、 手計算でこれをやるのは、それなりに手間です。 一方で、 予測のためのソフトの使い方 にあるような、R、Python、RapidMinerといったソフトでやるやり方も、それなりに手間です。
万能ではありませんが、Excelには、予測用の関数が2種類用意されています。
指数平滑法と、 重回帰分析 です。
指数平滑法については、専用のボタンで簡単に使えるようにもなっています。
時間軸のデータの列と、予測したいデータの列を用意して、「データ」のタブにある「予測シート」をクリックします。
「作成」をクリックします。
できました。
上の例は、デフォルトのままです。 信頼区間 の範囲や、予測する期間は、「作成」ボタンのあるシートのオプションで変更することができます。
結果のグラフのデータのセルを見ると、「FORECAST.ETS」という関数が使われていることがわかります。 この関数は、指数平滑法という予測のための手法の関数です。
Excelでは、「FORECAST.ETS」やその仲間で信頼区間を求める「FORECAST.ETS.CONFINT」という関数がボタン一つで簡単に使えるようになっていますが、 一般的な関数のように、どこかのセルに関数を書いてそのセルに計算結果を出す使い方もできます。
TREND関数を使うと、
重回帰分析
による予測ができます。
Xの変数は、1個でも複数でも大丈夫です。
ただし、変数の数(列数)は、サンプルの数(行数)よりも少なくする必要があります。
この予測値がどのくらいの確からしさなのかは、既知のXを入力してみて、既知のYとどのくらい離れているのかを確認する方法が簡単です。
決定係数や、数式の具体的な形が知りたい場合は、Excelのアドインの「データ分析」にある「回帰分析」を使う方法があります。
天気なら、データは「晴」、「雨」、「曇」としたいところですが、TREND関数は数値データしか扱えないので、 ここでは、「雨 = 1」としました。
0と1しかダメなわけではないので、「曇 = 0.5」としたり、 「半日雨 = 0.5」という工夫もできます。
指数平滑法では、時点(時刻や日付)を表すデータがXになります。 具体的な日付がわからなけば、例えば、1,2,3,4と置いても良いです。
回帰分析は、Yに影響しそうな情報がXになります。
例えば、指数平滑法に適したケースに、回帰分析を使うと図のようになります。
指数平滑法は、良さそうな予測値です。
しかし、時点のデータをXにした回帰分析は、予測値がデタラメな感じになります。
指数平滑法は、Yの動きだけを見て予測する方法になります。 回帰分析は、Yに影響しそうなXを見て、Yを予測する方法になります。
直近のYの動きを見つつ、Xの影響も考慮する方法としては、 ARモデル の考え方を使うと良いようです。
使うのは回帰分析のTREND関数ですが、Xの変数として、1つ前や2つ前の時点のYの値を用意すると、この方法ができます。