学習目標
DEAとDMUの考え方を理解する.
1入力1出力の場合の効率性を計算できる.
2入力1出力,1入力2出力の場合に,効率的なDMUを図から判定できる.
効率的フロンティアの意味を理解する.
データ包絡分析とは
データ包絡分析 (DEA: Data Envelopment Analysis)は,分析対象の効率性を評価するための手法である(Charnes ほか 1978年 ) .DEAでは,分析対象をDMU (Decision Making Unit)と呼ぶ.DMUは,複数の入力 (input)を複数の出力 (output)に変換するものである.
下の表は,いくつかのDMUの例を示している.
店舗
店員数,面積
売上高,顧客数
大学
教員数,研究費
卒業生数,論文数,特許数
病院
医師数,看護師数,ベッド数
患者数,手術件数,治癒率
1入力1出力
n 個のDMUがあり,\text{DMU}_j (j=1,2,\ldots,n ) は1つの入力 x_j と1つの出力 y_j を持つとする.そのとき,\text{DMU}_j の効率性は
\frac{y_j}{x_j}
で評価できる.これは,単位入力あたりの出力を表している.この値が大きいほど効率がよく,値が最大となるDMUを効率的 (efficient)であるという.
横軸に入力,縦軸に出力をとって点 (x_j, y_j) をプロットすると,原点と点 (x_j, y_j) を結ぶ直線の傾きは y_j/x_j に等しい.したがって,効率的なDMUを通る直線の傾きが最も大きく,すべての点はこの直線上かその下側に位置する.この直線を効率的フロンティア (efficient frontier)と呼ぶ.
2入力1出力
次に,\text{DMU}_j が2つの入力 x_{1j}, x_{2j} と1つの出力 y_j を持つ場合を考える.入力が2つあるため,1入力1出力のように1つの比で効率性を表すことはできない.そこで,出力1単位あたりに必要な入力量
\frac{x_{1j}}{y_j},\quad \frac{x_{2j}}{y_j}
を考える.どちらも,値が小さいほど効率的である.
この2つの値を同時に最小にするDMUがあるとは限らないため,効率性を1つの数値で順位づけすることはできない.そこで,2つの値がどちらも \text{DMU}_j 以下で,少なくとも一方は \text{DMU}_j より小さいような他のDMUが存在しないとき,\text{DMU}_j は効率的であるとする.\text{DMU}_j を点 P_j = \left( x_{1j}/y_j,\ x_{2j}/y_j \right) として平面上にプロットすると,効率的なDMUは点の集まりの左下の境界に並び,これらを結んだ折れ線が効率的フロンティアとなる.
1入力2出力
今度は,\text{DMU}_j が1つの入力 x_j と2つの出力 y_{1j}, y_{2j} を持つ場合を考える.2入力1出力と同様に,入力1単位あたりの出力
\frac{y_{1j}}{x_j},\quad \frac{y_{2j}}{x_j}
を考える.こちらは,値が大きいほど効率的である.2つの値がどちらも \text{DMU}_j 以上で,少なくとも一方は \text{DMU}_j より大きいような他のDMUが存在しないとき,\text{DMU}_j は効率的であるとする.この場合,効率的なDMUは点の集まりの右上の境界に並ぶ.
まとめ
DEAは,複数の入力から複数の出力への変換を行うDMUの効率性を評価する手法である.
1入力1出力の場合,\text{DMU}_j の効率性は y_j/x_j で評価でき,この値が大きいほど効率的である.
2入力1出力の場合は入力を出力で割った比,1入力2出力の場合は出力を入力で割った比を軸にとると,散布図から効率的なDMUを判定できる.
入力または出力が複数ある場合,効率性を1つの数値で表すことはできない.どちらの指標でも劣らず,少なくとも一方では優れている他のDMUが存在しないとき,そのDMUを効率的とみなす.
DEAでは,任意の2点を結ぶ線分上の点が実現可能であると仮定する.効率的なDMUを結ぶ折れ線を効率的フロンティアと呼ぶ.
用語集
Data Envelopment Analysis (DEA)
データ包絡分析
Decision Making Unit (DMU)
意思決定主体;意思決定単位
Reference Set
参照集合
Efficient
効率的
Efficient Frontier
効率的フロンティア
文献案内
DEAは,Charnes ほか (1978年 ) が提案したCCRモデルに始まる.このモデルは チャプター 2 で扱う.
本書で扱わないモデルや応用例については,Cooper ほか (2007年 ) が体系的な教科書であり,Cooper ほか (2011年 ) には各分野の専門家による解説が収められている.
練習問題
練習 1.1 (1入力1出力) 次の表のような入力と出力が与えられたとき,効率的なDMUを求めよ.効率性を [0,1] の範囲で評価せよ.
入力
4
7
8
5
6
出力
2
7
9
4
5
解答 1.1 . まず,出力を入力で割った比 y_j/x_j を求める.この値は1を超えることがあるため,最大値で割って [0,1] の範囲に収める.
コード
import pandas as pd
data = {
"DMU" : ["A" , "B" , "C" , "D" , "E" ],
"input" : [4 , 7 , 8 , 5 , 6 ],
"output" : [2 , 7 , 9 , 4 , 5 ],
}
df = pd.DataFrame(data)
df["ratio" ] = df["output" ] / df["input" ]
df["efficiency" ] = df["ratio" ] / df["ratio" ].max ()
print (df)
DMU input output ratio efficiency
0 A 4 2 0.500000 0.444444
1 B 7 7 1.000000 0.888889
2 C 8 9 1.125000 1.000000
3 D 5 4 0.800000 0.711111
4 E 6 5 0.833333 0.740741
効率性が1となるDMU Cが効率的である.
練習 1.2 (2入力1出力) 次の表のような入力と出力が与えられたとき,効率的なDMUを求めよ.
入力1
6
6
12
4
15
入力2
4
12
9
8
5
出力
2
6
3
2
5
解答 1.2 . 下の図より,DMU B,Eが効率的であることがわかる.
コード
import pandas as pd
import matplotlib.pyplot as plt
data = {
"DMU" : ["A" , "B" , "C" , "D" , "E" ],
"input1" : [6 , 6 , 12 , 4 , 15 ],
"input2" : [4 , 12 , 9 , 8 , 5 ],
"output" : [2 , 6 , 3 , 2 , 5 ],
}
df = pd.DataFrame(data)
x = df["input1" ] / df["output" ]
y = df["input2" ] / df["output" ]
plt.scatter(x, y, color= "#144f78" )
for i in range (len (df)):
plt.text(x[i] + 0.1 , y[i], df["DMU" ][i])
# 効率的フロンティアの描画 B-E
plt.plot(
[1 , 1 , 3 , 6 ],
[6 , 2 , 1 , 1 ],
color= "#b03535" ,
linestyle= "--" ,
label= "efficient frontier" ,
)
plt.xlabel("input1/output" )
plt.ylabel("input2/output" )
plt.xlim(0 , 6 )
plt.ylim(0 , 6 )
plt.grid()
plt.show()
Charnes, A, W W Cooper, と E Rhodes. 1978年. 「Measuring the efficiency of decision making units」 . Eur. J. Oper. Res. 2 (6): 429–44.
Cooper, William W, Lawrence M Seiford, と Kaoru Tone. 2007年. Data envelopment analysis: A comprehensive text with models, applications, references and DEA-Solver software . 2番目 版. Springer.
Cooper, William W, Lawrence M Seiford, と Joe Zhu, 編. 2011年. Handbook on data envelopment analysis . 2番目 版. Springer.