一、怎么利用UIBE的数据库计算GVC指数
UIBEGVC数据库里的第二个关于增加值%的计算放在了一个三维表里,对数据指标的使用有一个word文件。名列前茅个文件是对增加值的分解,其中包含了本国使用本国消费的增加值部分,trade是对出口的分解,计算了出口的国内增加值和国外的增加值,还有一个是计算价值链长度的指标,其实质是计算看中间品的跨境次数,或者说虽然是长度指标,体现的是产品生产的复杂度。
找到wiod对应的excel文件并打开,删掉文件的名称( 即非数字部分 )以2003年为例,删然后保存,只保留数据。打开matlab文件,即倪红福老师的分享。其实首先按照那个文档跑一下是有结果的,但是我们还是操作一下。保存excel文件后,打开matlab打开文件选择valueadded2007.mat,对其中的部分代码进行修改。 本人根据倪红福老师的代码,修改了其中的之前的部分 ,修改部分如下,视频中的代码修改部分
clear;
clc;
S=44; %这里输入投入产出表中的国家(区域)数据。
N=56; %这里输入每个国家(区域)的行业数。
nfd=5;
G=xlsread(‘副本WIOT2003_Nov16_ROW.xlsx’); % 从excel中读取数据24464*2464
fd=G([1:N*S],[N*S+1:(N*S+nfd*S)]); %提出最终需求矩阵。
FD = squeeze(sum(reshape(fd,S*N,nfd,[]),2));
GRTR_FNL_cs_c = FD(1:S*N,1:S);
AA=G([1:S*N], [1:S*N]); %取中间投入矩阵816*816
TI=squeeze(sum(reshape(AA,S*N,N,[]),2))+GRTR_FNL_cs_c; %取总投入
TI = sum(TI,2);
A=AA./repmat(TI,1,S*N)’;
A(isnan(A))=0;
A(isinf(A))=0;
v=1-sum(A);
I=eye(S*N); %单位矩阵,单位矩阵生成函数
I1=eye(N); %部门数的单位矩阵
B=I/(I-A); %求列奥列夫逆矩阵,这个矩阵是一个全局的逆矩阵。
把上面的代码放到FA前面,下面开始运行修改部分变量(S和N),主要修改表头。其中S:国家数量;N 代表部门。wiod数据库包含44个国家,56个部门。因此矩阵的数量应该是44*56=2464.导入成功后就是2464*2464个元素的方阵。后面就是全选点击运行。程序跑完以后,左面出现了T1-T16,便是王直(2013)的十六项分解结果。若自己有需要分解成八项,可以在词基础上添加。例如:针对不能相加的命令,’cell’ 类型的操作数不支持运算符 ‘+’。解决方法:T1=cell2mat(T1); //对T1-T12全部执行延伸阅读:
二、行式数据库与列式数据库应用场景
行式更适合OLTP,比如传统的基于增删改查操作的应用。列式更适合OLAP,非常适合于在数据仓库领域发挥作用,比如数据分析、海量存储和商业智能;涉及不经常更新的数据。
由于设计上的不同,列式数据库在并行查询处理和压缩上更有优势。而且数据是以列为单元存储,完全不用考虑数据建模或者说建模更简单了。要查询计算哪些列上的数据,直接读取列就行。
最后我们需要务实的指出,没有使用广泛的数据库,列式数据库也并非使用广泛,只不过给DBA提供了更多的选择,DBA需根据自己的应用场景自行选择。