予測将来値
このEssbase計算スクリプトの例では、線形回帰予測法を使用して、選択した前月の既知データ値から始まり、既知の値に基づく予測値へと続くトレンド(線)を作成します。
トレンドは、@TRENDを使用して計算されます。この例は、既知のデータ値に対する適合性の傾向の結果を確認する方法も示しています。この例では、計算スクリプトで、6月から12月までの売上データを予測しています。5月までのデータが揃っていることを前提とします。
Measuresディメンションに子ErrorLRが追加されていることを前提とします。この子には、適合度の結果が配置されます。
スクリプトの例:
Sales
(@TREND(@LIST(Jan,Mar,Apr),@LIST(1,3,4),,
@RANGE(ErrorLR,@LIST(Jan,Mar,Apr)),
@LIST(6,7,8,9,10,11,12),
Jun:Dec,LR););次の表は、予測計算スクリプトで使用されるパラメータを示しています。
表24-1将来値を予測するための計算スクリプト例で使用されるパラメータ
| パラメータ | 説明 |
|---|---|
|
@LIST(Jan,Mar,Apr) |
Ylist、つまり既知のデータ値を含むメンバーを表します。 @LIST関数は、3つのメンバーをカンマ区切りのリストとしてグループ化し、そのリストを他のパラメータとは別に保管します。 |
|
@リスト(1,3,4) |
Xlist、つまり基になる変数値を表します。2月と5月はスキップされるため、EssbaseではYlist値を1,3,4とします。 |
|
, |
Xlistパラメータの後方の追加のカンマは、パラメータ(weightList)がスキップされていることを示します。 この例では、デフォルトの加重1を使用します。 |
|
@RANGE(ErrorLR,@LIST(Jan,Mar,Apr) |
errorList、つまりYlistに対するトレンド線の適合度の結果が配置されているメンバー・リストを表します。 errorListに配置される値は、Ylistのデータ・ポイントと生成されたトレンド線上のデータ・ポイントの間の差異です。 @RANGE関数では、ErrorLRメンバーとYlist (Jan、 Mar、 Apr)を結合して、メンバー・リストを作成します。 |
|
@リスト(6,7,8,9,10,11,12) |
XforecastList、つまり予測のシーク対象の基礎となる変数値を表します。この例では、6月から12月の値を連続して予測します。このため、値は6,7,8,9,10,11,12となります。 |
|
6月:12月 |
YforecastList、つまり予測値が配置されるメンバー・リストを表します。この例では、1月、3月および4月の値に基づいて6月から12月の値を予測します。 |
|
LR |
線形回帰法を指定します。 |
Essbaseでは、データベース内を循環して、次の計算が実行されます:
-
YlistおよびXlistパラメータで指定されたとおりに、トレンドの基になる既知のデータ値(Sales for Jan、Mar、Apr)を検索します。
-
線形回帰を使用してトレンド線を計算し、YforecastListパラメータで指定されたとおりに、線形回帰を使用してトレンド線を計算し、その結果をJun-Decに置きます。
-
Jan、MarおよびAprのデータ値に対するトレンド線の適合度を計算し、その結果をそれぞれの月のErrorLRに置きます。
たとえば、1月のErrorLR値(4.57)は、Essbaseによってトレンド線が計算された結果、1月のSales値(2339)とトレンド線上の1月の値の間の差異が4.57であることを意味します。2月と5月のErrorLR値は#MISSINGです(これらの月はYlistに含まれていないため)。
計算スクリプトの結果:
100 West Actual
Sales ErrorLR
Jan 2339 4.57
Feb 2298 #MI
Mar 2313 -13.71
Apr 2332 9.14
May 2351 #MI
Jun 2315.14 #MI
Jul 2311.29 #MI
Aug 2307.49 #MI
Sep 2303.57 #MI
Oct 2299.71 #MI
Nov 2295.86 #MI
Dec 2292 #MI