分类:广义投入产出分析

来自Big Physics
Jinshanw讨论 | 贡献2017年12月18日 (一) 19:05的版本 →‎组合效果


在经济学Leontief投入产出分析和Google PageRank算法的基础上,我们提出来了广义投入产出分析(暂时见这个在“吴金闪的工作和思考”博客站点上的帖子)。

Leontief投入产出分析

原始的投入产出分析[1] 是用于分析经济产品或者经济部门或者说产业——由于数据获取的限制,部门或者说产业更经常被研究的主体,尽管思想上这个方法也可以用于产品的研究——之间的相互影响的。

部门(产业)层次的投入产出表

把整个经济分成[math]\displaystyle{ N }[/math]个部门,假设每一个部门仅仅生产一种产品,每一个部门可以从任何一个部门获得生产这个产品的原材料和劳动力。进出口实际上也可以看做是一个单独的部门。在这里,我们暂时忽略进出口。这样整个经济在一段时期内的经济生产关系就可以用以下的矩阵来代表, [math]\displaystyle{ x=\left(x^{i}_{j}\right)_{N\times N}. }[/math] 其中[math]\displaystyle{ x^{i}_{j} }[/math]代表[math]\displaystyle{ i }[/math]部门对[math]\displaystyle{ j }[/math]部门的投入的产品的数量(实物投入产出表)或者价值(货币投入产出表)。

产品生产(化学反应)层次的投入产出表

假设有了产品层次的这张表,如果确实一个生产工艺仅仅产出一个产品,那么,所有的经济生产就包含在这个矩阵内了。当然,随着科学技术的进步,新的产品和新的生产工艺还会出现,因此,这张表仅仅是某个比较短的时期内的一张表,甚至原则上是某个时间点的一张表。当然,实际上,每一个生产工艺有可能有多个产出,因此,整体来说,产品生产就像化学反应,只不过可能场地、劳动力、生产设备、能源等等需要和原材料以及产出物一起放到这个投入产出表里面。对于这样的整个经济的生产工艺,实际上,需要另两个张量来描述,例如[math]\displaystyle{ L_{\alpha}^{j} }[/math]表示工艺[math]\displaystyle{ \alpha }[/math]需要产品[math]\displaystyle{ j }[/math]的数量或者价值,[math]\displaystyle{ R_{\alpha,j} }[/math]表示工艺[math]\displaystyle{ \alpha }[/math]产出的产品[math]\displaystyle{ j }[/math]的数量或者价值。也可以把两个张量合起来,用[math]\displaystyle{ S_{\alpha}^{j} }[/math]表示,用在数字前面增加一个“[math]\displaystyle{ + }[/math]”(正号)或者“[math]\displaystyle{ - }[/math]”(负号)来标记生产和需求。

这三个矩阵也可以看作是产品-工艺(或者反应物-反应方程)二分网的加权邻接矩阵。

典型研究问题

那么,有了这个完整的生产关系的描述之后,投入产出分析主要解决什么样的问题呢?第一个,当工艺水平不变的时候,如果人们对于某个产品的需求增加了,则,经济生产系统讲产生怎样的响应?

把第[math]\displaystyle{ N }[/math]个部门看作是最终消费者部门,把这个问题用数学的语言来说,就是,[math]\displaystyle{ y^{i}=x^{i}_{N} }[/math]有可能有一个可以预期的变化[math]\displaystyle{ \Delta y^{i} }[/math](或者更一般的任意一个部门的变化,记为[math]\displaystyle{ \Delta Y }[/math]),例如下一年人们需要更多的汽车,则矩阵的其他元素[math]\displaystyle{ x^{j}_{k} }[/math]将如何变化。记这个变化为[math]\displaystyle{ \Delta X }[/math]。我们希望得到一个[math]\displaystyle{ \Delta X }[/math] 和 [math]\displaystyle{ \Delta Y }[/math]之间的关系。

先从理念上来解决这个问题,再从数学上来解决。

为了有更多的汽车来满足最终消费者需求,经济生产体系首先要满足制造出来这么多额外的汽车的要求;接着为了生产这些汽车,经济生产体系需要生产这些汽车的原材料;接着,需要生产出来原材料的原材料;等等等等。在数学上,这就是

