LMDI分解方法比较和MATLAB应用

文章目录

  • LMDI分解方法比较和MATLAB应用
    • 1.加法模型和乘法模型与数量指标和强度指标
    • 2. 8种模型的分类
    • 3.数量指标VS强度指标
    • 4.加法模型VS乘法模型
    • 5.LMDI-I VS LMDI-II
    • 6.MATLAB代码

LMDI分解方法比较和MATLAB应用

说明:转载加一部分自己的理解
转载原文:http://blog.sina.com.cn/s/blog_b4c2a9810102wq4c.html

为了分析和理解经济、环境、就业等社会-经济指标的变化,评估其潜在的
  驱动或决定性因素是非常重要的。目前主要用于定量分解指标变化的有两类方法:结构分解方法(Structural Decomposition Analysis,SDA)和指数分解方法(index decomposition analysis,IDA)。
其中IDA方法是分析能耗和温室气体排放驱动因素的有效方法。 根据分解原理,它又可以分为两种方法:Laspeyres指数分解法和Divisia指数分解法[3]。 其中, LMDI(对数平均迪氏指数法,Logarithmic Mean Divisia Index)在分解对象后没有无法解释的残差,并且可以使用加法分解和乘法分解相对简单的转换表达式。因此我们将使用LMDI方法建立模型。
  当前,LMDI分析方法已在许多国家和地区广泛使用。人们考虑的驱动力包括人口,人均GDP(国内生产总值),产业结构,能源强度和最终能源使用消费结构。
  LMDI分解方法包含两种不同的模型:LMDI-I和LMDI-II,其不同点在于所选权重。这两种模型都有乘法和加法两种形式。LMDI从三个角度进行划分:

1.计算方法:LMDI-I和LMDI-II;

2.分解程序:加法模型和乘法模型;

3.数量指数和强度指数。

计算方法不同顾名思义,而加法和乘法模型会在下面介绍。数量指数和强度指数可以以能源消耗和总能源强度为例,

1.加法模型和乘法模型与数量指标和强度指标

能源消耗(数量指标):

式(1)反应消耗的能源总量,式(2)是加法模型,式(3)是乘法模型。
在这里插入图片描述
在这里插入图片描述
总能源强度(强度指标):

式(4)反应总能源强度,式(5)是加法模型,式(6)是乘法模型。

在这里插入图片描述
在这里插入图片描述

2. 8种模型的分类

表1 LMDI模型分类比较
LMDI分解方法比较和MATLAB应用_第1张图片

3.数量指标VS强度指标

数量指标衡量能源消耗的总水平,而强度指标有能源效率的含义。前者中定义了活动影响,而强度指标不包含这层含义。2005年以前,对两种模型的偏好是相同的,但2005年以后,强度指标的选择明显多了起来。一些情况下,研究对象决定了选择哪种方法。例如,研究二氧化碳的总排放问题,往往会选择数量模型;而如果研究能源生产效率,则会选择强度模型。如果对哪一种方法没有特殊偏好,一般会选择数量模型,主要有以下几点原因:

(1)强度指标在应用加法模型时,往往比数量模型困难。

(2)应用乘数模型时,强度指标在结构和强度方面的分解结果与数量指标的LMDI-II相同,非常接近LMDI-I。

(3)数量指标可以得到更多的结果,包含更多的信息。

4.加法模型VS乘法模型

加法模型的使用比例更高,且逐年增加。时间序列都适用于加法和乘法模型,而同比数据则在加法模型中更加方便。

(1)加法模型的内部关联

在这里插入图片描述

(2)乘法模型的内部关联
在这里插入图片描述

加法模型更适合数量指标,而乘法模型更适合强度指标。

5.LMDI-I VS LMDI-II

在应用中,对两个模型没有特殊偏好。

6.MATLAB代码

(1)LMDI-I

%% 数据部分

E=[];%能量消耗为纵轴,时间为横轴;
Q=[];%产量为纵轴,时间为横轴;
S=[];%产业结构为纵轴,时间为横轴;
I=[];%能源消费强度为纵轴,时间为横轴;
%% LMDI-I加法模型
t=size(E,2);
DeltaEtot=sum(E(:,t))-sum(E(:,1));%t时期各部门消费总量与1时期消费总量之差;
DeltaEact=sum(L(E(:,t),E(:,1)))*log(sum(Q(:,t))/sum(Q(:,1)));
DeltaEstr=sum(L(E(:,t),E(:,1)).*log(S(:,t)./S(:,1)));
DeltaEint=sum(L(E(:,t),E(:,1)).*log(I(:,t)./I(:,1)));
%可用DeltaEtot-(DeltaEact+DeltaEstr+DeltaEint)检验误差大小
%% LMDI-I乘法模型
t=size(E,2);
Dtot=sum(E(:,t))/sum(E(:,1));
Dact=exp(sum(L(E(:,t),E(:,1)).*log(sum(Q(:,t))/sum(Q(:,1))))/L(sum(E(:,t)),sum(E(:,1))));
Dstr=exp(sum(L(E(:,t),E(:,1)).*log(S(:,t)./S(:,1)))/L(sum(E(:,t)),sum(E(:,1))));
Dint=exp(sum(L(E(:,t),E(:,1)).*log(I(:,t)./I(:,1)))/L(sum(E(:,t)),sum(E(:,1))));
%可用Dtot-Dact*Dstr*Dint检验误差

(MATLAB代码更新未完待续)

你可能感兴趣的:(数学建模,LMDI,对数平均指数迪氏分解法,MATLAB,建模)