malmquist指数案例分析

传统的DEA模型可以反应静态的投入产出效率情况,但如果是面板数据,则需要使用malmquist指数进行研究。malmquist指数可以分析从t期到t+1期的效率变化情况。Malmquist指数可分解为技术效率(EC)和技术进步(TC),技术效率(EC)可进一步分解为纯技术效率(PEC)和规模效率(SEC);全要素生产率(TFP)=技术效率(EC)* 技术进步(TC);技术效率(EC)=纯技术效率(PEC)* 规模效率(SEC)。上述总共涉及术语名词汇总如下:


malmquist指数案例

1 背景

当前有一项效率数据研究,DMU为12项且为2010~2012共3年数据。希望通过malmquist指数研究跨期效率变化情况,部分数据如下图所示:

2 理论

malmquist指数包括CCR和BCC两种模型,具体以实际研究为准即可。与此同时,SPSSAU提供非负平移功能,如果某列(某指标)数据出现小于等于0,则让该列数据同时加上一个‘平移值’【该值为某列数据最小值的绝对值+0.01】,以便让数据全部都大于0:

3 操作

本例子操作如下:

选择使用CCR模型,并且放入2个输入项和3个输出项。以及将DMU和Year项分别放入框中。需要注意的是,malmquist指数是针对面板数据进行,如果不是面板数据,系统会提示数据格式不正确,比如10个DMU,5年,那么一定是10*5=50行数据,并且每个DMU一定有相同的5个年份数据。

4 SPSSAU输出结果

SPSSAU共输出Malmquist指数结果,并且表格的个数是由年份数量决定,比如有5年,那么就会在5-1=4个表格,分别标识第1年->第2年,第2年->第3年,第3年->第4年,第4年->第5年的效率变化情况。本次案例数据为3年,因为输出2年表格。

5文字分析

从2010到2011年的变化上看:首先针对全要素生产率TFP来看,DMU为3/6/7/8/10共4项时均有着效率提升,尤其是第10项TFP值最高为3.9421,意味着该项的效率提升非常明显。其余各项均有不同程度的效率衰退。

结合技术效率EC和技术进步TC来看,第7和第10共两项的EC值和TC值均大于1,意味着该两项从2010到2011年,技术效率有着技术效率提升和技术进步。

而且针对纯技术效率PEC和规模效率SEC来看,第7项时纯技术效率有着提升,但规模效率基本无明显变化,SEC值为0.9708,第10项时PEC和SEC值均大于1,意味着第10项时纯技术效率有着提升,而且规模效率也在改善。

类似地:还可进一步分析2011年到2012年的效率变化情况,如下表格所示:

6 剖析

涉及以下几个关键点,分别如下:

  • Malmquist指数研究时,需要特别注意应该为面板数据格式才能使用;
  • 在跨期变化效率求解时,可能出现无法求解因而输出为null值,此种情况相对较多,建议可更换模型,比如从BCC改成CCR进行计算。
  • Malmquist指数通常分为全局参比和相邻参比两种方式,SPSSAU当前提供为全局参比。
  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个使用Python编写Malmquist指数模型的案例。假设我们有两年的输入数据和输出数据,我们将计算两年的Malmquist指数。 ```python import numpy as np from scipy.optimize import linprog # 输入数据 input_data_1 = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]]) output_data_1 = np.array([[100, 110], [120, 130], [140, 150]]) input_data_2 = np.array([[15, 25, 35], [45, 55, 65], [75, 85, 95]]) output_data_2 = np.array([[105, 115], [125, 135], [145, 155]]) # 计算效率得分 def calculate_efficiency_scores(input_data, output_data): num_units = input_data.shape[0] # 初始化线性规划问题 c = np.zeros(num_units) c[0] = -1 # 目标函数为最大化效率 A_eq = np.hstack((input_data.T, -output_data.T)) b_eq = np.ones(input_data.shape[1]) # 求解线性规划问题 res = linprog(c, A_eq=A_eq, b_eq=b_eq) # 返回效率得分 efficiency_scores = res.x[0:num_units] return efficiency_scores # 计算技术变动指数 def calculate_technical_change_index(input_data_1, output_data_1, input_data_2, output_data_2): efficiency_scores_1 = calculate_efficiency_scores(input_data_1, output_data_1) efficiency_scores_2 = calculate_efficiency_scores(input_data_2, output_data_2) technical_change_index = efficiency_scores_2 / efficiency_scores_1 return technical_change_index # 计算技术效率变动指数 def calculate_technical_efficiency_change_index(input_data_1, output_data_1, input_data_2, output_data_2): efficiency_scores_1 = calculate_efficiency_scores(input_data_1, output_data_1) efficiency_scores_2 = calculate_efficiency_scores(input_data_2, output_data_2) efficiency_change_index = efficiency_scores_2 / efficiency_scores_1 return efficiency_change_index # 计算Malmquist指数 def calculate_malmquist_index(input_data_1, output_data_1, input_data_2, output_data_2): technical_change_index = calculate_technical_change_index(input_data_1, output_data_1, input_data_2, output_data_2) efficiency_change_index = calculate_technical_efficiency_change_index(input_data_1, output_data_1, input_data_2, output_data_2) malmquist_index = np.mean(technical_change_index * efficiency_change_index) return malmquist_index # 计算Malmquist指数 malmquist_index = calculate_malmquist_index(input_data_1, output_data_1, input_data_2, output_data_2) print("Malmquist指数:", malmquist_index) ``` 在这个案例中,我们通过调用`calculate_malmquist_index`函数来计算两年的Malmquist指数。该函数内部分别调用了`calculate_technical_change_index`和`calculate_technical_efficiency_change_index`函数来计算技术变动指数和技术效率变动指数。最后,我们计算所有单位的平均Malmquist指数。 请注意,这只是一个简单的示例,实际应用中可能需要根据具体情况进行调整和优化。您可以根据您的实际数据和需求,修改输入数据和输出数据,并调整计算Malmquist指数的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值