Implementando modelo DEA no R Joé Francico Moreira Peanha profeorfmp@hotmail.com UERJ Alexandre Marinho alexandre.marinho@ipea.gov.br UERJ Luiz da Cota Laurencel llaurenc.ntg@terra.com.br UERJ Marcelo Ruben do Santo do Amaral mruben@ime.uer.br UERJ Reumo:O preente artigo tem por obetivo apreentar a implementação do modelo cláico da Análie Envoltória de Dado (DEA Data Envelopment Analyi) no ambiente R, em particular o modelo com retorno contante de ecala (CRS) e o modelo com retorno variável de ecala (VRS), na verõe do multiplicadore e envelope e com orientação ao inumo. A implementação computacional é ilutrada por meio de um etudo de cao com a 18 maiore ditribuidora do etor elétrico braileiro. Palavra Chave: DEA - R - computação - energia elétrica -
1. ITRODUÇÃO O preente artigo tem por obetivo apreentar a implementação do modelo cláico da Análie Envoltória de Dado (DEA Data Envelopment Analyi) no ambiente R, em particular o modelo com retorno contante de ecala (CRS) e o modelo com retorno variável de ecala (VRS), na verõe do multiplicadore e envelope e com orientação ao inumo. A implementação computacional é ilutrada por meio de um etudo de cao com a 18 maiore ditribuidora do etor elétrico braileiro. Introduzida por Charne, Cooper e Rhode em 1978, a Análie Envoltória de Dado é uma importante área da Pequia Operacional e da Ciência Econômica, conforme atetado pela enorme quantidade de publicaçõe com aplicaçõe prática e deenvolvimento teórico ao longo de pouco mai de trê década (COOK & SEIFORD, 2009). De forma reumida, a Análie Envoltória de Dado pode er decrita como uma técnica não paramétrica, baeada em programação linear, para a avaliação da eficiência de organizaçõe (Deciion Making Unit - DMU) que atuam em um memo ramo de atividade, por exemplo, ecola pública, agência bancária, fábrica e conceionária de erviço público. Atualmente a Análie Envoltória de Dado conta com uma variedade de modelo que abrangem dede o modelo DEA cláico (decrito nete artigo) e ua variaçõe, até abordagen que combinam o modelo DEA com método de imulação de Monte Carlo, modelo etatítico e lógica fuzzy. Paralelamente ao avanço teórico, oberva-e a evolução do programa dedicado à DEA, dede oftware comerciai como o DEA Solver Pro (http://www.aitechinc.com/product/prod-dp.ap), Frontier Analyt (http://www.banxia.com/frontier/), MaxDEA (http://www.maxdea.cn/) e PIM-DEASoft (http://www.deaoftware.co.uk/), até programa não comerciai como DEAP (http://www.uq.edu.au/economic/cepa/deap.php) e SIAD (http://www.uff.br/deciao/). Uma lita mai abrangente do programa dedicado à DEA e ua funcionalidade pode er encontrada em (ÂGULO-MEZA et al, 2005). Detacae também página na internet que oferecem a poibilidade de obter reultado de diferente modelo DEA mediante a imple introdução do dado de entrada, por exemplo, http://www.dea.uni-hohenheim.de/index.php. Adicionalmente, o modelo DEA podem er programado em planilha eletrônica por meio do Solver Excel, conforme decrito por Ragdale (2009). Embora o programa comerciai e livre eam prático e contem com divero modelo e recuro para a aplicação da Análie Envoltória de Dado, a poibilidade de programar modelo DEA, em uma planilha eletrônica ou em qualquer outra linguagem computacional, é intereante, poi oferece ao analita uma grande flexibilidade na implementação computacional do modelo, incluive na invetigação de inovaçõe. Mai recentemente, o advento do programa R (http://www.r-proect.org/), um oftware livre e open ource, altamente extenível, diponibiliza uma variedade de funçõe para análie de dado e rotina gráfica por meio de funçõe nativa ou obtida em pacote (package) ditribuido na internet. Por exemplo, o R conta com doi pacote dedicado ao modelo DEA: o FEAR (Frontier Efficiency Analyi with R) (http://www.clemon.edu/economic/faculty/wilon/software/fear/fear.html) e o Benchmarking (BOGETOFT & OTTO, 2011). Contudo o R é mai do que uma imple biblioteca de pacote, poi permite que o analita contruam eu próprio programa ou package. Portanto, por meio do R, o analita podem obter oluçõe de baixo cuto e livre da retrita opçõe oferecida pelo programa dedicado apena ao modelo DEA.
O artigo etá organizado em quatro eçõe. A eguir, na eção 2, tem-e a formulação matematica do modelo DEA cláico (modelo CRS e VRS). a equência, na eção 3 ão apreentado o código para execução do modelo DEA cláico no R. Por fim, na eção 4 ão apreentada a principai concluõe do artigo. 2. MODELOS DEA CLÁSSICOS Conidere uma tecnologia de produção que tranforma um vetor com tipo de input X={x 1,..., x } R S em um vetor com m tipo de output Y ={y 1,..., y m } R m. A tecnologia de produção pode er repreentada pelo conunto de poibilidade de produção, definido como o conunto formado por toda a poívei forma de produzir o vetor de produto Y a partir de diferente combinaçõe do inumo no vetor X: T(X,Y) = { (X,Y) é viável produzir Y a partir de X } Sob o enfoque de conervação de recuro (orientação ao inumo), define-e a medida de eficiência técnica () de uma DMU (X,Y) como endo a máxima contração radial do vetor de inumo X que permite produzir a mema quantidade de produto Y, ou ea: Eficiência = Min { (X,Y) T(X,Y) } onde pode aumir um valor menor ou igual a unidade. Um valor unitário para indica que não é poível reduzir a quantidade de inumo e manter a mema produção. ete cao a DMU é tecnicamente eficiente. Cao contrário, quando < 1, ignifica que há um exceo de inumo e a DMU é tecnicamente ineficiente. Com bae no reultado acima e admitindo a hipótee de rendimento contante de ecala e tecnologia convexa Charne, Cooper e Rhode (1978) propueram o primeiro modelo DEA, conhecido como CCR ou CRS (Contant Return of Scale). ete modelo a eficiência é formulada como um Problema de Programação Linear (PPL), onde a função obetivo é a máxima contração do inumo (orientação ao inumo) e a retriçõe do problema repreentam o conunto de poibilidade de produção. Poteriormente, Banker, Charne e Cooper (1984) adicionaram uma retrição de combinação convexa no modelo CRS, criando um modelo que contempla a hipótee de rendimento variávei de ecala, conhecido como BCC ou VRS (Variable Return of Scale). A eguir, na Tabela 1 ão apreentado doi modelo DEA com orientação ao inumo e na formulação envelope, onde é o total de DMU analiada e o par (X,Y ) repreenta o vetore de inumo e produto da -éima DMU, =1,. Denotando a olução ótima do modelo (1) e (2) por (*,* 1,...,* ), a DMU avaliada (DMU 0) é eficiente, e e omente e, *=1 e toda a folga na retriçõe ão nula na olução ótima. Cao contrário, quando *<1 ou *=1, porém com folga poitiva, a DMU 0 é ineficiente. O coeficiente * >0 =1, indicam a DMU que compõem o conunto de referência (peer et) da DMU 0.
Tabela 1: Modelo DEA com orientação ao inumo na formulação envelope. Modelo CRS eficiência DMU 0 Min (1).a. 0 1 X X 0 1 Y Y 0 1,..., 0,..., 0 m+ retriçõe +1 variávei Modelo VRS eficiência DMU 0 Min (2).a. 0 1 X X 0 1 Y Y 1 1 0 1,..., 0,..., m++1 retriçõe +1 variávei Quando uma DMU tranforma x unidade de um tipo de inumo em y unidade de um tipo de produto, a ua eficiência pode er avaliada pelo quociente de produtividade total y/x. A generalização, para o cao com múltiplo inumo e múltiplo produto, conite em calcular o eguinte quociente: u y u y u y U Y eficiência m m 1 1 2 2 (3) v x v x v x V X 1 1 2 2 onde o vetore V=(v 1,v 2,...,v ) e U=(u 1,u 2,...,u m ) denotam o peo atribuído à quantidade de input e output repectivamente. Charne, Cooper e Rhode (1978) ugerem que o vetore U e V eam determinado por meio do problema de programação linear (4) indicado na Tabela 2 e denominado modelo DEA/CRS com orientação ao inumo na verão do multiplicadore. Ainda na Tabela 2, o PPL (5) é o modelo DEA/VRS com orientação ao inumo na verão do multiplicadore. Prova-e que o modelo (4) é o dual do modelo (1) e que o modelo (5) é o dual do modelo (2). m i1 Tabela 2: Modelo DEA com orientação ao inumo na formulação do multiplicadore. Modelo CRS Modelo VRS Max u i y i, 0 (4) Max u y (5).a. i1 i1 m vi xi ui yi 0 1,..., 0,..., v i x i, 0 i1 1 u i 0 i 1,m v i 0 i 1, +1 retriçõe m+ variávei.a. i1 i1 m i1 m i i, 0 u0 vi xi ui yi u0 0 1,..., 0,..., v i x i, 0 i1 1 u i 0 i 1,m v i 0 i 1, +1 retriçõe m++1 variávei o PPL (5) a variável u 0 é irretrita em inal e indica e o rendimento é decrecente (u 0 <0), contante (u 0 =0) ou crecente (u 0 >0) em ecala. Denotando a olução ótima de (4) e
(5) por (*, u*,v*), a DMU 0 é coniderada eficiente, e e omente e, *=1 e todo o elemento de u* e v* ão poitivo. Cao contrário, quando *<1 ou quando *=1, porém com elemento nulo em u* e v*, a DMU 0 é coniderada ineficiente. O peer et de uma DMU ineficiente é formado pela DMU aociada com a retriçõe ativa. 3. IMPLEMETADO O MODELO DEA O R O programa pode er organizado em trê parte: entrada de dado, proceamento e gravação do reultado. a maioria da veze o dado de entrada de um modelo DEA encontram-e armazenado em uma planilha MS Excel, por exemplo, a planilha ilutrada na Figura 1 contendo dado de 2009 da 18 maiore ditribuidora de energia elétrica que atuam no Brail, onde ão informado o cuto operacional total em R$ (OPEX), a extenão total (km) da rede de ditribuição (ETWORK), o volume de energia tranacionada ao longo do ano (MWh) e o número de unidade conumidora (CUSTOMERS). Figura 1: Matriz de Dado (Fonte: Agência acional de Energia Elétrica - Aneel) O erviço pretado por uma ditribuidora tem dua dimenõe báica: o volume de energia ditribuída e o número de unidade conumidora atendida e que unto contituem o principai driver do cuto operacional. Adicionalmente, o cuto operacionai também ão influenciado por fatore não controlávei pela ditribuidora, por exemplo, a diperão da unidade conumidora um apecto aociado com o tamanho e a cobertura da rede de ditribuição. Para um determinado nível de erviço, a ditribuidora deve provê-lo com o menor cuto poível. Com bae na conideraçõe acima e tendo como obetivo a obtenção de uma medida de eficiência que quantifique o potencial de redução do cuto operacionai, em cada conceionária, a Agência acional de Energia Elétrica (AEEL) propõe um modelo DEA com orientação ao inumo, no qual o OPEX é o único input e com trê output: volume de energia ditribuída, número de unidade conumidora e extenão da rede de ditribuição. A importação do dado pode er realizada pelo comando read.xl, uma função diponibilizada no pacote xlreadwrite (http://cran.rproect.org/web/package/xlreadwrite/xlreadwrite.pdf). Admitindo que o dado eteam armazenado em uma planilha denominada dado.xl, localizada no diretório c:\exemplo, a importação do dado da planilha para o R pode er realizada pelo eguinte comando (comentário apó #): require(lpsolve) # carrega pacote lpsolve previamente intalado require(xlreadwrite) # carrega pacote xlreadwrite previamente intalado etwd('c:/exemplo') # define o diretório de trabalho
data <- read.xl('dado.xl',colame =TRUE,heet=1, type='data.frame',from=1) # importa o dado o código R acima, colame=true indica que a primeira linha contém o rótulo da variávei, heet=1 informa que o dado etão na pata 1 do arquivo e que devem er lido a partir da célula A1 da planilha (from=1), enquanto a opção type informa ao R que o obeto data (que recebe o dado da planilha) é do tipo data.frame (VERZAI, 2005). Figura 2: The data obect in R and the data import code O obeto data contém a lita de variávei candidata ao inumo e produto do modelo DEA. Aim, é neceário indicar quai ão a variávei coniderada no modelo e claificá-la entre inumo (input) e produto (output). Conforme ilutrado na Figura 2, a variável input (OPEX) etá na egunda coluna da matriz de dado, enquanto o output etão na coluna 3 (ETWORK), 4 (MWH) e 5 (CUSTOMERS). A eleção do input e output pode er feita pelo eguinte comando do R: input<- data.frame(data[,2]) # eleciona coluna 2 do obeto data output <- data.frame(data[,c(3,4,5)]) # eleciona coluna 3, 4 e 5 do obeto data <- dim(data)[1] # número de DMU <- dim(input)[2] # número de input m <- dim(output)[2] # número de output O proceamento de modelo DEA conite em reolver um PPL para cada uma da DMU analiada. o cao de um modelo DEA/CRS orientado ao inumo na verão do multiplicadore, para cada DMU é reolvido um modelo com a mema etrutura do PPL (4). A olução do PPL no R pode er obtida por meio da função lp do pacote lpsolve (http://cran.rproect.org/web/package/lpsolve/lpsolve.pdf), cuo argumento de entrada ão o coeficiente da função obetivo, a orientação do problema (maximização ou minimização), o coeficiente tecnológico da retriçõe e o repectivo valore do RHS e o tipo de cada retrição (<=, =, >=). O PPL (4) pode er expreo da eguinte maneira: Max. t. c input b T T z z z output z 0 1 0 (6)
Em (6) o input e output ão o obeto do R definido pelo código imediatamente acima do parágrafo anterior, z T =[v u 1 u 2 u 3 ] é o vetor com a variávei de decião, b T é o vetor com o input da DMU avaliada (DMU0) e c T é o vetor com o coeficiente da função obetivo. A eficiência de cada DMU pode er avaliada pelo código R indicado a eguir, onde i é o índice da DMU avaliada (DMU0) e o vetore b e c ão modificado automaticamente para cada DMU: f.rh <- c(rep(0,1,),1) # RHS f.dir <- c(rep("<=",1,),"=") # direção da retriçõe aux <- cbind(-1*input,output) # matriz com o coeficiente tecnológico em (6) for (i in 1:) { f.ob <- c(0*rep(1,),a.numeric(output[i,])) # coeficiente da função obetivo f.con <- rbind(aux,c(a.numeric(input[i,]), + rep(0,1,m))) # adiciona a retrição b T z=1 reult <- lp("max",a.numeric(f.ob),f.con,f.dir,f.rh,cale=1,compute.en=true) # reolve PPL multiplier <- reult$olution # multiplicadore efficiency <- reult$obval # indice de eficiência dual <- reult$dual # if (i==1) { } ele { } } weight <- multiplier effcr <- efficiency lambda <- dual [eq(1,)] weight <- rbind(weight,multiplier) effcr <- rbind(effcr, efficiency) lambda <- rbind(lambda,dual[eq(1,)]) ote que na função lp ão informado todo o elemento de um PPL: a orientação do problema (max ou min), o coeficiente da função obetivo (f.ob), o coeficiente tecnológico da retriçõe (f.con), a direçõe da retriçõe <=, = ou >= (f.dir) e o RHS (f.rh) da retriçõe. O reultado gerado pela função lp ão armazenado no obeto reult, por exemplo, o multiplicadore (reult$olution), a variávei duai (reult$dual) e a eficiência (reult$obval). Por meio do código R apreentado abaixo, o índice de eficiência e o multiplicadore (U e V) podem er exportado para a planilha MS Excel ilutrada na Figura 3. planilha <- cbind(effcr,weight) rowname(planilha) <- data[,1] # nomea da linha (emprea) colname(planilha) <- c('efficiency', name(input),name(output)) # nome da coluna write.xl(planilha,"reultcr.xl",colame=true,heet = 1,from = 1) # grava arquivo
Figura 3: Reultado do modelo DEA CRS/M/I Da mema forma, o eguinte código R exporta a variávei duai () para a planilha MS Excel apreentada na Figura 4. planilha <-lambda rowname(planilha) <- data[,1] # ecreve nome da emprea na linha colname(planilha) <- data[,1] # ecreve nome da emprea na coluna write.xl(planilha,"dualcr.xl",colame = TRUE,heet = 1,from = 1) # grava arquivo Figura 4: Variávei duai Conforme ilutrado na Tabela 2, a diferença entre o modelo CRS e VRS reide na variável irretrita u 0 preente apena nete último modelo. A variável irretrita em inal é modelada pela diferença de dua variávei não negativa (u 0 = u + - u -, u + 0 e u - 0), conforme ilutrado no programa abaixo para um modelo VRS orientado ao inumo na verão do multiplicadore (5): f.rh <- c(rep(0,1,),1) # RHS f.dir<-c(rep("<=",1,), "=") # direção da retriçõe aux <- cbind(-1*input,output,1,-1) # matriz de coeficiente tecnológico for (i in 1:) { f.ob<-c(rep(0,1,),a.numeric(output[i,]),1,-1) # 1 e -1 repreentam u + - u - f.con<- rbind(aux,c(a.numeric(input[i,]), rep(0,1,m),0,0)) reult<-lp("max",a.numeric(f.ob),f.con,f.dir,f.rh,cale=1,compute.en=true) # reolve o PPL
multiplier <- reult$olution efficiency <- reult$obval dual<-reult$dual u0<-multiplier[+m+1]-multiplier[+m+2] if (i==1) { weight <- c(multiplier[eq(1,+m)],u0) effvr <- efficiency lambda <- dual [eq(1,)] } ele { } } weight<-rbind(weight,c(multiplier[eq(1,+m)],u0)) effvr <- rbind(effvr, efficiency) lambda <- rbind(lambda,dual[eq(1,)]) Getão e Tecnologia para a Competitividade O índice de eficiência oriundo do modelo CRS e VRS e a eficiência de ecala (COOPER et al, 2002) ão ilutrado na Figura 5 gerada pelo eguinte código R. par(mar=c(10,5,1, 8), xpd=true) cale <- effcr/effvr preadheet <- cbind(effcr,effvr,cale) rowname(preadheet) <- data[,1] colname(preadheet) <- c ("CRS","VRS","SE") barplot(t(preadheet),col=palette()[c(1,4,7)], ylab="efficiency",beide=true,la=3) legend("topright",inet=c(-0.2,0),colname(preadheet),fill=palette()[c(1,4,7)],bty="n") A decompoição apreentada na Figura 5 permite identificar e a fonte de ineficiência reide na operação, na ecala ou em amba (COOPER et al, 2002).
Figura 5: Índice de eficiência CRS, VRS e de ecala (SE Scale Efficiency) 4. COCLUSÕES O R é um programa livre e open ource, altamente extenível e largamente difundido na comunidade acadêmica oferece um ambiente computacional intereante para atividade de pequia e deenvolvimento de aplicaçõe de método quantitativo. Embora a Análie Envoltória de Dado (DEA) conte com uma ampla diponibilidade de oftware comerciai e não comerciai que oferecem ao analita uma variedade de modelo DEA e ofiticado recuro gráfico, a opçõe oferecida pelo oftware ão retrita. A poibilidade de implementar o modelo DEA no ambiente R torna o analita livre da limitaçõe do oftware dedicado e, principalmente, facilita a integração da Análie Envoltória de Dado com outra técnica quantitativa, um apecto importante quando e conidera uma vião mai ampla do proceo de tomada de decião. O programa apreentado no preente artigo contituem apena um exemplo de como implementar modelo DEA no ambiente R. Contudo, detaca-e que o código decrito no artigo podem er facilmente adaptado para verõe mai ofiticada do modelo DEA, por exemplo, modelo com equema de retriçõe ao peo, avaliação cruzada, DEA em doi etágio, modelo para alocação de recuro e até memo modelo Fuzzy-DEA. Adicionalmente o R conta com funçõe que permitem elaborar interface gráfica amigávei (pacote RGtk2 http://www.ggobi.org/rgtk2/), além de poder er facilmente integrado ao Excel (pacote RExcel http://rcom.univie.ac.at/). 5. REFERÊCIAS AGULO-MEZA, L., BIODI ETO, L., SOARES DE MELLO, J.C.C.B., GOMES, E.G. ISYDS Integrated Sytem for Deciion Support (SIAD Sitema Integrado de Apoio à Decião): A oftware package for Data Envelopment Analyi Model, Pequia Operacional, v.25, n.3, pp. 493-503, Setembro a Dezembro, 2005. BAKER, R.D., CHARES A., COOPER, W.W. Some model for etimating technical and cale inefficiencie in data envelopment analyi, Management Science (30): 1078-1092, 1984.
Powered by TCPDF (www.tcpdf.org) Getão e Tecnologia para a Competitividade BOGETOFT, P., OTTO, L. Benchmarking with DEA, SFA and R, Springer Science, 2011. CHARES, A., COOPER, W.W., RHODES, E. Meauring the Efficiency of Deciion Making Unit, European Journal of Operational Reearch: 429-444, 1978. COOK, W.D., SEIFORD, L.M. Data Envelopment Analyi (DEA) Thirty year on, European Journal of Operational Reearch, 192: 1-17, 2009. COOPER, W.W., SEIFORD, L.M., TOE, K. Data Envelopment Analyi: A comprehenive text with model, application, reference and DEA-Solver Software, Kluwer Academic Publiher, 2002. R DEVELOPMET CORE TEAM R. A language and environment for tatitical computing. R Foundation for Statitical Computing, Vienna, Autria. URL http://www.rproect.org/, 2011. VERZAI, J. Uing R for introductory tatitic, Chapman & Hall/ CRC Pre, 2005.