13  区域经济

在区域经济研究中,专业化程度、市场集中度和产业集聚水平是衡量区域经济发展特征的重要指标。本篇介绍如何批量计算:

通过这些指标的计算与分析,可以深入理解区域产业结构特征和竞争优势。

加载包:

library(tidyverse)
library(mathmodels)

13.1 区位商

区位商,是一种衡量某一地区某产业或经济活动的专业化程度的指标。其核心思想是:如果一个地区某产业的比重显著高于全国该产业的比重,则说明该地区在该产业上具有相对优势或专业化特征。

区位商作为一种简洁有效的相对指标,广泛应用于区域经济分析、产业政策制定、城市规划、企业选址及学术研究等领域。从国内外研究实践来看,该方法用途广泛,已成为识别区域产业发展特征的重要工具。具体应用包括:

  1. 识别优势产业与主导产业:通过比较各产业的区位商,判断哪些部门在区域中具有专业化优势,是区域经济发展的核心动力,为政府制定产业扶持政策提供依据。

  2. 判断产业集群与专业化水平:反映特定产业在某一地区的集聚程度,辅助分析产业集聚趋势和区域分工格局。

  3. 分析就业结构与劳动力配置:可应用于就业数据,评估某一行业在区域内的就业集中度和发展潜力。

  4. 支持产业政策与结构调整:帮助决策者识别竞争力较弱的“输入型”产业,明确产业结构优化和转型升级的方向。

  5. 指导城市功能定位与企业投资选址:用于评估城市经济功能(如工业型、服务型、创新型城市),并为企业在特定地区投资布局提供可行性参考。 综上,区位商方法是判断不同部门(产业)在区域经济发展中是否具备比较优势的行之有效手段,尤其在主导产业选择、产业集群识别和区域发展战略制定中具有重要应用价值。

13.1.1 区位商计算公式

区位商计算公式为: \[ LQ_{ij}=\frac{E_{ij}/E_i}{E_{\cdot j}/E} \] 其中,

  • \(E_{ij}\) 为地区 \(i\) 的产业 \(j\) 的产值(或就业人数等)
  • \(E_i\) 为地区 \(i\) 的总产值(或总就业人数)
  • \(E_{\cdot j}\) 为全国产业 \(j\) 的总产值
  • \(E\) 为全国总产值

结果解读:

  • \(LQ > 1\):表示该地区在该产业上的专业化程度高于全国平均水平,说明该部门具有比较优势,属于产品输出型产业,是区域经济的主导产业或潜在增长点,具备较强竞争力和发展潜力。
  • \(LQ = 1\):表示该地区在该产业上的专业化水平与全国平均水平相当,说明该部门处于一般发展水平,能够满足本区域的基本需求,但未形成明显优势或劣势。
  • \(LQ < 1\):表示该地区在该产业上的专业化程度低于全国平均水平,说明该部门竞争力较弱,属于产品输入型产业,依赖外部供给,是区域产业结构调整或转型升级的重点方向。

13.1.2 案例:批量计算区位商

从国家统计局网站搜集 2015-2024 年 31 个省份的 GDP 和第一、二、三产业数据:

dat = readxl::read_excel("data/industry.xlsx")
dat
# A tibble: 310 × 6
    年份 地区      GDP 第一产业 第二产业 第三产业
   <dbl> <chr>   <dbl>    <dbl>    <dbl>    <dbl>
 1  2015 上海   26887      126.    8409.   18353.
 2  2015 云南   14960     2079.    5492.    7389 
 3  2015 内蒙古 12949     1630.    5270.    6049.
 4  2015 北京   24779.     140.    4420.   20219.
 5  2015 吉林   10018     1271.    3838.    4910.
 6  2015 四川   30342     3661    13192.   13489.
 7  2015 天津   10880.     162.    4490.    6228.
 8  2015 宁夏    2579.     237.    1117.    1226.
 9  2015 安徽   23831.    2376.   10838.   10617.
10  2015 山东   55289.    4903.   24815.   25571.
# ℹ 300 more rows

下面演示批量计算每个年份各地区的第一、二、三产业的区位商。

