投入产出分析
投入产出分析(Input Ouput Analysis)是由著名经济学家(1973年诺贝尔经济学奖获得者)wikipedia:Wassily Leontief提出的一套分析经济系统中各个部门之间商品和资金流动的分析方法。它主要通过构建真实系统的投入产出表,利用线性代数的基本方法,分析某一个部门的需求波动会对其它部门以及整个经济系统产生何种影响。
http://upload.wikimedia.org/wikipedia/en/a/aa/Leontief-Harvard.jpg
Wassily Wassilyovich Leontief (1906-1999)
投入产出表
所谓的投入产出表就是类似下面的表格:
部门 | 1 | ... | j | ... | N | 最终需求 | 总产出 |
---|---|---|---|---|---|---|---|
1 | z11 | ... | z1j | ... | z1N | f1 | x1 |
2 | z21 | ... | z2j | ... | z2N | f2 | x2 |
... | ... | ... | ... | ... | ... | ... | ... |
N | zN1 | ... | zNj | ... | zNN | fN | xN |
表1:投入产出表
其中,1,2,3,...,N表示工业系统中的N个部门(Sector),例如农业、林业、造纸业等等。zij表示从i部门对j部门的投入量(一般以货币来衡量)。例如,如果i表示林业,j表示造纸业,zij=350000,则表示造纸业从林业部门购买了350000人民币的原始木材。倒数第二列fi则表示第i部门到最终需求(即消费者的最终消费)的直接流量(以货币衡量)。例如,如果fj=500000,就表示人们对纸张的最终需求有500000元。最后一列xi表示行业i的总产出。投入产出表需要满足:
-
[math]\displaystyle{ x_i=\sum_{k=1}^{N}z_{ik}+f_{i} }[/math]
(1)
也就是说i部门(产品)的总产出被投入到了不同的部门中以及最终消费中,其中投入到第k部门的总量为zik
上述投入产出表是不包括附加值部门的(例如工人的工资),这是[1]一书中的标准投入产出表结构。但是在其他文献中,以及一些实际的投入产出表中,还包括一类特殊的部门,统称为附加值部门,这类部门通常只有对其他部门的投入,而不包括从其他部门得到的投入。
技术系数矩阵
通常,我们可以利用一些相关技术手段[1],从实证数据(例如国民账户分析)估计出上述投入产出表。但是,在进行投入产出分析的时候,我们通常利用技术系数矩阵而非原始的投入产出表。具体地,技术系数矩阵为一个N*N的矩阵(我们记为A),其中A中的任意元素按如下方式计算:
-
[math]\displaystyle{ a_{ij}=\frac{z_{ij}}{x_j} }[/math]
(2)
也就是说,aij也称为技术系数,它表示每单位j产品的产出中,包含i产品的投入量。在进行投入产出分析过程中,我们通常假设技术系数是不变的。
由该式,我们可以得到一个简单的代数关系:
[math]\displaystyle{ z_{ij}=a_{ij}x_{j} }[/math]
虽然该式是1式的直接结论,但是,它通常是我们使用技术系数的基本形式。由于技术系数保持不变,因此投入产出分析能够回答当j的产量提高到xj的时候,需要投入多少的i产品。
Leontief矩阵
[math]\displaystyle{
\left\{\begin{array}{ll}
x_1=&a_{1,1}x_1+a_{1,2}x_2+\cdot\cdot\cdot+a_{1,N}x_N\\
x_2=&a_{2,1}x_1+a_{2,2}x_2+\cdot\cdot\cdot+a_{2,N}x_N\\
\cdot\cdot\cdot&\cdot\cdot\cdot\\
x_N=&a_{N,1}x_1+a_{N,2}x_2+\cdot\cdot\cdot+a_{N,N}x_N\\
\end{array}
\right.
}[/math]
我们定义[math]\displaystyle{ X=(x_1,x_2,x_3,\cdot\cdot\cdot,x_N)^T,F=(f_1,f_2,\cdot\cdot\cdot,f_N)^T }[/math], 将技术矩阵代入1之中,我们能够得到:
[math]\displaystyle{ X=AX+F }[/math]
于是,我们得到:
-
[math]\displaystyle{ X=(I-A)^{-1}\cdot F }[/math]
(3)
其中I为N*N的单位阵,我们记:[math]\displaystyle{ L=(I-A)^{-1} }[/math]为Leontief矩阵,因为有了该矩阵,我们就能从基本的总需求F得出每个部门的总产量。
投入产出分析
所谓的投入产出分析就是在假设技术系数矩阵在短期不发生变化的前提下,分析不同的总需求前提下需要的各个部门的总产出。假设给定了技术系数矩阵为:A,总需求向量由F变为了F+ΔF,则各个部门的产出由X变为了X+ΔX。由3式,我们有:
[math]\displaystyle{ X+\Delta X=(I-A)^{-1}\cdot (F+\Delta F)=L F + L \Delta F }[/math]
所以:
[math]\displaystyle{ \Delta X= L \Delta F }[/math]
由此可以看出,产量的变化就是Leontief矩阵乘以需求向量的变化。
举例分析
下面,我们来举例来说明投入产出分析[1]的基本工作流程。
假设我们的经济系统有两个部门,Sector 1和Sector 2,投入产出表如下所示:
Sector 1 | Sector 2 | Final Demand (fi) | Total Output (xi) | |
---|---|---|---|---|
Sector 1 | 150 | 500 | 350 | 1000 |
Sector 2 | 200 | 100 | 1700 | 2000 |
根据这个投入产出表,我们能够得到技术系数矩阵A:
[math]\displaystyle{ A= \left( \begin{array}{cc} 0.15 & 0.25 \\ 0.20 & 0.05 \\ \end{array} \right) }[/math]
根据这个矩阵,可以求出Leontief矩阵:
[math]\displaystyle{ L= \left( \begin{array}{cc} 1.2541 & 0.3300 \\ 0.2640 & 1.1221 \\ \end{array} \right) }[/math]
我们假设A在一段时间内不发生任何变化,因此L也不发生变化。此时,如果新的需求变成了[math]\displaystyle{ f^{new}=(600,1500)^T }[/math],那么可以推得,各个部门新的产量为:[math]\displaystyle{ X^{new}=Lf^{new}=(1247.52,1841.58)^T }[/math],也就是说Sector1的产品必须增产247.52$,Sector2产品减产158.42$,才能满足新的生产需求。
在这种情况下,我们能够得到新的各个部门之间的投入产出关系Z,我们只需要将新的X向量和不变的A矩阵,代入到1中就可以得到新的投入产出表:
Znew | Sector 1 | Sector 2 | Final Demand (fi) | Total Output (xi) |
---|---|---|---|---|
Sector 1 | 187.13 | 460.40 | 600 | 1247.52 |
Sector 2 | 249.50 | 92.08 | 1500 | 1841.58 |
投入产出模型与马尔科夫链
投入产出分析的本质就在于经济系统中各个部门之间的价值流动。这种流动通常可以用流网络的方法进行建模分析,而流网络又可以转化成马尔科夫链,从而进行数学刻画。在基于马尔科夫链的流网络分析中,马尔科夫转移矩阵M与投入产出模型中的技术系数矩阵A有这类似的定义,甚至基础矩阵U也与Leontief矩阵L极其相似,但是仔细分析,两者却有着很大的不同。本节就专门论述投入产出模型与基于马尔科夫链的流网络分析的相同与不同之处。
谬误的比较
首先,我们想从直觉出发,来比较这两者表面上的关系,但是,我们接着指出这种比较是错误的,需要引以为戒。
直觉来看,投入产出表Z很像流网络中的流量矩阵F。事实上,根据投入产出表,zij也的确表示从i部门到j部门的价值流动。如果这种比较成立,我们自然会想到根据F构造出的马尔科夫矩阵M就应该与技术系数矩阵A相同(貌似这两者定义也是相同的)。M的定义为:
[math]\displaystyle{ m_{ij}=f_{ij}/\sum_{j=1}^{N+1}f_{ij} }[/math]
而A的定义为:
[math]\displaystyle{ a_{ij}=z_{ij}/x_j }[/math]
如果[math]\displaystyle{ x_j=\sum_{j=1}^{N+1}z_ij }[/math]成立,则M与A的确完全相同。但事实上,这个等式并不成立。这是因为:
首先,xj为j的总产出,翻译成流网络的语言就是j节点的总的流出量。而M的定义中,分母应该是i节点的总的流入量。
其次,在经济含义上,aij的定义刻画的是要想产出1单位j产品,需要多少i产品的投入。而mij的含义表示,每1单位i的流出中,有多少价值流向了j部门中。
因此,M并不与A等价,于是L也不与U等价,尽管二者的定义很相似。
正确的比较
但是,通过认真的分析会发现,投入产出网与马尔科夫链的确有很大的关系。我们的主要结论是,A矩阵可以看作是原始流量网络Z的逆马尔可夫链M'。
也就是说,如果我们把Table 1中的Z矩阵转置,把最终需求作为第一行,去掉总产出一列,并添加一个新的节点:附加值作为汇,则得到流矩阵表格:
部门 | 最终需求(源) | 1 | 2 | ... | N | 附加值(汇) |
---|---|---|---|---|---|---|
最终需求(源) | 0 | f1 | f2 | ... | fN | 0 |
1 | 0 | z1,1 | z2,1 | ... | zN,1 | x1-Σk=1Nzk,1 |
... | ... | ... | ... | ... | ... | ... |
j | 0 | z1,j | z2,j | ... | zN,j | xj-Σk=1Nzk,j |
... | ... | ... | ... | ... | ... | ... |
N | 0 | z1,N | z2,N | ... | zN,N | xN-Σk=1Nzk,N |
附加值(汇) | 0 | 0 | 0 | ... | 0 | 0 |
其中,最终需求看作是流网络的源,而附加值看作是汇。每一个部门到附加值的流量定义为该部门的总产出减去所有其他部门到该部门的投入。那么,这个新的表就是一个标准的流网络。
在增加了附加值列之后,如果我们把矩阵转置回去,也会得到一个流量平衡的矩阵,这个矩阵自然可以转换成一个流网络。该网络就是物品流动的网络。
而对于本身就包括附加值部门的投入产出表来说,实际上整个表就是流网络矩阵了,因此我们可以直接把投入产出表转成流网络,该网络会满足平衡条件。
经济解释
那么,这个新的流网络的经济含义是什么呢?我们知道,任何经济系统中都存在着两种流动:一种是实物流动,一种是货币的流动。这两种流动通常是相互反向的。也就是当实物从i流向j的时候,则货币从j流向i,这就是我们熟悉的商品交换。而且,当交易公平,且价格稳定的时候,双向流动体现为相等的价值交易量。
因此,投入产出表实际上是用价值衡量了实物的正向流动,而我们上面构造的表格则反映的是反向的货币流动,这两种流动相伴而生、同时存在,而当系统处于稳态的时候,他们刚好构成了矩阵转置的关系。
具体来说,上述流网络刚好反映的是这样一种货币流过程:货币从最终消费者手中流出(因此,最终需求是源),流向消费者所直接购买的各种产品(即fi)。而厂商i要生产产品i,必须要向其他厂商购买原材料,他从j购买了zji的同时,也向j支付了一笔费用:zji,这也是一股货币流动。另外,在生产i的过程中,厂商除了利用了原材料之外,还要从工人那里购买劳动力,也就是工人的工资,这就是表中最后一列的i到附加值的货币流。
技术矩阵与马尔科夫矩阵
有了一个流网络,我们就可以构造马尔科夫链了,该流网络的马尔科夫链M定义为:
[math]\displaystyle{ m_{ij}=f_{ij}/\sum_{j=1}^{N+1}f_{ij} }[/math]
进一步演算,它等于:
[math]\displaystyle{ m_{ij}=z_{ji}/(\sum_{j=1}^{N}z_{ji}+x_i-\sum_{j=1}^{N}z_{ji})=z_{ji}/x_i }[/math]
它恰好是A的转置,也就是:
[math]\displaystyle{ M=A^T }[/math]
因此,M的任意一个元素mij的经济含义就是i到j的货币流出占i的总货币流的比例,它恰恰就是每生产一单位i产品,需要投入的j产品的量。由此,投入产出网与流网络,技术矩阵与马尔科夫链建立了对应关系。相应地,Leontief矩阵也与U矩阵存在着对应。