两阶段网络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 non-life insur ...
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: s ...
用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, y=0 ...
具有多个层次结构的基本圆形包装图
圆形包装代表一个层次:最大的圆(层次的原点)包含几个大圆(第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 # Usually we ...
几个有趣的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语言脚本,有趣的图
我心因你而有爱 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") ...
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的影子流形 ...
用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) & ...
用R语言做分组核密度图
多密度图是表示多个组的密度图。它允许比较它们的分布。这种图表的问题在于它很容易变得混乱:组相互重叠并且图形变得难以阅读。
一个简单的解决方法是使用透明度。但是,它不能完全解决问题,通常最好考虑本文档中进一步建议的示例。
不透明的分组核密度图:
1234567891011121314# 图1library(ggplot2)library(hrbrthemes)library(dplyr)library(tidyr)library(viridis)# Without transparency (left)p1 <- ggplot(data=diamonds, aes(x=price, group=cut, fill=cut)) + geom_density(adjust=1.5) + theme_ipsum()p1
图1
透明的分组核密度图:
1234p2 <- ggplot(data=diamonds, aes(x=price, group=cut, fill=cut)) + geom_density(adjust=1.5, alpha= ...
最基本的桑基图
桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,右图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。
桑基图表示流,即从一个节点到另一个节点的加权连接。输入数据可以以 2 种不同的格式存储:
连接数据框(3 列)
关联矩阵(方阵)
这篇文章描述了如何从这两种类型的输入构建一个基本的桑基图。
代码如下:
12345678910111213141516171819202122232425262728293031# Librarylibrary(networkD3)library(dplyr) # A connection data frame is a list of flows with intensity for each flowlinks <- data.frame( source=c("group_A",&q ...