[math]\displaystyle{ \Delta X = \Delta Y + B \Delta Y + BB \Delta Y + \cdots, }[/math] 其中[math]\displaystyle{ B }[/math]就是某个代表从产品计算出来原材料的矩阵。下面,我们来看这个[math]\displaystyle{ B }[/math]实际上可以如何定义。

定义[math]\displaystyle{ B^{i}_{j}=\frac{x^{i}_{j}}{X^{j}} }[/math],其中[math]\displaystyle{ X^{j}=\sum_{i} x^{j}_{i} }[/math]表示部门[math]\displaystyle{ j }[/math]的总产出。因此,[math]\displaystyle{ B^{i}_{j} }[/math]表示没=每生产一个产品[math]\displaystyle{ j }[/math]所需要的[math]\displaystyle{ i }[/math]产品的数量或者价值。于是,这个[math]\displaystyle{ B^{i}_{j} }[/math]看起来像一个生产工艺配方。这样的配方可以看做在一定时期内是不变的,或者其变化远远比产品的生产要慢。自然,这就是我们想要找到的矩阵[math]\displaystyle{ B }[/math]

从数学上,我们也可以推导出来,[math]\displaystyle{ X^{i}=\sum_{j} x^{i}_{j}=\sum_{i}\frac{x^{i}_{j}}{X^{j}}X^{j} = \sum_{j} B^{i}_{j} X^{j} }[/math],写成矩阵的形式也就是[math]\displaystyle{ X=BX }[/math]。现在我们把[math]\displaystyle{ X^{i} }[/math]分成[math]\displaystyle{ X^{1,2,\cdots,N-1} }[/math][math]\displaystyle{ X^{N} }[/math]并且扔掉后者,我们得到[math]\displaystyle{ X^{i\neq N} = \sum_{j=1}^{N=1}B^{\left(-N\right)}^{i}_{j}X^{j} + x^{i}_{N}= \sum_{j=1}^{N=1}B^{\left(-N\right)}^{i}_{j}X^{j} + Y^{i} }[/math],写成矩阵的形式就是[math]\displaystyle{ X=B^{\left(-N\right)}X + Y }[/math],也就是[math]\displaystyle{ X=\left(1-B^{\left(-N\right)}\right)^{-1}Y }[/math]

定义[math]\displaystyle{ L_{B}=\left(1-B^{\left(-N\right)}\right)^{-1} }[/math],称为Leontief矩阵,我们就得到了[math]\displaystyle{ X=L_{B}Y }[/math]。由于这是一个线性关系,于是[math]\displaystyle{ \Delta X=L_{B} \Delta Y }[/math],这就是回答了我们一开始的问题:如果有一个最终需求上的可预期的波动,那么经济生产系统将如何响应。

有了这个典型问题的答案,我们就可以讨论各种进一步的问题,尤其是弹性和乘数。在那之前,我们来讨论几个理解上要注意的细节。

注意总产出[math]\displaystyle{ X^{i}=\sum_{j} x^{i}_{j} }[/math]的定义

它计算的是[math]\displaystyle{ i }[/math]部门的总产出,是把[math]\displaystyle{ i }[/math]到所有的[math]\displaystyle{ N }[/math]各部门的投入都计算进去的,而不是仅仅计算对前面的[math]\displaystyle{ N-1 }[/math]个部门的投入,也就是,[math]\displaystyle{ X^{i}=\sum_{j=1}^{N} x^{i}_{j} }[/math]

为什么把最终消费者部门分出来

在展开进一步讨论之前,我们稍微来说一下,为什么需要把最终消费者部门[math]\displaystyle{ N }[/math]独立出来。首先,在经济生产中,最终消费者部门的再生产(也就是劳动力本身的再生产)的时间尺度比较长,确实可以和其他生产分开。其次,劳动力的价值本身是一个难以度量的量,不是可以简单看做工人工资的。把部门[math]\displaystyle{ N }[/math]独立出来之后,[math]\displaystyle{ x^{N}_{i} }[/math]也不再需要直接出现在[math]\displaystyle{ B }[/math]矩阵里面了,因此[math]\displaystyle{ B }[/math]的每一个元素都能够很好地定义了。顺便,这个[math]\displaystyle{ x^{N}_{i} }[/math]是劳动力对于产业[math]\displaystyle{ i }[/math]的投入,被称为value-added。但是,其实,在一个总量守恒的系统里面,当我们已知所有的其他元素[math]\displaystyle{ x^{i}_{j} }[/math]的时候,[math]\displaystyle{ x^{N}_{i} }[/math]是可以算出来的。因此,第二个理由实际上不算理由。再次,也就是最重要的理由,经济学家相信,能够主动产生一个波动的,只能来自于最终消费者。其他的生产部门一旦技术矩阵[math]\displaystyle{ B }[/math]定了以后,就不会主动去产生波动了,而是被动地由于需求导致的波动。

