将来値の予測
この例では、線形回帰予測手法を使用して、選択した前月の既知のデータ値で始まり、既知の値に基づいて予測値で続行するトレンド(@TREND)または線を生成し、トレンドの適合度を既知のデータ値にチェックするメソッドを示します。 この場合、現在存在するのは5月までのデータのみであると仮定して、計算スクリプトはJune-Decemberの販売データを予測します。
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););
次の表に、予測計算スクリプトで使用されるパラメータを示します:
表25-1 将来値を予測する計算スクリプトの例で使用されるパラメータ
パラメータ | 説明 |
---|---|
@LIST(Jan,Mar,Apr) |
Ylistまたは既知のデータ値を含むメンバーを表します。 @LIST関数は、3つのメンバーをカンマ区切りリストとしてグループ化し、リストを他のパラメータとは別に保持します。 |
@LIST(1,3,4) |
Xlistまたは基礎となる変数値を表します。 FebとMayはスキップされるため、EssbaseはYlist値を1,3,4として番号付けします。 |
, |
Xlistパラメータの後の余分なカンマは、パラメータ(weightList)がスキップされたことを示します。 この例では、デフォルトの重み1を使用します。 |
@RANGE(ErrorLR,@LIST(Jan,Mar,Apr) |
トレンド線のYlistへの適合度の結果が配置されるerrorListまたはメンバー・リストを表します。 errorListに配置される値は、Ylistのデータ・ポイントと生成されるトレンド線のデータ・ポイントの差異です。 @RANGE関数は、ErrorLRメンバーをYlist (Jan、Mar、Apr)と組み合せてメンバー・リストを生成します。 |
@LIST(6,7,8,9,10,11,12) |
予測が検索されるXforecastListまたは基礎となる変数値を表します。 この例では、Jun-Decの値を連続して予測するため、値は6,7,8,9,10,11,12です。 |
Jun:Dec |
予測値が配置されるYforecastListまたはメンバー・リストを表します。 この例では、Jan、MarおよびAprの値に基づいてJun-Decの値を予測します。 |
LR |
線形回帰メソッドを指定します。 |
Essbaseはデータベースを循環し、次の計算を実行します:
-
YlistおよびXlistパラメータで指定された、トレンドの基になる既知のデータ値(Jan、Mar、AprのSales)を検索します。
-
線形回帰を使用してトレンド線を計算し、YforecastListパラメータで指定されているように、Jun-DecのSalesに結果を配置します。
-
Jan、MarおよびAprのデータ値のトレンド線の適合度を計算し、その月の結果をErrorLRに配置します。
たとえば、ErrorLR for Jan (4.57)の値は、Essbaseがトレンド線を計算した後、Jan (2339)のSales値とトレンド線のJan値の差が4.57であることを意味します。 FebおよびMayのErrorLR値は、Ylistの一部ではなかったため、#MISSINGです。
計算スクリプトの結果は、次のとおりです:
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