首先,计算区位商需要每年的全国数据,先分组汇总出来:

nation = dat |> 
  summarise(地区 = str_c(intToUtf8(1), "全国"), 
            across(-地区, sum), .by = 年份)
nation
# A tibble: 10 × 6
    年份 地区              GDP 第一产业 第二产业 第三产业
   <dbl> <chr>           <dbl>    <dbl>    <dbl>    <dbl>
 1  2015 "\u0001全国"  693642    57768.  298297.  337578.
 2  2016 "\u0001全国"  750949.   60161.  310384.  380404.
 3  2017 "\u0001全国"  832096.   62097.  337659.  432342.
 4  2018 "\u0001全国"  914118.   64748.  363741.  485629.
 5  2019 "\u0001全国"  982320.   70474.  381590.  530257.
 6  2020 "\u0001全国" 1009938.   78031   382893.  549014.
 7  2021 "\u0001全国" 1142483    83221   449062.  610199.
 8  2022 "\u0001全国" 1193975    88210.  466133.  639632.
 9  2023 "\u0001全国" 1250932.   89822   479036.  682074 
10  2024 "\u0001全国" 1340313.   91417.  491643.  757253.

同时增加地区列,为了保证后面将“全国”放在各分组的第一行,这里使用一个小技巧,给“全国”拼接上一个 Unicode 最小值字符:str_c(intToUtf8(1), "全国"),这样再排序自然就排在第一位了。

然后,与原始数据合并,并按地区排序:

df = bind_rows(dat, nation) |> 
  group_by(年份) |> 
  arrange(地区, .by_group = TRUE) |> 
  ungroup()
df
# A tibble: 320 × 6
    年份 地区             GDP 第一产业 第二产业 第三产业
   <dbl> <chr>          <dbl>    <dbl>    <dbl>    <dbl>
 1  2015 "\u0001全国" 693642    57768.  298297.  337578.
 2  2015 "上海"        26887      126.    8409.   18353.
 3  2015 "云南"        14960     2079.    5492.    7389 
 4  2015 "内蒙古"      12949     1630.    5270.    6049.
 5  2015 "北京"        24779.     140.    4420.   20219.
 6  2015 "吉林"        10018     1271.    3838.    4910.
 7  2015 "四川"        30342     3661    13192.   13489.
 8  2015 "天津"        10880.     162.    4490.    6228.
 9  2015 "宁夏"         2579.     237.    1117.    1226.
10  2015 "安徽"        23831.    2376.   10838.   10617.
# ℹ 310 more rows

最后,按年份分组计算区位商即可:

LQ(df, 地区, GDP, contains("产业"), .by = 年份)
# A tibble: 310 × 5
    年份 地区   第一产业 第二产业 第三产业
   <dbl> <chr>     <dbl>    <dbl>    <dbl>
 1  2015 上海     0.0560    0.727    1.40 
 2  2015 云南     1.67      0.854    1.01 
 3  2015 内蒙古   1.51      0.946    0.960
 4  2015 北京     0.0680    0.415    1.68 
 5  2015 吉林     1.52      0.891    1.01 
 6  2015 四川     1.45      1.01     0.913
 7  2015 天津     0.179     0.960    1.18 
 8  2015 宁夏     1.10      1.01     0.976
 9  2015 安徽     1.20      1.06     0.915
10  2015 山东     1.06      1.04     0.950
# ℹ 300 more rows

结果是每年各地区第一、二、三产业的区位商。