可是,再仔细想一下,实际上,某些资源,例如石油有可能会产生独立的波动,并且这个波动还可能由于某些原因,仅仅直接影响对某几个部门的投入,也就是需要考虑[math]\displaystyle{ \Delta x^{l}_{m} }[/math]对产业的效果。于是,我们就需要对Leontief的投入产出分析做一些推广。关于这个推广,我们在目标外界投入产出分析再来讨论。

乘数和弹性

如果我们要考虑[math]\displaystyle{ y^{i} }[/math]上的小小的扰动(例如一个单位)对经济体系的响应的效果,则我们可以先计算出来这个扰动导致的[math]\displaystyle{ \Delta X = L \Delta Y }[/math],接着把这些被扰动以后的[math]\displaystyle{ \Delta X }[/math]乘以某一个权重加起来。例如,权重都是1的时候,我们得到,[math]\displaystyle{ m_{i} = \sum_{j} \Delta X^{j} = \sum_{j} L^{j}_{i} }[/math]。这就叫做乘数效益:一个单位最终消费对于i产品的增加,将如何改变整个经济体系。

产业重要性

投入产出分析还可以用来衡量领域的重要性。一定程度上,前面的乘数和弹性就是一种重要性衡量。另外一种产业重要性的衡量方式是Hypothetical Extraction Method(HEM,假想地去掉某个领域的方法)。

同时做实物和货币投入产出分析

如果我们能够同时拿到实物形式和货币形式的两张投入产出表,我们能够做什么?这个问题我还没有想清楚,是不是和PageRank算法有关系,是不是能够一定程度上给一个产品内在价格以及价格动力学的描述?关于这个问题,Leontief和[1] 有深刻的讨论,还需要再去看一遍。

目标外界投入产出分析

这个想法非常简单,既然前面我们把最终消费者部门独立出来,放到方程的右边,那么,我们能不能把一般的部门拿出来放到方程的右边呢?对于通过守恒量补齐了value-added数据的投入产出表,或者说本来就是所有元素的值都有的投入产出表来说,这一点,技术上是能做到的。好,那道理上,能不能做,有没有意义?我们说,把最终消费者部门独立出来是因为我们认为它们能够产生独立的可预期的偏离,那么,是不是其他部门也能够产生独立的可预期的偏离呢?例如,石油输出组织决定以后就是不给做塑料袋的工厂提供原材料?这是有可能的。于是,我们就应该提出来一个把任意一个希望得到研究的产业独立出来放到外面去的研究方法。

至于具体的计算,完全和开放系统的投入产出一样,仅仅把右边的矢量从最终消费者部门替换成特定想要研究的部门。至于有了这个部门讨论哪些经济学问题,后续具体研究工作中再展开讨论。

封闭系统的投入产出分析

这个问题来自于这样的情景:如果系统完全没有一个可以独立出来放到右边的部门,或者我们不想把这样的东西拿出来放到右边,我们是不是还能够讨论这样的部门的重要性,同时考虑直接和间接重要性。那怎么分析?例如,当这个体系中的某个部门的生产力降低了以后,或者出现了扰动以后,所有经过这个部门加工的产品都会出现一些问题,然后进入其他部门,接着再一次回到这个部门(因为整体上是封闭的系统)之后还会再一次受影响。这样的影响如何衡量?

我们提出来一些可以尝试的分析方法,本身不一定就是最好的分析方法,但是这个问题还是要回答的。

我们自己的方法具体来说,就是本征矢量HEM。

把PageRank算法看做广义投入产出分析

