Panda-DEA_1.0正式发布!
经过一段时间的努力工作,Panda-DEA_1.0版本终于正式发布了!
软件的模型选项界面如下:
距离函数
导向
规模报酬
模型
面板模型
此外,一些比较前沿的DEA模型论文的复现和常见的基础模型,Panda-DEA提供了快捷选择模型模块,只需准备好相应的数据,可以一键复现论文的结果,参考理论,复现结果,最大减轻大家写论文的苦恼。
在模型方面,目前包括径向和至前沿最远距离(SBM)两种距离函数,投入,产出、非导向三种导向,凸性前沿和自由处置壳(FDH)两种前沿,规模报酬包括CRS,VRS,NDRS,NIRS,GRS五种类型,模型选项包括超效率和非期望产出两项,如果线性规划出现无可行解,提供赋值为1、赋值为空,和运行FPA(适用径向距离)三阶段法求解三种处理方式。至于Malquist指数,提供相邻参比,全局参比、固定参比、序列参比四种比较常用的参比方式。
至于DEA结果,Panda-DEA提供效率值,投影值和改进比例三项结果,Malquist指数则提供指数和FGLR(19 ...
含有非期望产出的ZSG-DEA模型
今天介绍一种含有非期望产出的ZSG-DEA模型。
该模型的公式如下:
其中yn、en、un和Xk,n分别表示第n个地区的期望产出(GDP),能源投入、非期望产出(CO2),和非能源投入。N为DMU个数,
分别表示第i个地区的能源投入与CO2排放的效率水平,
分别为能源投入和CO2排放效率值的权重,这里作者设置的权重各为0.5,也可以根据研究主题自行设置。这里的
即是零和DEA效率。
根据零和博弈DEA的思想,当一个地区的用能权和碳排放权增加时,其他地区必须减少相同数量的用能权和碳排放权,以保持总量不变。
作者这里采用了比例法进行重新分配,具体的分配公式如下:
这里的e'm和u'm就是根据效率值进行分配后,m地区分配到的用能权和碳排放权份额。在ZSG中,一次调整一般并不能达到零和DEA有效,这里作者参考林坦和宁俊飞提出的迭代法进行迭代求解,直到各个地区的ZSG效率值均达到1为止。
由于文献作者并未贴出原始数据,这里仅写出了代码,经过测试,可以达到作者所描述的效果。
参考文献:基于历史法和零和DEA方法的用能权与碳排放权初始分配研究,刘海英,王钰
...
两阶段网络DEA模型及其计算
今天推出的是两阶段网络DEA模型。
在两阶段网络DEA模型中,第一阶段的产出,作为第二阶段的投入。不同于之前的研究将整体的生产过程和两个子过程视作独立的,Kao这篇文献在测量效率时,考虑了两个子过程之间的串联关系,并且整体效率是两个子过程效率的乘积,因此这种关系两阶段DEA方法计算得到的效率相对于从独立两阶段DEA方法计算的效率更有意义。
两阶段网络DEA的规划式:
则整体效率值Ek和第一阶段效率值Ek1、第二阶段效率值Ek2分别如下
但是在乘数模型中,获得的最优解可能并不唯一,这使得不同DMU之间的效率比较可能会出现问题。作者提出的一个解决办法是,找到能够产生最大的Ek1的解,模型如下:
然后根据Ek=Ek1*Ek2这一关系,计算Ek2的值。
这里用python对这篇文献的模型进行了复现,结果如下:
复现结果
文献结果
可以看到,结果大体保持一致。
参考文献:《Efficiency decomposition in two-stage data
envelopment analysis: An application to n ...
Panda-DEA,一款新的DEA模型软件
数据包络分析 (DEA)
是一种数据驱动的非参数效率测度方法,并由美国著名运筹学家
A.Charnes、W.W.Cooper、E.Rhodes (1978)
首先提出。由于其不预设定具体函数形式和允许多种投入产出的优点,现已被学者们广泛用于评估决策单元的投入产出效率。经过数十年的发展,DEA模型及理论的发展十分迅速,国内外期刊,不断有人提出崭新的DEA模型,如零和收益(ZSG)DEA、网络DEA模型、含有非期望产出的SBM模型等等。大家在运用DEA模型的时候,碰到的一大难题就是如何求出DEA模型的结果,那一行行的约束公式,往往令人望而生畏。虽然市场上已经出现了为数众多的DEA模型软件,但是大多只能计算一些常见的DEA模型,对于一些前沿模型,则无能为力。有鉴于此,我们开发了一款新的DEA效率计算软件:Panda-DEA,除了会包含基础的DEA模型外,具有如下特点:
1、操作简单,无需对数据做过多处理;
2、结果以论文为导向,如零和收益ZSG-DEA模型,会直接进行多次迭代,并将迭代结果写入文件,用户可以直接放进论文;
3、以近两年国内外的前沿DEA理论为基础,不断增加新 ...
用R语言做面板数据回归
用R语言做面板数据回归:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123library(plm)library(psych)library(xts)library(tseries)library(lmtest) ## import datasetdatas<-read.table("data.txt",header =TRUE) ## adf testpcgdp<-xts(datas$PCGDP,as.Date(datas$year))adf.test(pcgdp)# result: ...
用ggplot2镜像密度图
密度图是数值变量分布的表示。比较
2 个变量的分布是一个常见的挑战,可以使用镜像密度图来解决:2 个密度图面对面放置,可以有效地比较它们。这是使用ggplot2库构建它的方法。
geom_density由于ggplot2的 geom 构建了密度图(参见基本示例)。通过指定可以倒置绘制此密度y = -..density..。建议使用geom_label来表示变量名。
12345678910111213141516171819202122# Librarieslibrary(ggplot2)library(hrbrthemes)# Dummy datadata <- data.frame( var1 = rnorm(1000), var2 = rnorm(1000, mean=2))# Chartp <- ggplot(data, aes(x=x) ) + # Top geom_density( aes(x = var1, y = ..density..), fill="#69b3a2" ) + geom_label( aes(x=4.5, ...
具有多个层次结构的基本圆形包装图
圆形包装代表一个层次:最大的圆(层次的原点)包含几个大圆(第1层的节点),其中包含较小的圆(第2层)等等。最后一层称为叶子。
输入数据是节点之间的边列表。它应该看起来或多或少像旁边的桌子。此外,我们通常将此表与另一个为每个节点提供特征的表一起提供。
最基本的圆形包装ggraph
该ggraph软件包使从边缘列表构建圆形包装变得轻而易举。这是一个基于flare包提供的数据集的示例。
第一步是借助包的graph_from_data_frame()功能将数据框转换为图形对象igraph。然后,ggraph提供geom_node_circle()将构建图表的功能。
123456789101112131415161718# Librarieslibrary(ggraph)library(igraph)library(tidyverse) # We need a data frame giving a hierarchical structure. Let's consider the flare dataset:edges <- flare$edges # Usuall ...
几个有趣的R代码
此图代表我的心
n=50000; r=0.7;r_e=(1-r*r)^.5; X=rnorm(n); Y=X*r+r_e*rnorm(n); Y=ifelse(X>0,Y,-Y); plot(X,Y,col="pink")
几个有趣的R代码
R语言脚本,有趣的图
我心因你而有爱
n=50000; r=0.7;r_e=(1-r*r)^.5; X=rnorm(n); Y=X*r+r_e*rnorm(n); Y=ifelse(X>0,Y,-Y); a<-sample(c(2,6,7,8),50000,T) b<-sample(c(76,79,86,69),50000,T) plot(X,Y,col=0) text(X,Y,"lOVE",col=a)
此图太猥琐了,运行结果就不贴上了
xrange = c(-15, 15) yrange = c(0, 16) plot(0, xlim = xrange, ylim = yrange, type = "n") #plot(xran ...
DKM_1.3---CCM收敛交叉映射
今日更新DKM_1.3,版本更新内容:CCM收敛交叉映射、两阶段嵌套泰尔指数、三阶段嵌套泰尔指数。此前嵌套泰尔指数分解是单独的脚本,这次一并合并到DKM_1.3中。
目前因果检验常用的格兰杰因果检验,主要是依据时间序列的预测能力来识别序列之间的因果关系。如,我们有一个模型来预测时间序列Y,如果在模型中移除时间序列X,则模型对Y的预测能力大大降低,此时可以说X是Y的一个原因。
但是,格兰杰因果检验的前提是时间序列之间要满足可分离性,这就要求系统之间,各变量是纯随机的,或者线性的。但是,有些系统中,各个时间序列之间彼此依赖,并不能分离,又或者彼此之间是弱耦合的,这时格兰杰因果检验就不再适用。
针对这个问题,Sugihara等(2012)在Detecting Causality in Complex
Ecosystems这篇文章中,提出了CCM收敛交叉映射算法。
具体做法如下:
假设有X和Y两个时间序列如下:
{X} = { X(1) ,X(2) ,X(3) ,…,X(L) }
{Y} = { Y(1) ,Y(2) ,Y(3) ,…,Y(L) }
分别构造X和Y的影子流形M ...
用R语言做圆形条形图
圆形条形图是一种条形图,其中条形图沿圆形而不是线显示。本页旨在教您如何制作带有组的圆形条形图。
第一步是建立一个圆形的条形图,圆圈中有一个中断。实际上,我只是在初始数据框的末尾添加了几行空行:
12345678910111213141516171819202122232425262728293031323334353637383940# 图1library(tidyverse) # Create datasetdata <- data.frame( individual=paste( "Mister ", seq(1,60), sep=""), value=sample( seq(10,100), 60, replace=T)) # Set a number of 'empty bar'empty_bar <- 10 # Add lines to the initial datasetto_add <- matrix(NA, empty_bar, ncol(data))colnames(to_add) ...