行列 X0 から計算される m×n 縦比(投入係数)行列 A と m×n 横比(配分係数)行列 D を次のように定義する。
Matrix Balancingの問題を解いた結果得られる行列 X から計算される縦比(投入係数) xij / zj と
原行列 X0 から計算される縦比(投入係数) aij の加重残差自乗和、
および X から計算される横比(配分係数) xij / yi と X0 から計算される
横比(配分係数) dij の加重残差自乗和を同時に最小化するように
行列 X を決定することを考えよう。
それは、次のような等号制約付き最小化問題で表現できる。
min |
|
m Σ i = 1 |
n Σ j = 1 |
|
|
- aij |
|
2 |
· |
- w |
ij |
+ |
|
m Σ i = 1 |
n Σ j = 1 |
|
|
- dij |
|
2 |
· |
~ w |
ij |
| (6) |
s.t. |
yi = |
n Σ j = 1 |
xij (i = 1,...,m) |
|
zj = |
m Σ i = 1 |
xij (j = 1,...,n) |
ここで、 |
- w |
ij |
と |
~ w |
ij |
は、X0, Y0, Z0から得られる適当なウェイトである。 |
KEO-RAS法とは、ウェイトを
- w |
ij |
= |
|
(i = 1,...,m, j = 1,...,n) |
~ w |
ij |
= |
|
(i = 1,...,m, j = 1,...,n) |
と定式化することによって、この最小化問題を解く方法である。
即ち、n×1 ベクトル λ、m×1 ベクトル ζ をLagrange乗数ベクトルとすると、Lagrange関数 ψは、
ψ = |
|
m Σ i = 1 |
n Σ j = 1 |
|
|
- 1 |
|
2 |
+ |
|
m Σ i = 1 |
n Σ j = 1 |
|
|
- 1 |
|
2 |
| (7) |
+ |
n Σ j = 1 |
λj |
|
zj - |
m Σ i = 1 |
xij |
|
+ |
m Σ i = 1 |
ζi |
|
yi - |
n Σ j = 1 |
xij |
|
となる。
最小化の必要条件より、
|
= |
|
|
|
- 1 |
|
+ |
|
|
|
- 1 |
|
+ λj + ζi = 0 |
| (8) |
(i = 1,...,m, j = 1,...,n) |
|
= |
zj - |
m Σ i = 1 |
xij = 0 |
(j = 1,...,n) |
| (9) |
|
= |
yi - |
n Σ j = 1 |
xij = 0 |
(i = 1,...,m) |
| (10) |
(8)式を xijについて解いて、
xij = tijsij - λjsij - ζisij (i = 1,...,m, j = 1,...,n) |
| (11) |
ここで、
sij = |
dij2yi2
aij2zj2 |
dij2yi2
- aij2zj2 |
|
(i = 1,...,m, j = 1,...,n) |
tij = |
|
+ |
|
(i = 1,...,m, j = 1,...,n) |
である。
(11)式を最小化の必要条件(9)式と(10)式に代入して、
m Σ i = 1 |
tijsij |
- |
λj |
m Σ i = 1 |
sij |
- |
m Σ i = 1 |
ζi |
sij |
= zj |
(j = 1,...,n) |
| (12) |
n Σ j = 1 |
tijsij |
- |
n Σ j = 1 |
λj |
sij |
- |
ζi |
n Σ j = 1 |
sij |
= yi |
(i = 1,...,m) |
| (13) |
を得る。
これは、λ と ζ に関する (n + m) 本の連立方程式体系である。
しかし、(3)式より、このうち1本は一次従属であるから、一般性を失うことなく ζm = 0 とすることができる。
行列表示して、
|
|
| | |
s11 | s21 | … | sm1 |
|
|
| |
s12 | s22 | … | sm2 |
| |
· · · |
|
· · ·
|
· · ·
|
· · · |
· · ·
|
| | |
|
s1n | s2n | … | smn |
s11 | s12 | … | s1n |
|
| | |
s21 | s22 | … | s2n |
|
|
| |
· · ·
|
· · ·
|
· · · |
· · ·
|
| |
· · · |
|
sm1 | sm2 | … | smn |
| | |
|
|
|
|
λ1 |
· · ·
|
· · ·
|
λn |
ζ1 |
· · ·
|
· · ·
|
ζm |
|
|
|
となる。
先に述べたように体系の一次従属性より実際に解かれるのは最初の (n + m - 1) 本である。
この体系を (n + m - 1) 本について解いた後に ζm = 0 として、(11)式に代入することによって バランスのとれた行列 X を求めることができる。
このようにKEO-RAS法は、RAS法と異なり推計上収束計算に頼ることがないという長所がある。
また、ウェイトを
- w |
ij |
= |
|
(i = 1,...,m, j = 1,...,n) |
~ w |
ij |
= |
0 |
(i = 1,...,m, j = 1,...,n) |
とすることにより、解がRAS法の近似解になることが示される。
- [出典]
- 黒田昌裕,新保一成,野村浩二,小林信行(1996), "KEOデータベース", 慶應義塾大学産業研究所, p96-100
[使用方法]
- データ範囲を選択します。自動的に選択範囲の右端列が列CT、下端行が行CTと認識されるので、
最初の選択範囲に含めておくと設定が楽です。
- [ツール]-[RAS]-[KEO-RAS]コマンドを選択します。
- 行列範囲、貼付け先、各種オプションを設定し、[OK]をクリックします。
[KEO-RAS]ダイアログボックス |
|
-[比率行列] |
|
-[投入(縦比)] |
;投入係数行列範囲を指定します。
起動時には最初の選択範囲の右端列、下端行を除いた範囲が指定されています。 |
-[配分(横比)] |
;配分係数行列範囲を指定します。起動時には投入係数範囲が指定されています。
別に指定する場合は、左上セルだけを指定すれば
自動的に投入係数と同サイズの範囲が取得されます。 |
|
-[行CT,列CT] |
;行CT,列CT範囲を指定します。
起動時には最初の選択範囲の右端列,下端行がそれぞれ列CT,行CTとして指定されています。 |
-[出力先] |
;出力先範囲を指定します。
左上セルだけ指定すれば、自動的に必要な範囲に出力されます。 |
-[集計] |
;チェックを入れると、出力先の右側と下側にSUM関数による集計を作成します。
右下端セルにはCOUNTIF関数によるマイナス値のセル数チェックが作成されます。 |
|
-[オプション] | |
-[0値の置換] |
;チェックを入れると、係数行列の0値を、指定した値に置換します。 |
|
-[警告ダイアログ] |
;チェックを入れると、各種の警告ダイアログを表示します。
複数シートグループでの連続処理を行うとき、
チェックを外しておくと途中で中断されることがなくなります。 |
|
- 計算結果が貼り付けられます。
- 注1)
- 別のブックへの貼り付けは出来ません。同じブック内に一時的に貼り付けてから移動して下さい。
- 注2)
- 複数シートグループでの作業では、各シート内の指定アドレスへ貼り付けます。
- 注3)
- 行CTと列CTの総計が一致していないとエラーになります。
- 注4)
- 与えられた比率行列とCTに論理的な矛盾があると判断される場合、
その問題の原因となる部分だけを指定した出力範囲に出力します。
- 注5)
- 配分係数行列範囲は、自動的に投入係数と同サイズの範囲が取得されます。
|