定义[math]\displaystyle{ MF^{i}_{j}=\frac{x^{i}_{j}}{X^{i}} }[/math],表示[math]\displaystyle{ i }[/math]的总产出当中,百分之多少进入了[math]\displaystyle{ j }[/math]部门。类似也可以定义[math]\displaystyle{ MB^{i}_{j}=\frac{x^{i}_{j}}{X_{j}} }[/math],表示[math]\displaystyle{ j }[/math]收到的所有投入中,百分之多少来自于[math]\displaystyle{ i }[/math]部门。这两个分别称为向前和向后概率转移矩阵。

PageRank算法理论上可以看作是上面定义的概率转移矩阵的本征向量,也就是[math]\displaystyle{ MB \left|1_{MB}\right\rangle = \left|1_{MB}\right\rangle }[/math],其中[math]\displaystyle{ 1_{MB} }[/math][math]\displaystyle{ MB }[/math]的最大右本征值(1是本征值,并且是最大的本征值,这一点非常容易证明。例如通过证明最大左本征值[math]\displaystyle{ \left\langle 1_{MB}\right|=[1,1,\cdots] }[/math]是平庸的)。类似地[math]\displaystyle{ \left\langle 1_{MF}\right| MF = \left\langle 1_{MF}\right| }[/math],是[math]\displaystyle{ MF }[/math]的最大左本征值(同样最大右本征值[math]\displaystyle{ \left|1_{MF}\right\rangle=[1,1,\cdots]^{T} }[/math]是平庸的)。

不过最大本征矢量的计算需要保证矩阵的最大本征值是非简併的,并且考虑到外界输入的问题——例如人们访问网页的时候有的时候追着超链接,有的时候会重新开始,有的时候总是从某些熟悉的网页开始——实际上PageRank算法计算的是如下的线性方程的解。当然,也是考虑到求线性方程的解可以更加算法效率更高的问题。 [math]\displaystyle{ P = MB P + E \Longrightarrow P = \left(1-MB\right)^{-1} E }[/math]。其中[math]\displaystyle{ E=\frac{1}{N}\left[1,1,\cdots\right]^{T} }[/math]代表随机重新开始浏览网页,或者某个代表用户特定使用习惯的[math]\displaystyle{ E_{0} }[/math]。前者就是目前通用的PageRank矢量,后者被称为个性化PageRank矢量。


有了这个概率转移矩阵,我们可以来看这个转移矩阵的稳定态,也就是其本征矢量。为了保证本征矢量的唯一性,有的时候需要加上一个很小的微扰项。将来我们还会发现,这个微扰项还可以当做外界来解释。于是,我们看到,在PageRank上,封闭系统的形式、(随机)开放系统的形式、目标外界开放系统的形式,得到了统一。

顺便,我们这里证明一个投入产出矩阵的本征向量和PageRank矩阵的本征向量的一一对应关系,从而更加深刻地说明,两个分析方法实际上是一样的,仅仅是计算出来的量的解释或者说具体意义上略有区别。


[math]\displaystyle{ \lambda_{B} \left\langle \lambda_{B} \right| \left. j \right\rangle =\sum_{i} \left\langle \lambda_{B} \right| \left. i \right\rangle B^{i}_{j} = \sum_{i} \left\langle \lambda_{B} \right| \left. i \right\rangle \frac{x^{i}_{j}}{X^{j}} }[/math]

[math]\displaystyle{ \Rightarrow \lambda_{B} \left\langle \lambda_{B} \right| \left. j \right\rangle X^{j}=\sum_{i} \left\langle \lambda_{B} \right| \left. i \right\rangle X^{i} \frac{x^{i}_{j}}{X^{i}} = \sum_{i} \left\langle \lambda_{B} \right| \left. i \right\rangle X^{i} MF^{i}_{j}. }[/math]

于是,[math]\displaystyle{ \left\langle \lambda_{B} \right|=\sum_{j}\left\langle \lambda_{B} \right| \left. j \right\rangle \left\langle j \right| }[/math][math]\displaystyle{ B }[/math]的左本征向量,正好对应着[math]\displaystyle{ MF }[/math]的左本征向量[math]\displaystyle{ \left\langle \lambda_{MF} \right|=\sum_{j}\left\langle \lambda_{B} \right| \left. j \right\rangle X^{j}\left\langle j \right| }[/math]。同样于是,[math]\displaystyle{ \left| \lambda_{F} \right\rangle }[/math][math]\displaystyle{ F }[/math]的右本征向量,正好对应着[math]\displaystyle{ MB }[/math]的右本征向量[math]\displaystyle{ \left| \lambda_{MB} \right\rangle }[/math]

