楼主: 柳er
4230 2

[世界经济热点] OECD投入产出表怎么算完全消耗系数和直接消耗系数 [推广有奖]

  • 0关注
  • 0粉丝

学前班

50%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
60 点
帖子
1
精华
0
在线时间
1 小时
注册时间
2024-12-22
最后登录
2025-5-23

楼主
柳er 发表于 2025-5-22 15:16:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位大佬,在OECD投入产出表中如何进行计算直接以及完全消耗系数?Excel stata matlab python都可以接受。批量进行操作。算出各个国家的制造业服务化水平。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:完全消耗系数 直接消耗系数 投入产出表 投入产出 OECD 投入产出表;oecd;投入产出完全消耗系数; 直接消耗系数

沙发
tianwk 发表于 2025-5-29 20:42:41
thanks for sharing

藤椅
lllwww479 发表于 2025-8-16 10:47:18
  1. [code]/*
  2.     OECD投入产出表分析:计算直接消耗系数、完全消耗系数和制造业服务化水平
  3.     功能:批量处理多个国家数据,输出各国制造业服务化水平
  4.     */

  5.     * 清除内存数据,设置工作目录
  6.     clear all
  7.     set more off
  8.    
  9.     * 设置工作目录(请修改为实际数据所在目录)
  10.     cd "C:\your\data\directory"
  11.    
  12.     * 定义制造业和服务业部门(根据实际数据的部门编号调整)
  13.     * 例如:假设10-15为制造业部门,16-25为服务业部门
  14.     local manufacturing_sectors 10 11 12 13 14 15
  15.     local service_sectors 16 17 18 19 20 21 22 23 24 25
  16.    
  17.     * 创建存储结果的数据集
  18.     clear
  19.     set obs 0
  20.     gen country = ""
  21.     gen servitization_level = .
  22.     save servitization_results.dta, replace
  23.    
  24.     * 获取所有投入产出数据文件(假设为CSV格式)
  25.     local files: dir . files "*.csv"
  26.    
  27.     * 批量处理每个国家的数据
  28.     foreach file of local files {
  29.         * 提取国家名称(假设文件名为"国家名_io.csv"格式)
  30.         local country = subinstr("`file'", "_io.csv", "", .)
  31.         di "正在处理:`country'"
  32.         
  33.         * 读取投入产出表数据
  34.         import delimited "`file'", clear
  35.         
  36.         * 假设最后一列是总产出,前面的列是中间投入
  37.         local n_cols = c(k)
  38.         local output_col = `n_cols'
  39.         local input_cols = `n_cols' - 1
  40.         
  41.         * 将数据转换为矩阵
  42.         matrix input_matrix = J(`input_cols', `input_cols', .)
  43.         matrix output_vector = J(`input_cols', 1, .)
  44.         
  45.         * 填充矩阵数据
  46.         forvalues i = 1/`input_cols' {
  47.             * 总产出向量
  48.             matrix output_vector[`i',1] = v`output_col'[`i']
  49.             
  50.             * 投入矩阵
  51.             forvalues j = 1/`input_cols' {
  52.                 matrix input_matrix[`i',`j'] = v`j'[`i']
  53.             }
  54.         }
  55.         
  56.         * 计算直接消耗系数矩阵A = input_matrix ./ output_vector
  57.         matrix A = J(`input_cols', `input_cols', .)
  58.         forvalues j = 1/`input_cols' {
  59.             if output_vector[`j',1] > 1e-6 {  // 避免除以零
  60.                 forvalues i = 1/`input_cols' {
  61.                     matrix A[`i',`j'] = input_matrix[`i',`j'] / output_vector[`j',1]
  62.                 }
  63.             }
  64.         }
  65.         
  66.         * 计算完全消耗系数矩阵B = (I - A)^(-1) - I
  67.         matrix I = I(`input_cols')  // 单位矩阵
  68.         matrix IA = I - A           // I - A
  69.         
  70.         * 检查矩阵是否可逆
  71.         capture matrix IA_inv = inv(IA)
  72.         if _rc != 0 {
  73.             di "警告:`country'的矩阵不可逆,跳过该国家"
  74.             continue
  75.         }
  76.         
  77.         * 计算完全消耗系数
  78.         matrix B = IA_inv - I
  79.         
  80.         * 计算制造业服务化水平:制造业部门对服务业部门的完全消耗之和
  81.         local sum = 0
  82.         foreach m of local manufacturing_sectors {
  83.             foreach s of local service_sectors {
  84.                 * 检查部门编号是否在有效范围内
  85.                 if `m' <= `input_cols' & `s' <= `input_cols' {
  86.                     local sum = `sum' + B[`s',`m']
  87.                 }
  88.             }
  89.         }
  90.         
  91.         * 将结果添加到结果数据集中
  92.         preserve
  93.             use servitization_results.dta, clear
  94.             set obs `=_N + 1'
  95.             replace country = "`country'" in `=_N'
  96.             replace servitization_level = `sum' in `=_N'
  97.             save servitization_results.dta, replace
  98.         restore
  99.     }
  100.    
  101.     * 输出最终结果
  102.     use servitization_results.dta, clear
  103.     sort servitization_level
  104.     list country servitization_level, clean
  105.    
  106.     * 导出为CSV文件
  107.     export delimited using "manufacturing_servitization_results.csv", replace
  108.    
  109.     di "分析完成,结果已保存为manufacturing_servitization_results.csv"
复制代码
[/code]

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-4 10:46