注:实际上,上述代码还能再简化:前面的 ungroup() 没有必要做,这样 df 就是分组数据框,最后执行 LQ(df, 地区, GDP, contains("产业") 即得到同样结果。

13.2 赫芬达尔-赫希曼指数

赫芬达尔-赫希曼指数(HHI),是一种衡量市场集中度或产业集聚程度的经典指标,其核心原理是:

  • 将一个整体(如市场、区域、产业)的总“份额”分配给其内部的各个组成部分(如企业、地区、产业),HHI 通过计算这些份额的平方和来反映其分布的集中程度。
  • HHI 值越大,表示该整体内的组成部分分布越不均衡,少数几个组成部分占据了绝大部分份额,即集中度高。
  • HHI 值越小,表示份额在各个组成部分之间分布越均匀,即集中度低。

其数学基础是:平方和对大数值更敏感。例如,一个 \(90\%+10\%\) 的分布,其平方和远大于 \(50\%+50\%\)的分布。

HHI 广泛应用于经济学、产业组织、区域经济和反垄断分析中,主要用途包括:

  • 评估市场垄断程度:在美国等国家,HHI 是反垄断机构(如司法部)判断市场是否过度集中的核心指标。
  • 衡量产业集聚:分析某一产业(如电子信息产业)在全国各省之间的空间分布是否集中。
  • 评价区域产业结构:衡量一个区域(如东部地区)的经济是否依赖少数几个主导产业,还是产业结构多元化。
  • 政策分析:为产业政策、区域协调发展政策提供数据支持。

特别地,结合多个区域比较时,HHI 可以回答:

  • “哪个区域的某个产业分布更集中?”
  • “哪个区域的产业结构更依赖少数几个主导产业?”

13.2.1 HHI 计算公式

设有 \(n\) 个地区(或企业),每个地区 \(i\) 的“份额”为 \(s_i = \frac{E_i}{\sum_{i=1}^n E_i}\)(如产值占比、市场份额)。

则赫芬达尔-赫希曼指数定义为: \[ HHI = \sum_{i=1}^n s_i^2 \]

若要跨区域比较,可以对 HHI 做标准化:由于不同区域的地区数量(\(n\))不同,而 HHI 的取值范围是 \([1/n, 1]\),这会影响跨区域比较的公平性。为此,可进行标准化,将 HHI 转换到 \([0, 1]\) 区间,用 \(0\) (而不是 \(1/n\))表示完全均匀,\(1\) 表示完全集中: \[ HHI_{norm} = \frac{HHI - 1/n}{1-1/n} \]

注:原始 HHI 用于比较同一区域下(若干地区)的集中度;标准化 HHI 用于比较不同区域(不同的地区数量)的推荐方式。

13.2.2 案例:批量计算 HHI

使用上一篇的 2014-2023 年全国 31 个省份八个主要行业的平均工资和就业人数数据。

df = readxl::read_excel("data/income.xlsx") 
df
# A tibble: 2,480 × 6
   行业   区域  地区   年份 平均工资 就业人数
   <chr>  <chr> <chr> <dbl>    <dbl>    <dbl>
 1 信息业 东部  上海   2014   170174   248000
 2 信息业 东部  上海   2015   183365   254000
 3 信息业 东部  上海   2016   200657   268000
 4 信息业 东部  上海   2017   212063   307000
 5 信息业 东部  上海   2018   232522   356000
 6 信息业 东部  上海   2019   237405   418000
 7 信息业 东部  上海   2020   270619   448000
 8 信息业 东部  上海   2021   303573   507000
 9 信息业 东部  上海   2022   330126   544000
10 信息业 东部  上海   2023   363745   528000
# ℹ 2,470 more rows
  • 分别针对每年每个行业,计算各个区域的 HHI,再来个长变宽:
df |> 
  summarise(hhi = HHI(就业人数, scaled = TRUE), 
            .by = c(年份, 行业, 区域)) |> 
  pivot_wider(names_from = 区域, values_from = hhi)
# A tibble: 80 × 6
    年份 行业     东部   西部   东北    中部
   <dbl> <chr>   <dbl>  <dbl>  <dbl>   <dbl>
 1  2014 信息业 0.0781 0.0746 0.0481 0.00865
 2  2015 信息业 0.0830 0.0868 0.0539 0.0133 
 3  2016 信息业 0.0821 0.0876 0.0487 0.0236 
 4  2017 信息业 0.0844 0.0952 0.0461 0.0264 
 5  2018 信息业 0.0867 0.0894 0.0543 0.0295 
 6  2019 信息业 0.0860 0.0860 0.0632 0.0472 
 7  2020 信息业 0.0874 0.0922 0.0940 0.0455 
 8  2021 信息业 0.0862 0.0980 0.133  0.0456 
 9  2022 信息业 0.0882 0.104  0.118  0.0426 
10  2023 信息业 0.0874 0.110  0.144  0.0389 
# ℹ 70 more rows

13.3 EG 指数

基尼系数和泰尔指数虽能反映产业的空间不平等分布,但这种不平等往往源于企业规模差异,而非真正的空间集聚。当少数大型企业主导产业时,即使它们在地理上分散,基尼系数仍会显示高不平等度,形成“假集聚”。

例如,10 家企业分布在 10 个区域,其中 1 家占据 \(90\%\) 的份额,其余 9 家各占 \(1.1\%\)。即便完全分散布局,基尼系数依然很高,反映的是企业规模不平等,而非空间集聚。

EG 指数修正了这一缺陷,区分了:

产业集中度:少数大企业的主导作用(规模效应) 产业空间集中度:经济活动在特定区域的集聚(地理集聚)

通过控制企业规模,EG 指数更准确地测度空间集聚程度,避免被企业规模分布误导。

13.3.1 EG 指数计算公式

Ellison & Glaeser (1997) 将企业视为追求利润最大化的主体,在选址时会选择能带来最高利润的区域。其利润主要受三方面因素影响:区域自然条件、企业“抱团”形成的集聚经济,以及企业自身特征。基于此,他们构建了企业选址的数理模型,并通过特定的统计假设推导出计算产业空间集中度的 EG 指数公式: \[ \begin{aligned} \gamma_{EG} &= \frac{\sum_{i=1}^M(s_i-x_i)^2-(1-\sum_{i=1}^Mx_i^2)\sum_{j=1}^Nz_j^2}{(1-\sum_{i=1}^Mx_i^2)(1-\sum_{j=1}^Nz_j^2)} \\ &= \left[\frac{\sum_{i=1}^M(s_i-x_i)^2}{1-\sum_{i=1}^Mx_i^2}-h\right]/(1-h) \end{aligned} \] 其中,

  • \(M\) 为地区的个数,\(N\) 为企业个数;
  • \(s_i\) 为第 \(i\) 个地区某行业就业人数占该行业总就业人数的比重;
  • \(x_i\) 为第 \(i\) 个地区所有行业就业人数占整个地区所有行业就业人数的比重,代表总体集聚程度,反映的是某行业相对于全体行业地理分布的偏离程度;
  • \(z_j\) 为第 \(j\) 个企业就业人数占该行业所有就业人数的比重,用来计算产业的赫芬达尔-赫希曼指数 \(h = \sum z_j^2\),反映企业的规模分配情况。

EG 指数是根据企业选址的关联性得出的,其衡量的是企业“共同选址”的关系强弱,因此可有效地避免企业规模差异对总体集聚程度的影响。

  • \(EG = 0\):行业分布完全随机(无集聚)
  • \(EG > 0\):存在正向集聚(企业集中在某些地区)
  • \(EG < 0\):存在负向集聚(即分散化,企业有意避开彼此)

一般认为 EG 指数大于 \(0.05\) 时,产业高度集聚,小于 \(0.02\) 时,产业集聚度低。

13.3.2 案例:批量计算 EG 指数

继续使用上面的 2014-2023 年全国 31 个省份八个主要行业的平均工资和就业人数数据。

  • 批量建模,计算每年各行业的 EG 指数:
df |> 
  nest(.by = 年份) |> 
  mutate(model = map(data, \(d) EG(d, 地区, 行业, 就业人数))) |> 
  select(-data) |> 
  unnest(model)
# A tibble: 80 × 3
    年份 行业        EG
   <dbl> <chr>    <dbl>
 1  2014 信息业 -0.0482
 2  2014 制造业 -0.0783
 3  2014 医疗   -0.0380
 4  2014 商贸   -0.0484
 5  2014 建筑业 -0.0574
 6  2014 教育   -0.0354
 7  2014 科研   -0.0345
 8  2014 金融业 -0.0396
 9  2015 信息业 -0.0478
10  2015 制造业 -0.0785
# ℹ 70 more rows