问:这个本征向量在经济学上,到底什么意义?可以不管如何先在实际系统上算出来看看,对比一下这个本征向量和其他已有指标

向前(投入端)和向后(需求端)分析

定义[math]\displaystyle{ F^{i}_{j}=\frac{x^{i}_{j}}{X_{i}} }[/math],表示[math]\displaystyle{ i }[/math]平均每收到一个的其他部门的投入的时候,将会对[math]\displaystyle{ j }[/math]部门做出来多少投入。在这个意义上,我们把这个投入产出关系矩阵叫做向前分析(Forward)——产出关系。之前那个没生产一个[math]\displaystyle{ j }[/math]产品需要多少个[math]\displaystyle{ i }[/math]看做向后(Backward)——需求关系。

注意,在实物投入产出分析中,[math]\displaystyle{ X_{i} = \sum_{j} x^{j}_{i} }[/math]是不能加起来的——来自于不同产业的产品数量不能简单相加。因此,这个分析只能够在货币或者能量等意义下来做。

有了这个定义之后,同样,可以推导出来,[math]\displaystyle{ X=\left(1-F^{\left(-N\right)}\right)^{-1}Y }[/math],其中[math]\displaystyle{ Y_{i}=x^{N}_{i} }[/math],也就是最终消费者部门对[math]\displaystyle{ i }[/math]部门的劳动力投入或者说价值附加(value-added)投入。按照[1]的理解,[math]\displaystyle{ \Delta Y_{i} }[/math]也可以看做是投入到某个部门的劳动力价格的变化。因此,后续的[math]\displaystyle{ \Delta X }[/math]就表示这个劳动力价格变化在整个生产部门传播的效果。

为了表示两个矩阵的区别,有的时候,我们采用Einstein记号写作,

  • [math]\displaystyle{ X^{a}=\left(1-B^{\left(-N\right)}\right)^{-1}Y^{a} }[/math],向后投入产出分析
  • [math]\displaystyle{ X_{a}=\left(1-F^{\left(-N\right)}\right)^{-1}Y_{a} }[/math],向前投入产出分析

在向前和向后分析中,我们回答的典型问题有:给定消费者需求预期的整体经济响应,消费者对某个产品的需求的乘数效益,或者投入到某个部门的劳动力价格的变化的乘数效益,领域部门的重要性,产品或者能源税收造成的经济的响应,包含初级原材料、污染物、能源等环境因素的投入产出分析用来回答环境和生产互动。

产品-技术二分网或者双层网上的投入产出分析

同样的思想甚至技术用来讨论二分网或者双层网。当然,首先,可以直接把二分网和双层网当做一个大网络来用,也可以考虑更加一般的分析方法:例如从生产企业到产品,这样的网络。具体怎么做,还得继续研究。在科学计量学三层网络框架里面,这样的分析方法是非常重要的。

组合效果

前面我们讨论了通过去掉某个部门对整体系统的影响,用同样的思路,我们可以讨论去掉两个或者几个部门,或者几个矩阵元素的影响,并且把这个影响和单独去掉这些部门的影响相比较,来看看是不是有组合溢出效益。例如在[流平衡分析(Flux Balance Analysis)]中,我们可以看到两个基因的组合溢出效益——合起来的效果不等于两个分开效果的叠加,见下图引用错误:没有找到与</ref>对应的<ref>标签 [2] [3] [4] [5] </references>

  1. 1.0 1.1 1.2 引用错误:无效<ref>标签;未给name属性为Miller的引用提供文字
  2. Davis S. & Caldeira K. (2010). Consumption-based accounting of CO2 emmissions. PNAS 107(12):5687-5692.
  3. Feng K. et al. (2013). Outsourcing CO2 within China. PNAS 110(28):11654-11659.
  4. Leonie Wenz and Anders Levermann.(2016). Enhanced economic connectivity to foster heat stress-related losses. Science Advances Vol. 2, no. 6, e1501026.
  5. Jeffrey D Orth, Ines Thiele & Bernhard Ø Palsson, What is flux balance analysis? Nature Biotechnology 28, 245–248 (2010).