Excelでこんなの求められないかな~と思うことはたくさんあって、大体はもうすでにExcelにその機能が用意されていたりするものなのですが、今回はその中の一つ、繰り返し周期を求めることをしてみたいと思います。
FORECAST.ETS関数という関数を使います。
この関数は正直中の原理は把握していませんので、今回、経験としてその動作を把握したいと思います。
次のような計算シートを作成してみました。
データを予測する関数たち
今回のような周期に関する関数はいくつかありますが、今回はFORECAST.ETS関数とFORECAST.ETS.SEASONALITY関数について紹介します。
FORECAST.ETS関数
すでに12か月分のデータがあって、それに対して、以降のデータを予測するのに、
=FORECAST.ETS(A13,$B$1:$B$12,$A$1:$A$12)
という計算式を入れています。
FORECAST.ETS関数はあるパターンの周期から、予測したい日の予測値を求める関数です。
書式は
=FORECAST.ETS(求めたい日,すでにわかっているデータ範囲,データ期間)
です。
FORECAST.ETS.SEASONALITY関数
データの周期がいくつごとなのかを調べるのがFORECAST.ETS.SEASONALITY関数です。
=FORECAST.ETS.SEASONALITY(B1:B12,A1:A12)
という計算式を入れています。
書式は
= FORECAST.ETS.SEASONALITY(すでにわかっているデータ範囲,データ期間)
です。
動作させてみよう
今は12か月全部1というデータですが、2か月おきに1と2を繰り返してみましょう。
周期が2で、その後の予測値も1と2を繰り返しています。
周期が3で3ごと繰り返しています。
4ごとでも同じようになります。
5ごとだと、次のようになります。
周期が中途半端なためか、データが少ないためか、周期が0になりました。予測値もなんだから平均値の上昇傾向のようなデータになっています。
6ごとの周期では、12が月を6周期2回転というちゃんとした周期であるにも関わらず周期が検出されませんでした。データが少ないのか、私の知識だと6周期までは数学的にうまく検出できるはずなのですが。。。
ということで6周期4回転のデータを作成しました。
これだとちゃんと計算してくれるので長い周期の場合はデータ数が必要ということなのでしょう。
12か月の1年データで予測するには過去5年から10年のデータは欲しいところですね。
周期を崩してどこまで予測できるかやってみました。
多分、これは一概には言えないと思うのですが、4周期のうちの6個めのパターンを全部崩しても予測はしてくれますね。
1パターンを完全に崩しても予想してくれます。
2パターンを崩しても大丈夫。
でもこれが限界みたいです。
コメント