一、怎么利用UIBE的數據庫計算GVC指數
UIBEGVC數據庫里的第二個關于增加值%的計算放在了一個三維表里,對數據指標的使用有一個word文件。名列前茅個文件是對增加值的分解,其中包含了本國使用本國消費的增加值部分,trade是對出口的分解,計算了出口的國內增加值和國外的增加值,還有一個是計算價值鏈長度的指標,其實質是計算看中間品的跨境次數,或者說雖然是長度指標,體現的是產品生產的復雜度。
找到wiod對應的excel文件并打開,刪掉文件的名稱( 即非數字部分 )以2003年為例,刪然后保存,只保留數據。打開matlab文件,即倪紅福老師的分享。其實首先按照那個文檔跑一下是有結果的,但是我們還是操作一下。保存excel文件后,打開matlab打開文件選擇valueadded2007.mat,對其中的部分代碼進行修改。 本人根據倪紅福老師的代碼,修改了其中的之前的部分 ,修改部分如下,視頻中的代碼修改部分
?clear;?
? clc;?
? S=44;???????????????? %這里輸入投入產出表中的國家(區(qū)域)數據。?
? N=56;???????????????? %這里輸入每個國家(區(qū)域)的行業(yè)數。?
? 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全部執(zhí)行延伸閱讀:
二、行式數據庫與列式數據庫應用場景
行式更適合OLTP,比如傳統的基于增刪改查操作的應用。列式更適合OLAP,非常適合于在數據倉庫領域發(fā)揮作用,比如數據分析、海量存儲和商業(yè)智能;涉及不經常更新的數據。
由于設計上的不同,列式數據庫在并行查詢處理和壓縮上更有優(yōu)勢。而且數據是以列為單元存儲,完全不用考慮數據建模或者說建模更簡單了。要查詢計算哪些列上的數據,直接讀取列就行。
最后我們需要務實的指出,沒有使用廣泛的數據庫,列式數據庫也并非使用廣泛,只不過給DBA提供了更多的選擇,DBA需根據自己的應用場景自行選擇。