DEA(資料包絡分析)程式模板
阿新 • • 發佈:2019-01-02
在人們的生產活動和社會活動中常常會遇到這樣的問題:經過一段時間之後,需要對具有相同型別的部門或單位(稱為決策單元)進行評價,其評價的依據是決策單元的“輸入”資料和“輸出”資料,輸入資料是指決策單元在某種活動中需要消耗的某些量,例如投入的資金總額,投入的總勞動力數,佔地面積等等;輸出資料是決策單元經過一定的輸入之後,產生的表明該活動成效的某些資訊量,例如不同型別的產品數量,產品的質量,經濟效益等等.再具體些說,譬如在評價某城市的高等學校時,輸入可以是學校的全年的資金,教職員工的總人數,教學用房的總面積,各類職稱的教師人數等等;輸出可以是培養博士研究生的人數,碩士研究生的人數,大學生的人數,學生的質量(德,智,體),教師的教學工作量,學校的科研成果(數量與質量)等等.根據輸入資料和輸出資料來評價決策單元的優劣,即所謂評價部門(或單位)間的相對有效性。
資料包絡分析是運籌學的一個新的研究領域。Charnes和Cooper等人的第一個應用DEA的十分成功的案例,是在評價為弱智兒童開設公立學校專案的同時,描繪出可以反映大規模社會實驗結果的研究方法。在評估中,輸出包括“自尊”等無形的指標;輸入包括父母的照料和父母的文化程度等,無論哪種指標都無法與市場價格相比較,也難以輕易定出適當的權重(權係數),這也是DEA的優點之一。
DEA程式模板
clc
clear
X=[40.4 23.1 33.6 43.2;
2.45 8.56 5.67 10.03;
20 70 93 120;
2500 2000 2500 4000]
Y=[2 3 3 2;
0 .76 0.68 0.83 0.89;
650 850 800 700]
%%此前為資料的處理,只需按列輸入每個程式的X和Y指標集資料即可,無需改動程式。
%%
A1=[X;Y]
[m,~]=size(X)
[s,~]=size(Y)
[~,n]=size(A1)
A2=blkdiag(eye(m),-eye(s))
i=1
%修改此處的i分別等於1至n,即可獲得不同目標的threta值。
A3=[-X(:,i);zeros(s,1)]
A=[A1 A2 A3]
B=[zeros(m,1);Y(:,i)]
lb=zeros(n+m+s+1,1)
x=linprog([zeros(1,n+m+s) 1],A ,B,[],[],lb,[])
theta=x(n+m+s+1)
lambda=x(1:n)
s_=x(n+1:m+n)
s_plus=x(m+n+1:m+n+s-1)