Análise de Insumo-Produto:
teoria e aplicações no R

Vinícius A. Vale\(^{\Phi}\)
Fernando S. Perobelli\(^{\Theta}\)
Setembro, 2020

\(^{\Phi}\)Professor do Departamento de Economia e do Programa de Pós-Graduação em Desenvolvimento Econômico (PPGDE) da Universidade Federal do Paraná (UFPR), Pesquisador do Núcleo de Estudos em Desenvolvimento Urbano e Regional (NEDUR) e Pesquisador Associado do Núcleo de Economia Regional e Urbana da Universidade de São Paulo (NEREUS)

\(^{\Theta}\)Professor do Departamento de Economia e do Programa de Pós-Graduação em Economia (PPGE) da Universidade Federal de Juiz de Fora (UFJF), Pesquisador do Laboratório de Análises Territoriais e Setoriais (LATES) e Pesquisador Associado do Núcleo de Economia Regional e Urbana da Universidade de São Paulo (NEREUS)


    Apoio e Cooperação Institucional:


       


1. Introdução

Este material Análise de Insumo-Produto: teoria e aplicações no R tem como objetivo apresentar a estrutura teórica dos modelos de insumo-produto, bem como aplicações práticas com o software R (RStudio). Cabe ressaltar que as aplicações são baseadas em aspectos da economia brasileira. Portanto, com esse material, o leitor deverá estar apto para entender a estrutura teórica e operar modelos de insumo-produto.

A construção deste material se beneficiou-se, em grande parte, do material disponibilizado pelos Professores Eduardo A. Haddad (USP, NEREUS), Joaquim J. M. Guilhoto (OCDE, NEREUS), Fernando S. Perobelli (UFJF, LATES) e Vinicius A. Vale (UFPR, NEDUR) em suas respectivas disciplinas:

  • Modelos Aplicados de Equilíbrio Geral, ministrada pelo Prof. Dr. Eduardo A. Haddad no Programa de Pós-graduação em Economia da Universidade de São Paulo (USP);
  • Análise de Insumo-Produto, ministrada pelo Prof. Dr. Joaquim J. M. Guilhoto no Programa de Pós-graduação em Economia da Universidade de São Paulo (USP);
  • Métodos de Análise Regional, ministrada pelo Prof. Dr. Fernando S. Perobelli no Programa de Pós-graduação em Economia da Universidade Federal de Juiz de Fora (UFJF);
  • Análise de Insumo-Produto, ministrada pelo Prof. Dr. Vinícius A. Vale no Programa de Pós-graduação em Desenvolvimento Econômico da Universidade Federal do Paraná (UFPR).

Dessa forma, agradecemos aos Professores Eduardo A. Haddad e Joaquim J. M. Guilhoto pelos ensinamentos e pela disponibilidade dos materiais. Inclusive, deixamos acima e nas referências os links para que os leitores tenham acesso aos materiais e a outras aplicações.

Ressaltamos que, com este material, pretendemos contribuir positivamente para a ampliação do conhecimento tanto em termos teóricos dos modelos de insumo-produto, como em termos de aplicações com o R, especialmente, nos cursos de graduação e pós-graduação da área de Economia.


O material é livre e está licenciado com uma Licença CC BY-NC-SA 4.0. Atualizações podem ser consultadas no site do Núcleo de Estudos em Desenvolvimento Urbano e Regional - NEDUR - da Universidade Federal do Paraná (UFPR).

Na utilização ou citação de partes do material, referencie da seguinte maneira:

VALE, V. A.; PEROBELLI, F. S. Análise de Insumo-Produto: teoria e aplicações no R. Núcleo de Estudos em Desenvolvimento Urbano e Regional (NEDUR) da Universidade Federal do Paraná (UFPR), Curitiba-PR, 2020. Disponível em: http://www.nedur.ufpr.br/portal/cursos


Bons estudos!

2. Instalando o R e o RStudio

Para replicar os passos deste material, será necessário instalar o R e o RStudio. Para tal, faça o download dos dois programas nos links abaixo:



Instale primeiro o R e depois o RStudio!


Após a instalação do R e do RStudio, dois aplicativos estarão disponíveis no seu computador. Neste material, vamos usar o RStudio, um ambiente de desenvolvimento integrado (IDE - Integrated Development Enviroment) ao R.

Procure pelo ícone do RStudio:


ATENÇÃO! Se você está abrindo o RStudio pela primeira vez ou tem pouca experiência com o software, veja o Curso Introdução ao R disponível no site do Núcleo de Estudos em Desenvolvimento Urbano e Regional (NEDUR) da Universidade Federal do Paraná.

Acesse: www.nedur.ufpr.br.


3. Passos Iniciais

3.1. R Script

Para começar os cálculos e salvar os comandos, podemos abrir um editor de texto. No RStudio, o editor de texto é conhecido como R Script (extensão .R).

Para abrir um novo R Script, clique em File > New File > R Script. Alternativamente, você pode usar o atalho Ctrl + Shift + N.


ATENÇÃO! Você pode facilmente copiar e colar os comandos abaixo no seu R Script e Console do RStudio. Entretanto, se preferir, você também pode fazer o download do R Script completo AQUI.


RSCript

ATENÇÃO! O R é case-sensitive, ou seja, sensível a letras maiúsculas e minúsculas. “View” e “view”, por exemplo, são coisas diferentes para o R. Assim como “x” e “X”. Fique atento!


Observação: para incluir comentários no R Script utilize #.


3.2. Diretório de Trabalho

Para começar de fato a trabalhar no RStudio, defina o seu diretório de trabalho. Você pode verificar o diretório de trabalho “setado” com a função getwd().

Digite getwd() no Console:

getwd()
## [1] "C:/Users/vinic/OneDrive/R-VALE/Insumo-Produto"


Observe que o R irá retornar o diretório “setado”. Para definir um diretório de trabalho diferente, podemos usar a função setwd(). Digite o seu caminho, conforme exemplos abaixo.

Você pode copiar facilmente o caminho direto da pasta do seu computador. Lembre-se apenas de que o R utiliza a barra invertida / ou duas barras normais \\.


‣ Opção com /:

setwd("C:/Users/vinic/OneDrive/R-VALE/Insumo-Produto")

‣ Opção com \\:

setwd("C:\\Users\\vinic\\OneDrive\\R-VALE\\Insumo-Produto")


Caso tenha dificuldades com a função setwd(), utilize o atalho Ctrl + Shift + H e escolha a pasta desejada. Depois, confira se o caminho foi “setado” corretamente com a função getwd().

3.3. Pacotes

Neste material, vamos usar os seguintes packages (pacotes) para ler, salvar, manipular (transformar) dados, gerar tabelas e gráficos:


Para instalar um pacote no R, devemos usar a função install.packages():

install.packages("openxlsx")
install.packages("knitr")
install.packages("kableExtra")
install.packages("dplyr")
install.packages("ggplot2")
install.packages("scales")
install.packages("ggrepel")
install.packages("tibble")
install.package("gridExtra")


Para ler os pacotes, usamos a função library():

library(openxlsx)
library(knitr)
library(kableExtra)
library(dplyr)
library(ggplot2)
library(scales)
library(ggrepel)
library(tibble)
library(gridExtra)

Observação: outros pacotes estão disponíveis no The Comprehensive R Archive Network (CRAN). Confira a lista completa em aqui.


4. Base de Dados

4.1. MIP 2015

A Matriz de Insumo-Produto (MIP) 2015 do Brasil, disponibilizada pelo Instituto Brasileiro de Geografia e Estatística (IBGE), considera 67 atividades produtivas (setores). A MIP proporciona uma visão detalhada e sistêmica da estrutura produtiva brasileira e permite avaliar o grau de interdependência setorial da economia e os impactos de variações na demanda final dos produtos, mediante a identificação dos diversos fluxos de produção de bens e serviços.

As principais informações sobre o Sistema de Contas Nacionais (SCN) e sobre a Matriz de Insumo-Produto (MIP) 2015 podem ser obtidas em www.ibge.gov.br.

Para fins de simplificação, vamos utilizar uma versão mais agregada da MIP 2015 com abertura para 12 atividades produtivas (setores). Os cálculos podem ser facilmente replicados com outras matrizes de insumo-produto, inclusive com a MIP brasileira com 67 atividades produtivas.

As 12 atividades produtivas (setores) consideradas na MIP são:

  • Agropecuária (Agro)
  • Indústrias extrativas (Ind.Extr)
  • Indústrias de transformação (Ind.Tran)
  • Eletricidade e gás, água, esgoto e gestão de resíduos (SIUP)
  • Construção (Cons)
  • Comércio (Com)
  • Transporte, armazenagem e correio (Transp)
  • Informação e comunicação (Info)
  • Atividades financeiras, de seguros e serviços relacionados (Finan)
  • Atividades imobiliárias (Imob)
  • Outras atividades de serviços (Otrs.Serv)
  • Administração, defesa, saúde e educação públicas e seguridade social (Adm)


‣ Faça o download da Matriz de Insumo-Produto (MIP) 2015 com 12 atividades produtivas (setores) AQUI.

ATENÇÃO! Após fazer o download, salve o arquivo XLSX na sua pasta “setada”.


ATENÇÃO! Os resultados apresentados nas próximas seções devem ser avaliados com parcimônia visto que foram gerados com uma MIP bastante agregada. Para uma análise mais detalhada e sistêmica da estrutura produtiva brasileira, sugerimos que os cálculos sejam replicados com a MIP com 67 atividades produtivas (setores), disponível em www.ibge.gov.br.


4.2. Importando os Dados

Existem diversos pacotes no R para ler os dados XLS e XLSX, como o readxl, o xlsx e o openxls.

Vamos usar o openxls. Faça sua leitura com a função library():

library(openxlsx)


Para importar os dados para o R com o pacote openxls, podemos usar a função read.xlsx.


Observação: para tirar suas dúvidas sobre o pacote openxls e a função read.xlsx, utilize o help do R. Digite os seguintes comandos no Console:

?openxlsx
?read.xlsx


Os dados em Excel (.xlsx) podem ser lidos com os comandos abaixo. Observem que os nomes das abas (“sheet”) especificados abaixo estão em conformidade com o arquivo disponibilizado na seção anterior.

# Consumo Intermediário (CI): 
Z = read.xlsx("MIP2015_12s.xlsx", sheet = "Z", colNames = FALSE)

# Demanda Final (DF):
y = read.xlsx("MIP2015_12s.xlsx", sheet = "y", colNames = FALSE)

# Valor Bruto da Produção (VBP):
x = read.xlsx("MIP2015_12s.xlsx", sheet = "x", colNames = FALSE)

# Valor Adicionado (VA):
v = read.xlsx("MIP2015_12s.xlsx", sheet = "v", colNames = FALSE)

# Remunerações:
r = read.xlsx("MIP2015_12s.xlsx", sheet = "r", colNames = FALSE)

# Pessoal Ocupado (PO):
e = read.xlsx("MIP2015_12s.xlsx", sheet = "e", colNames = FALSE)

# Consumo das Famílias (C):
c = read.xlsx("MIP2015_12s.xlsx", sheet = "c", colNames = FALSE)

# Setor de Pagamentos
sp = read.xlsx("MIP2015_12s.xlsx", sheet = "sp", colNames = FALSE)

# Setores
Setores = read.xlsx("MIP2015_12s.xlsx", sheet = "set", colNames = FALSE)

Observe que os dados estarão disponíveis como objetos no Environment do RStudio.


Podemos verificar a classe dos objetos com a função class(). Para conferir, por exemplo, a classe do objeto \(\mathbf{Z}\), usamos o seguinte comando:

class(Z)
## [1] "data.frame"

Observe que, nesse caso, a classe do objeto será “data.frame”. Ou seja, uma tabela de dados.


Para realizar as operações das próximas seções, devemos transformar os dados em matrizes ou em vetores numéricos. Para tal, utilize as funções data.matrix() e as.vector():

Z = data.matrix(Z) # Consumo intermediário
y = data.matrix(y) # Demanda final
x = data.matrix(x) # Valor Bruto da Produção
x = as.vector(x)   # Valor Bruto da Produção
v = data.matrix(v) # Valor adicionado
r = data.matrix(r) # Remunerações
e = data.matrix(e) # Pessoal ocupado
c = data.matrix(c) # Consumo das famílias
sp = data.matrix(sp) # Setor de Pagamentos


Confira novamente a classe do objeto \(\mathbf{Z}\):

class(Z)
## [1] "matrix"


Feito isso, os objetos (matrizes e vetores) necessários para realizar a análise de insumo-produto estarão disponíveis no Environment do seu RStudio.

Salve a base dados no formato RData para uso futuro:

save(Z, y, x, v, r, e, c, sp, file = "MIP2015_12s.RData")

Observação: o formato RData mantém a classe e a estrutura dos objetos. Portanto, é um formato interessante para armazenar os dados já tratados. Faça o teste!

Para ler os dados depois, utilize:

load("MIP2015_12s.RData")


5. Insumo-Produto

5.1. Modelo Aberto

Suponha uma economia dividida em \(n\) setores, tal que a produção total (demanda total) do setor \(i\) (\(x_{i}\)) seja dada por:

\[x_{i} \equiv z_{i1} + z_{i2} + \cdots + z_{ij} + \cdots + z_{in} + y_{i}~~~~~~~~(1)\]

em que \(z_{ij}\) (\(\forall \: i,j = 1, 2,\cdots, n\)) representa as vendas interindustriais do setor \(i\) para o setor \(j\); e \(y_{i}\) representa as vendas do setor \(i\) para os agentes da demanda final.

Reescrevendo a Equação (1), temos:

\[x_{i} \equiv \sum_{j=1}^{n}z_{ij} + y_{i}~~~~~~~~(2)\]

Assumindo que cada um dos setores produz bens e serviços segundo uma proporção fixa de insumos por unidade de produto final (setores usam insumos em proporções fixas), temos:

\[a_{ij} = \frac{z_{ij}}{x_{j}} \quad \forall \: i,j = 1, 2,\cdots, n~~~~~~~~(3)\]

sendo \(a_{ij}\) conhecido como a razão de insumo-produto ou coeficiente técnico (coeficiente direto de insumos) que indica a quantidade monetária de insumo do setor \(i\) necessária para a produção de uma unidade monetária de produto final do setor \(j\).

Utilizando os coeficientes técnicos, Equação (3), podemos reescrever a Equação (2) como:

\[x_{i} \equiv \sum_{j=1}^{n}a_{ij}x_{j} + y_{i} \quad \forall \: i,j = 1, 2,\cdots, n~~~~~~~~(4)\]

Ou em termos matriciais:

\[\mathbf{x} = \mathbf{Ax} + \mathbf{y}~~~~~~~~(5)\]

em que \(\mathbf{x}\) é o vetor com a produção total dos \(n\) setores; \(\mathbf{A}\) é a matriz de coeficientes técnicos; e \(\mathbf{y}\) é o vetor com a demanda final por produtos dos \(n\) setores.

Dessa maneira, a partir de manipulações algébricas com a Equação (5), podemos obter a equação básica de equilíbrio do modelo aberto de insumo-produto:

\[\mathbf{x} = (\mathbf{I} - \mathbf{A})^{-1} \mathbf{y}~~~~~~~~(6)\] \[\mathbf{x} = \mathbf{B} \mathbf{y}~~~~~~~~(7)\] em que \(\mathbf{B} =(\mathbf{I} - \mathbf{A})^{-1}\) é conhecida como a matriz inversa de Leontief ou matriz de coeficientes diretos e indiretos (requerimentos totais).

A Equação (7) pode ser interpretada como a produção total (\(\mathbf{x}\)) necessária para satisfazer a demanda final (\(\mathbf{y}\)) dada a tecnologia de produção - matriz inversa de Leontief (\(\mathbf{B}\)).


ATENÇÃO! A matriz \(\mathbf{A}\) mostra os requisitos diretos de insumos e a matriz \(\mathbf{B}\) mostra os requisitos totais (requisitos diretos e indiretos) de insumos.


Modelo Aberto de Insumo-Produto


Considerando a base de dados especificada na Seção 4, podemos calcular a matriz \(\mathbf{A}\) com os coeficientes técnicos (\(a_{ij}\)) da seguinte maneira:

A = Z %*% diag(1 / x)

ATENÇÃO! Multiplicações de matrizes e vetores no R são feitas com o operador %*%. O uso de * irá gerar um resultado diferente, visto que o R faz o produto dos elementos nesse caso.


Para ver a matriz de coeficientes técnicos (\(\mathbf{A}\)), utilize a função View():

View(A)


Para encontrar a inversa de Leontief (\(\mathbf{B}\)), temos que criar primeiro uma matriz identidade (\(\mathbf{I}\)) de tamanho \(n \times n\). Para tal, podemos definir \(n\) como o tamanho do vetor \(\mathbf{x}\) com a função length() e depois criar a matriz identidade com a função diag():

n = length(x)
I = diag(n)

Repare que, nesse caso, \(n\) será igual a \(12\) (número de setores na MIP) e \(\mathbf{I}\) será uma matriz identidade \(12 \times 12\).

Para ver a matriz identidade (\(\mathbf{I}\)), utilize a função View():

View(I)


Considerando as matrizes \(\mathbf{I}\) e \(\mathbf{A}\), a matriz inversa de Leontief (\(\mathbf{B}\)) pode ser calculada com auxílio da função solve() (retorna a matriz inversa):

B = solve(I - A)

Para ver a matriz inversa de Leontief (\(\mathbf{B}\)), utilize a função View():

View(B)


Interpretações

Para ver o primeiro elemento da primeira coluna da matriz \(\mathbf{A}\), utilize a seguinte indexação:

A[1, 1]
##          1 
## 0.04053431

Esse valor indica que o Setor 1 (Agro) requer diretamente R$0.0405 de insumos do próprio setor para produzir R$1.00 de produto final.


Para ver o segundo elemento da primeira coluna da matriz \(\mathbf{A}\), utilize a seguinte indexação:

A[2, 1]
##           2 
## 0.001102888

Esse valor, por sua vez, indica que o Setor 1 (Agro) requer diretamente R$0.0011 de insumos do Setor 2 (Ind.Extr) para produzir R$1.00 de produto final.


Similarmente, para ver o primeiro elemento da primeira coluna da matriz \(\mathbf{B}\), utilize a seguinte indexação:

B[1, 1]
##        1 
## 1.070423

Nesse caso, temos que, para atender um aumento de demanda de R$1,00 por produtos do Setor 1 (Agro), deverá ser produzido mais R$1.0704 de produto do setor, sendo R$1,00 o efeito inicial e R$0.0704 o produto adicional requerido pelo fato de o setor ser usado como insumo para produzir outros produtos no sistema produtivo.


Para ver o segundo elemento da primeira coluna da matriz \(\mathbf{B}\), utilize a seguinte indexação:

B[2, 1]
##          1 
## 0.01711798

Esse valor, por sua vez, significa que, para atender um aumento de demanda de R$1,00 por produtos do Setor 1 (Agro), deverá ser produzido mais R$0.0171 de produto do Setor 2 (Ind.Extr).


Observação: a interpretação para os demais setores da matriz de insumo-produto é análoga. Uma análise mais detalhada será apresentada na Seção de Multiplicadores.


5.2. Modelo Fechado

No processo de produção, as famílias recebem renda como forma de pagamento pelo seu trabalho e, como consumidores, gastam seus rendimentos de forma relativamente padronizada segundo sua cesta de consumo.

O modelo aberto de Leontief (modelo aberto de insumo-produto) apresentado acima capta somente os impactos diretos e indiretos ligados às relações técnicas intersetoriais de compra e venda de insumos. Para capturar os efeitos induzidos pela geração de renda e consumo, é preciso “fechar” o modelo em relação às famílias. Em outras palavras, é preciso tornar o consumo das famílias endógeno no modelo.

Para tal, modifica-se a formulação básica do modelo tal que:

  • o consumo das famílias é movido da coluna da demanda final para a última coluna da tabela de transações interindustriais do sistema de insumo-produto; e
  • a remuneração do trabalho (renda) é movida para a última linha da tabela de transações interindustriais do sistema de insumo-produto.

Essas alterações resultam no modelo fechado de insumo produto, representado por:

\[\left[\begin{array} {c} \mathbf{x} \\ x_{n+1} \\ \end{array} \right] = \left[\begin{array} {cc} \mathbf{A} & \mathbf{h_{c}} \\ \mathbf{h_{r}} & 0 \\ \end{array} \right] \left[\begin{array} {c} \mathbf{x} \\ x_{n+1} \\ \end{array} \right] + \left[\begin{array} {c} \mathbf{y} \\ y_{n+1} \\ \end{array} \right]~~~~~~~~(8)\]

em que \(\mathbf{h_{c}}\) é um vetor coluna com os coeficientes de consumo; e \(\mathbf{h_{r}}\) é um vetor linha com os coeficientes de remuneração do trabalho (renda).

Os coeficientes de remuneração do trabalho (renda) (\(c_{j}^{r}\)) são dados por:

\[c_{j}^{r} = \frac{v_{j}^{r}}{x_{j}} \quad \forall \: j = 1, 2,\cdots, n~~~~~~~~(9)\]

em que \(v_{j}^{r}\) corresponde à remuneração do trabalho (renda) no setor \(j\); e \({x_{j}}\) é o produto do setor \(j\).

Os coeficientes de consumo (\(c_{i}^{c}\)), por sua vez, são dados por:

\[c_{i}^{c} = \frac{v_{i}^{c}}{\sum_{j=1}^{n} v_{j}^{r}} \quad \forall \: i,j = 1, 2,\cdots, n~~~~~~~~(10)\]

em que \(v_{i}^{c}\) corresponde ao consumo das famílias dos produtos do setor \(i\); e \(\sum_{j=1}^{n} v_{j}^{r}\) corresponde à remuneração do trabalho (renda) associada aos \(n\) setores produtivos.

Dessa maneira, assumindo que

\[\left[\begin{array} {c} \mathbf{x} \\ x_{n+1} \\ \end{array} \right] = \mathbf{\bar{x}} \qquad \left[\begin{array} {cc} \mathbf{A} & \mathbf{h_{c}} \\ \mathbf{h_{r}} & 0 \\ \end{array} \right] = \mathbf{\bar{A}} \qquad \left[\begin{array} {c} \mathbf{y} \\ y_{n+1} \\ \end{array} \right] = \mathbf{\bar{y}}~~~~~~~~(11)\]

podemos reescrever a equação básica do modelo de insumo-produto como:

\[\mathbf{\bar{x}} = (\mathbf{I} - \mathbf{\bar{A}})^{-1} \mathbf{\bar{y}}~~~~~~~~(12)\]

\[\mathbf{\bar{x}} = \mathbf{\bar{B}} \mathbf{\bar{y}}~~~~~~~~(13)\]

em que \(\mathbf{\bar{B}}=(\mathbf{I} - \mathbf{\bar{A}})^{-1}\) é conhecida como a matriz inversa de Leontief do modelo fechado de insumo-produto.

Nesse caso, a matriz \(\mathbf{\bar{B}}\) mostra os requisitos totais (requisitos diretos e indiretos) e os induzidos. Assim, os coeficientes da matriz \(\mathbf{\bar{B}}\) serão maiores do que aqueles calculados no modelo aberto de Leontief (modelo aberto de insumo-produto). As diferenças entre os coeficientes das matrizes inversas de Leontief dos dois modelos representam o impacto induzido sobre a produção setorial decorrente da expansão do consumo das famílias.


Modelo Fechado de Insumo-Produto


Considerando a base de dados especificada na Seção 4, inicialmente calculamos os coeficientes de consumo (\(c_{i}^{c}\)) e de remuneração do trabalho (renda) (\(c_{j}^{r}\)).

O vetor \(\mathbf{h_{c}}\) com os coeficientes de consumo (\(c_{i}^{c}\)) pode ser encontrado com:

hc = c / sum(r)


O vetor \(\mathbf{h_{r}}\) com os coeficientes de remuneração do trabalho (renda) (\(c_{j}^{r}\)), por sua vez, pode ser determinado com:

hr = r / x

Lembre-se de que o vetor \(\mathbf{h_{r}}\) deve ser um vetor linha. Portanto, utilize a função t() para transpor o vetor \(\mathbf{h_{r}}\):

hr = t(hr)


Após determinar os vetores, podemos construir a matriz \(\mathbf{\bar{A}}\) (especificada como AF). Para tal, definimos primeiro uma matriz \(n+1 \times n+1\) para receber as informações necessárias com a função matrix():

AF = matrix(NA, ncol = n + 1, nrow = n + 1)

Observe que nesse caso a matriz AF será uma matriz \(13 \times 13\) e estará preenchida com “NA” (sem valor).


Conforme Equação (11), devemos preencher a matriz \(\mathbf{\bar{A}}\) (ou AF) da seguinte forma:

\[\left[\begin{array} {cc} \mathbf{A} & \mathbf{h_{c}} \\ \mathbf{h_{r}} & 0 \\ \end{array} \right] = \mathbf{\bar{A}}\]


Para tal, podemos usar as funções rbind() e cbind():

AF = rbind(cbind(A, hc), cbind(hr, 0))


Nesse caso, a função cbind(A,hc) junta a matriz \(\mathbf{A}\) e o vetor coluna \(\mathbf{h_{c}}\); e a função cbind(hr,0) junta o vetor linha \(\mathbf{h_{r}}\) e o escalar 0. Por fim, a função rbind() junta esses dois resultados, formando a matriz \(\mathbf{\bar{A}}\) (ou AF).


Observação: para tirar dúvidas sobre as duas funções, utilize o help do R:

?cbind
?rbind


Para ver a matriz de coeficientes técnicos do modelo fechado de insumo-produto (\(\mathbf{\bar{A}}\) ou AF), utilize a função View():

View(AF)


Para encontrar a inversa de Leontief do modelo fechado de insumo-produto, devemos criar primeiro uma matriz identidade com uma coluna e uma linha a mais (ou seja, uma matriz \(n+1 \times n+1\)):

IF = diag(n + 1)

Para ver a matriz identidade (IF), utilize a função View():

View(IF)


Considerando as matrizes IF e \(\mathbf{\bar{A}}\) (ou AF), a matriz inversa de Leontief (\(\mathbf{\bar{B}}\) ou BF) do modelo fechado de insumo-produto pode ser calculada com auxílio da função solve():

BF = solve(IF - AF)

Para ver a matriz inversa de Leontief do modelo fechado (\(\mathbf{\bar{B}}\)), utilize a função View():

View(BF)


Interpretação

Para ver o primeiro elemento da primeira coluna da matriz \(\mathbf{\bar{B}}\) (ou BF), utilize a seguinte indexação:

BF[1, 1]
## [1] 1.106383

Repare que o valor é maior do que o observado com a matriz \(\mathbf{B}\). Nesse caso, a matriz incorpora o impacto induzido sobre a produção setorial.


Observação: a decomposição detalhada dos efeitos será abordada na Seção de Multiplicadores.


5.3. Modelo pelo Lado da Oferta

Uma alternativa ao modelo de insumo-produto pelo lado da demanda, apresentado nas duas seções anteriores, é o modelo pelo lado da oferta proposto por Ghosh.

Para encontrar a equação de equilíbrio do modelo pelo lado da oferta, calculam-se os elementos da matriz de coeficientes técnicos de insumo-produto pelo lado da oferta (\(\mathbf{F}\)) como:

\[f_{ij} = \frac{z_{ij}}{x_{i}} \quad \forall \: i,j = 1, 2,\cdots, n~~~~~~~~(14)\]


ATENÇÃO! Em vez de dividir cada \(z_{ij}\) (consumo intermediário) pelo Valor Bruto da Produção (VBP) do setor associado à coluna (\(x_{j}\)) (método tradicional e mais conhecido na literatura), divide-se cada \(z_{ij}\) pelo Produto (Demanda Total) do setor associado à linha (\(x_{i}\)).


Dessa maneira, a partir de manipulações algébricas, podemos obter a equação básica de equilíbrio do modelo de insumo-produto pelo lado da oferta como:

\[\mathbf{x'} = \mathbf{v}(\mathbf{I} - \mathbf{F})^{-1}~~~~~~~~(15)\]

\[\mathbf{x'} = \mathbf{v}\mathbf{G}~~~~~~~~(16)\]

em que \(\mathbf{x'}\) é o vetor linha com a produção total dos \(n\) setores; \(\mathbf{I}\) é a matriz identidade \(n \times n\); \(\mathbf{v}\) é o vetor de setor de pagamentos; \(\mathbf{F}\) é a matriz de coeficientes técnicos pelo lado da oferta; e \((\mathbf{I} - \mathbf{F})^{-1} = \mathbf{G}\) é a matriz inversa de Ghosh.


Observação: para encontrar o equilíbrio, considera-se no setor de pagamentos o valor adicionado, as importações e impostos indiretos.


Modelo de Insumo-Produto pelo Lado da Oferta


Considerando a base de dados especificada na Seção 4, podemos calcular a matriz \(\mathbf{F}\) com os coeficientes técnicos pelo lado da oferta (\(f_{ij}\)) da seguinte maneira:

F = diag(1 / x) %*% Z

Para ver a matriz de coeficientes técnicos (\(\mathbf{F}\)), utilize a função View():

View(F)


Para encontrar a inversa de Ghosh (\(\mathbf{G}\)), utilize a matriz identidade (\(\mathbf{I}\)) de tamanho \(n \times n\) criada anteriormente e a matriz de coeficientes técnicos pelo lado da oferta (\(\mathbf{F}\)):

G = solve(I - F)

Para ver a matriz inversa de Ghosh (\(\mathbf{G}\)), utilize a função View():

View(G)


6. Multiplicadores

6.1. Produção

Considerando o modelo aberto de insumo-produto descrito anteriormente, podemos definir o Multiplicador Simples de Produção do setor j (\(m(o)_{j}\)) como:

\[m(o)_{j} = \sum_{i=1}^{n}b_{ij}~~~~~~~~(17)\]

em que \(b_{ij}\) são os elementos da matriz inversa de Leontief (\(\mathbf{B}\)).


O Multiplicador Total de Produção do setor j (\(m(\bar{o})_{j}\)), por sua vez, é calculado com o modelo fechado de insumo-produto:

\[m(\bar{o})_{j} = \sum_{i=1}^{n+1}\bar{b}_{ij}~~~~~~~~(18)\]

em que \(\bar{b}_{ij}\) são os elementos da matriz inversa de Leontief do modelo fechado (\(\mathbf{\bar{B}}\)).


O Multiplicador Total de Produção Truncado do setor j (\(m[\bar{o}(t)]_{j}\)) também pode ser calculado considerado o modelo fechado de insumo-produto:

\[m[\bar{o}(t)]_{j} = \sum_{i=1}^{n}\bar{b}_{ij}~~~~~~~~(19)\]

em que \(\bar{b}_{ij}\) são os \(n \times n\) elementos da matriz inversa de Leontief do modelo fechado (\(\mathbf{\bar{B}}\)). Ou seja, consideram-se apenas os \(n\) setores produtivos.


Com base nos modelos de insumo-produto descritos na seção anterior, podemos decompor o Multiplicador Total de Produção da seguinte maneira:

Efeito Mensuração
Efeito Total no modelo fechado (Efeito Direto + Indireto + Induzido) \(\sum_{i=1}^{n+1}\bar{b}_{ij}\)
Efeito Total no modelo aberto (Efeito Direto + Indireto) \(\sum_{i=1}^{n}b_{ij}\)
Efeito Induzido \(\sum_{i=1}^{n+1}\bar{b}_{ij} - \sum_{i=1}^{n}b_{ij}\)
Efeito Direto \(\sum_{i=1}^{n}a_{ij}\)
Efeito Indireto \(\sum_{i=1}^{n}b_{ij} - \sum_{i=1}^{n}a_{ij}\)
Fonte: adaptação de Miller e Blair (2009).


E o Multiplicador Total de Produção Truncado como:

Efeito Mensuração
Efeito Total Truncado no modelo fechado (Efeito Direto + Indireto + Induzido) \(\sum_{i=1}^{n}\bar{b}_{ij}\)
Efeito Total no modelo aberto (Efeito Direto + Indireto) \(\sum_{i=1}^{n}b_{ij}\)
Efeito Induzido (apenas os \(n\) setores produtivos) \(\sum_{i=1}^{n}\bar{b}_{ij} - \sum_{i=1}^{n}b_{ij}\)
Efeito Direto \(\sum_{i=1}^{n}a_{ij}\)
Efeito Indireto \(\sum_{i=1}^{n}b_{ij} - \sum_{i=1}^{n}a_{ij}\)
Fonte: adaptação de Miller e Blair (2009).

Multiplicadores de Produção


Os Multiplicadores Simples de Produção podem ser calculados com a função colSums():

MP = colSums(B)

Para ver os multiplicadores, utilize a função View():

View(MP)


Os Multiplicadores Totais de Produção podem ser calculados com a função colSums() e a seguinte indexação:

MPT = colSums(BF[, 1:n])

Observe que no cálculo consideramos apenas as \(n\) primeiras colunas. Ou seja, calculam-se os multiplicadores para os \(n\) setores produtivos (1:\(n\)) da MIP. Para ver tais multiplicadores, utilize a função View():

View(MPT)


Os Multiplicadores Totais de Produção Truncados, por sua vez, podem ser calculados com a função colSums() e a seguinte indexação:

MPTT = colSums(BF[1:n, 1:n])

Ou seja, conforme destacado acima, consideramos apenas os \(n \times n\) elementos da matriz inversa de Leontief do modelo fechado (\(\mathbf{\bar{B}}\) ou BF). Para ver os multiplicadores, utilize a função View():

View(MPTT)


Para juntar os multiplicadores em uma única tabela de dados (data frame), utilize a função cbind(). Além disso, transforme o objeto em data frame com a função as.data.frame() e determine o nome das colunas com a função colnames():

MultProd= cbind(Setores, MP, MPT, MPTT)
MultProd = as.data.frame(MultProd)
colnames(MultProd) = c("Setores", "MP", "MPT", "MPTT")


Caso os dados estejam armazenados como fatores, transforme-os primeiro em “character” (texto) com a função as.character() e depois em “numeric” (numérico) com a função as.numeric():

MultProd$MP = as.numeric(as.character(MultProd$MP))
MultProd$MPT = as.numeric(as.character(MultProd$MPT))
MultProd$MPTT = as.numeric(as.character(MultProd$MPTT))

Observação: o operador $ funciona como um indexador (seleção de um subconjunto). Com MultProd$MP, por exemplo, selecionamos apenas a coluna MP do objeto MultProd.


Para ver a tabela de dados, utilize a função View() ou simplesmente digite “MultProd” no Console do RStudio:

MultProd
##      Setores       MP      MPT     MPTT
## 1       Agro 1.719044 2.959997 2.543951
## 2   Ind.Extr 1.771649 3.328518 2.806557
## 3   Ind.Tran 2.147529 4.051231 3.412990
## 4       SIUP 1.947655 3.344608 2.876261
## 5       Cons 1.811262 3.693084 3.062178
## 6        Com 1.532739 3.780823 3.027123
## 7     Transp 1.840288 4.143630 3.371404
## 8       Info 1.640565 3.708278 3.015050
## 9      Finan 1.492315 3.463977 2.802952
## 10      Imob 1.110196 1.309140 1.242441
## 11 Otrs.Serv 1.533751 4.052431 3.208010
## 12       Adm 1.383516 5.306243 3.991097


Para gerar uma tabela organizada, podemos usar os pacotes knitr, kableExtra e dplyr. Faça a leitura dos pacotes com:

library(knitr)
library(kableExtra)
library(dplyr)


A tabela pode ser gerada com a função kable() do pacote knitr. Extras de formatação podem ser adicionados com a função kable_styling() do pacote kableExtra e com auxílio do operador pipe do pacote dplyr.


Observação: o pipe, ou como usado no código %>%, é um operador do pacote dplyr utilizado para facilitar a execução dos comandos. Basicamente, ele usa o valor resultante da expressão anterior (lado esquerdo) como primeiro argumento da função do lado direito.


kable(MultProd, caption = "Multiplicadores de Produção", align = "lccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Multiplicadores de Produção
Setores MP MPT MPTT
Agro 1.719044 2.959997 2.543951
Ind.Extr 1.771649 3.328518 2.806557
Ind.Tran 2.147530 4.051231 3.412990
SIUP 1.947655 3.344608 2.876261
Cons 1.811262 3.693084 3.062178
Com 1.532739 3.780823 3.027123
Transp 1.840288 4.143630 3.371404
Info 1.640565 3.708278 3.015050
Finan 1.492315 3.463977 2.802952
Imob 1.110196 1.309140 1.242441
Otrs.Serv 1.533751 4.052431 3.208010
Adm 1.383516 5.306243 3.991097
Fonte: elaboração própria com dados da MIP do IBGE (2015).

Interpretação

Os Multiplicadores de Produção do Setor 1 (Agro), por exemplo, podem ser interpretados como:

  • Multiplicador Simples de Produção (MP): uma variação de demanda de R$1,00 no Setor 1 (Agro) gera R$1.7190 de produto na economia.
  • Multiplicador Total de Produção (MPT): uma variação de demanda de R$1,00 no Setor 1 (Agro) gera R$2.9600 de produto na economia, incluindo o efeito induzido.
  • Multiplicador Total de Produção Truncado (MPTT): uma variação de demanda de R$1,00 no Setor 1 (Agro) gera R$2.5440 de produto na economia, incluindo o efeito induzido (apenas nos \(n\) setores produtivos).


Considerando a decomposição do Multiplicador Total de Produção do Setor 1 (Agro), temos:

Efeito Mensuração
Efeito Total no modelo fechado (Efeito Direto + Indireto + Induzido) 2.9600
Efeito Total no modelo aberto (Efeito Direto + Indireto) 1.7190
Efeito Induzido 1.2410
Efeito Direto 0.3713
Efeito Indireto 1.3478
Fonte: elaboração própria com dados da MIP do IBGE (2015).


Considerando a decomposição do Multiplicador Total de Produção Truncado do Setor 1 (Agro), temos:

Efeito Mensuração
Efeito Total no modelo fechado (Efeito Direto + Indireto + Induzido) 2.5440
Efeito Total no modelo aberto (Efeito Direto + Indireto) 1.7190
Efeito Induzido 0.8249
Efeito Direto 0.3713
Efeito Indireto 1.3478
Fonte: elaboração própria com dados da MIP do IBGE (2015).

Observação: para calcular as decomposições, as seguintes operações e indexações foram utilizadas:

#Multiplicador Total de Produção do Setor 1:
format(round(sum(BF[,1]), digits = 4), nsmall = 4) #Efeito Total no modelo fechado
format(round(sum(B[,1]), digits = 4), nsmall = 4) #Efeito Total no modelo aberto
format(round(sum(BF[,1]) - sum(B[,1]), digits = 4), nsmall = 4) #Efeito Induzido 
format(round(sum(A[,1]), digits = 4), nsmall = 4) #Efeito Direto 
format(round(sum(B[,1]) - sum(A[,1]), digits = 4), nsmall = 4) #Efeito Indireto

#Multiplicador Total de Produção Truncado do Setor 1:
format(round(sum(BF[1:n,1]), digits = 4), nsmall = 4) #Efeito Total no modelo fechado
format(round(sum(B[,1]), digits = 4), nsmall = 4) #Efeito Total no modelo aberto
format(round(sum(BF[1:n,1]) - sum(B[,1]), digits = 4), nsmall = 4) #Efeito Induzido
format(round(sum(A[,1]), digits = 4), nsmall = 4) #Efeito Direto
format(round(sum(B[,1]) - sum(A[,1]), digits = 4), nsmall = 4) #Efeito Indireto


A parte de visualização no R, por sua vez, pode ser explorada com o pacote ggplot2. Se você ainda não instalou o pacote, utilize o comando abaixo:

install.packages("ggplot2")


Além disso, instale também o pacote scales. Ele será útil para arrumar as escalas dos eixos:

install.packages("scales")


Após a instalação, faça a leitura dos dois pacotes:

library(ggplot2)
library(scales)


Podemos utilizar a tabela de dados MultProd para fazer gráficos com o pacote ggplot2:


Multiplicadores Simples de Produção

ggplot(MultProd, aes(x = factor(Setores, levels = unique(Setores)), y = MP)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Simples de Produção") +
  labs(subtitle = "2015",
  caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MP, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0, 2.5),
                     breaks = seq(from = 0.0, to = 2.5, by = 0.5))


Multiplicadores Totais de Produção

ggplot(MultProd, aes(x = factor(Setores, levels = unique(Setores)), y = MPT)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Totais de Produção") +
  labs(subtitle = "2015",
  caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MPT, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0, 5.5),
                     breaks = seq(from = 0.0, to = 5.5, by = 0.5))


Multiplicadores Totais de Produção Truncados

ggplot(MultProd, aes(x = factor(Setores, levels = unique(Setores)), y = MPTT)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Totais de Produção Truncados") +
  labs(subtitle = "2015",
  caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MPTT, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0, 4.5),
                     breaks = seq(from = 0.0, to = 4.5, by = 0.5))


6.2. Emprego

Para calcular os multiplicadores de emprego, devemos calcular primeiro os coeficientes de emprego (requisitos de emprego) para todos os setores do sistema de insumo-produto em questão.

Os requisitos de emprego (\(c_{j}^{e}\)) podem ser calculados com:

\[c_{j}^{e} = \frac{v_{j}^{e}}{x_{j}} \quad \forall \: j = 1, 2,\cdots, n~~~~~~~~(20)\]

em que \(v_{j}^{e}\) corresponde ao número de trabalhadores empregados (pessoal ocupado) no setor \(j\); e \(x_{j}\) o produto do setor \(j\).

Considerando os coeficientes de emprego para os \(n\) setores, temos:

\[\mathbf{e'} = \mathbf{\hat{C}^{e}} \mathbf{x}~~~~~~~~(21)\]

em que \(\mathbf{e'}\) é um vetor com os valores brutos do emprego; \(\mathbf{\hat{C}^{e}}\) é uma matriz com os coeficientes de emprego na diagonal e zeros no restante; e \(\mathbf{x}\) é o vetor de valor bruto da produção.

Considerando a equação de equilíbrio do modelo aberto de insumo-produto, \(\mathbf{x} = \mathbf{B} \mathbf{y}\), podemos reescrever a Equação (21) como:

\[\mathbf{e'} = \mathbf{\hat{C}^{e}} \mathbf{By}~~~~~~~~(22)\]

em que \(\mathbf{B}\) é a matriz inversa de Leontief; e \(\mathbf{y}\) é o vetor de demanda final.

A pré-multiplicação da matriz inversa de Leontief (\(\mathbf{B}\)) pela matriz de coeficientes de emprego (\(\mathbf{\hat{C}^{e}}\)) é conhecida como matriz geradora de empregos:

\[\mathbf{E} = \mathbf{\hat{C}^{e}} \mathbf{B}~~~~~~~~(23)\]

A matriz \(\mathbf{E}\) mostra a estrutura setorial de geração de emprego na economia por unidade adicional de demanda final. Portanto, a partir dela, podemos calcular o Multiplicador Simples de Emprego (ou Gerador de Emprego) do setor j (\(m(e)_{j}\)) como:

\[m(e)_{j} = \sum_{i=1}^{n}e_{ij}~~~~~~~~(24)\]

em que \(e_{ij}\) são os elementos da matriz geradora de empregos (\(\mathbf{E}\)).

Portanto, o Multiplicador Simples de Emprego (ou Gerador de Emprego) apresenta o impacto total (direto e indireto) dada uma unidade adicional de demanda final. Ou seja, mostra o quanto é gerado de emprego na economia dada uma variação de demanda de R$1,00 no setor.


Além dos multiplicadores simples, podemos calcular também os Multiplicadores de Emprego (Tipo I), os Multiplicadores Totais de Emprego (truncado) e os Multiplicadores de Emprego (Tipo II).


O Multiplicador de Emprego (Tipo I) é dado pela razão entre o Multiplicador Simples de Emprego do setor j (\(m(e)_{j}\)) e seu respectivo coeficiente de intensidade (\(c_{j}^{e}\)):

\[m^{I}(e)_{j} = \frac{m(e)_{j}}{c_{j}^{e}}~~~~~~~~(25)\]

O Multiplicador de Emprego (Tipo I) representa, portanto, o quanto é gerado, direta e indiretamente, de emprego para cada unidade diretamente gerada de emprego.


O Multiplicador Total de Emprego (truncado) é dado por:

\[m(\bar{e})_{j} = \sum_{i=1}^{n}\bar{e}_{ij}~~~~~~~~(26)\]

em que \(\bar{e}_{ij}\) são os elementos da matriz geradora de empregos (\(\mathbf{\bar{E}}\)) considerando o modelo fechado de insumo-produto. Ou seja, \(\mathbf{\bar{E}} = \mathbf{\hat{C}^{e}} \mathbf{\bar{B}^{*}}\), em que \(\mathbf{\bar{B}^{*}}\) nesse caso considera apenas as relações entre os \(n\) setores produtivos da matriz \(\mathbf{\bar{B}}\) definida na Equação (13).

O Multiplicador Total de Emprego (truncado) apresenta oa impactos direto, indireto e induzido. Ou seja, incorpora o efeito induzido dada uma unidade adicional de demanda final.


O Multiplicador de Emprego (Tipo II) é dado pela razão entre o Multiplicador Total de Emprego (truncado) do setor j (\(m(\bar{e})_{j}\)) e seu respectivo coeficiente de intensidade (\(c_{j}^{e}\)):

\[m^{I}(e)_{j} = \frac{m(\bar{e})_{j}}{c_{j}^{e}}~~~~~~~~(27)\]

O Multiplicador de Emprego (Tipo II) incorpora o efeito induzido. Ou seja, representa o quanto é gerado de emprego, incluindo o efeito induzido, para cada unidade diretamente gerada de emprego.


Com isso, temos a seguinte decomposição do Multiplicador Total de Emprego:

Efeito Mensuração
Efeito Total no modelo fechado (Efeito Direto + Indireto + Induzido) \(\sum_{i=1}^{n}\bar{e}_{ij}\)
Efeito Total no modelo aberto (Efeito Direto + Indireto) \(\sum_{i=1}^{n}e_{ij}\)
Efeito Induzido \(\sum_{i=1}^{n}\bar{e}_{ij} - \sum_{i=1}^{n}e_{ij}\)
Efeito Direto \(c^{e}_{j}\)
Efeito Indireto \(\sum_{i=1}^{n}e_{ij} - c^{e}_{j}\)
Fonte: adaptação de Miller e Blair (2009).


E a seguinte síntese do Multiplicador de Emprego:

Síntese
Mudança Exógena \(\Delta y_{j} = 1\)
Efeito Inicial (N) - setor j \(\Delta x_{j} = 1\) e \(\Delta c^{e}_{j}\)
Efeito Total (T) no modelo aberto (Efeito Direto + Indireto) \(\sum_{i=1}^{n}e_{ij}\)
Multiplicador Simples (T/N) no modelo aberto \(m(e)_{j} = \frac{\sum_{i=1}^{n}e_{ij}}{\Delta y_{j}}\)
Multiplicador (Tipo I) no modelo aberto \(m^{I}(e)_{j} = \frac{m(e)_{j}}{c_{j}^{e}}\)
Efeito Total (\(\bar{T}\)) no modelo fechado (Efeito Direto + Indireto + Induzido) \(\sum_{i=1}^{n}\bar{e}_{ij}\)
Multiplicador Total (T/N) no modelo fechado \(m(\bar{e})_{j} = \frac{\sum_{i=1}^{n}\bar{e}_{ij}}{\Delta y_{j}}\)
Multiplicador (Tipo II) no modelo fechado \(m^{II}(e)_{j} = \frac{m(\bar{e})_{j}}{c_{j}^{e}}\)
Fonte: adaptação de Miller e Blair (2009).

Multiplicadores de Emprego


Os coeficientes de emprego (\(c_{j}^{e}\)) podem ser calculados com:

ce = e / x
ce = as.vector(ce)

ATENÇÃO! Nesse caso, visto que os dados na MIP estão em valores correntes em 1.000.000 R$, temos os requisitos de emprego por R$1.000.000.


A matriz com os coeficientes de emprego na diagonal e zeros no restante (\(\mathbf{\hat{C}^{e}}\)) pode ser construída com a função diag():

Cehat = diag(ce)  


Com isso, a matriz geradora de empregos (\(\mathbf{E}\)) pode ser calculada considerando a matriz de coeficientes de emprego (\(\mathbf{\hat{C}^{e}}\) ou Cehat) e a matriz inversa de Leontief (\(\mathbf{B}\)):

E = Cehat %*% B


Os Multiplicadores Simples de Emprego podem ser calculados com a função colSums():

ME = colSums(E)

Para ver os multiplicadores, utilize a função View():

View(ME)


Os Multiplicadores de Emprego (Tipo I) podem ser calculados com:

MEI = ME / ce

Para ver tais multiplicadores, utilize a função View():

View(MEI)


Para calcular os multiplicadores totais de emprego, temos, primeiro, que calcular a matriz geradora de empregos considerando o modelo fechado de insumo-produto (\(\mathbf{\bar{E}}\)):

EF = Cehat %*% BF[1:n, 1:n]

Observe que, para o cálculo, consideram-se apenas as \(n\) colunas e \(n\) linhas da matriz (\(\mathbf{\bar{B}}\) ou BF). Ou seja, consideram-se apenas os \(n\) setores produtivos.


Com a matriz \(\mathbf{\bar{E}}\) (ou EF), podemos calcular os Multiplicadores Totais de Emprego (truncados) com a função colSums():

MET = colSums(EF)

Para ver tais multiplicadores, utilize a função View():

View(MET)


Os Multiplicadores de Emprego (Tipo II) podem ser calculados com:

MEII = MET / ce

Para ver tais multiplicadores, utilize a função View():

View(MEII)


Para juntar os multiplicadores de emprego em uma única tabela de dados (data frame), utilize a função cbind(). Além disso, transforme o objeto em data frame com a função as.data.frame() e determine o nome das colunas com a função colnames():

MultEmp = cbind(Setores, ME, MEI, MET, MEII)
MultEmp = as.data.frame(MultEmp)
colnames(MultEmp) = c("Setores", "ME", "MEI", "MET", "MEII")


Caso os dados estejam armazenados como fatores, transforme-os primeiro em “character” (texto) com a função as.character() e depois em “numeric” (numérico) com a função as.numeric():

MultEmp$ME = as.numeric(as.character(MultEmp$ME))
MultEmp$MEI = as.numeric(as.character(MultEmp$MEI))
MultEmp$MET = as.numeric(as.character(MultEmp$MET))
MultEmp$MEII = as.numeric(as.character(MultEmp$MEII))


Para ver a tabela de dados, utilize a função View() ou simplesmente digite “MultEmp” no Console do RStudio:

MultEmp
##      Setores        ME      MEI       MET      MEII
## 1       Agro 34.101037 1.242638 42.169181  1.536640
## 2   Ind.Extr  8.451915 7.658824 18.574004 16.831101
## 3   Ind.Tran 15.374493 3.806716 27.751536  6.871265
## 4       SIUP  8.348028 3.987779 17.430413  8.326354
## 5       Cons 21.242773 1.554648 33.477565  2.450048
## 6        Com 22.473178 1.310717 37.089247  2.163178
## 7     Transp 17.071567 1.827595 32.046902  3.430779
## 8       Info 10.674351 2.771608 24.117726  6.262196
## 9      Finan  6.687006 3.202383 19.505899  9.341304
## 10      Imob  1.560459 2.042665  2.853904  3.735805
## 11 Otrs.Serv 26.034161 1.264451 42.409532  2.059785
## 12       Adm 13.211106 1.428829 38.714983  4.187166


Como realizado na seção anterior, uma tabela pode ser gerada com a função kable() do pacote knitr e extras de formatação podem ser feitos com a função kable_styling() do pacote kableExtra e o auxílio do operador pipe %>% do pacote dplyr:

kable(MultEmp, caption = "Multiplicadores de Emprego", align = "lcccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           alphabet = "ME e MET por 1.000.000 R$.",
           alphabet_title = "Nota:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Multiplicadores de Emprego
Setores ME MEI MET MEII
Agro 34.101037 1.242638 42.169181 1.536640
Ind.Extr 8.451915 7.658824 18.574004 16.831101
Ind.Tran 15.374493 3.806716 27.751535 6.871265
SIUP 8.348028 3.987779 17.430413 8.326354
Cons 21.242773 1.554648 33.477565 2.450048
Com 22.473178 1.310717 37.089247 2.163178
Transp 17.071567 1.827595 32.046902 3.430779
Info 10.674351 2.771608 24.117726 6.262196
Finan 6.687006 3.202383 19.505899 9.341304
Imob 1.560459 2.042665 2.853904 3.735805
Otrs.Serv 26.034161 1.264451 42.409532 2.059785
Adm 13.211106 1.428829 38.714983 4.187166
Fonte: elaboração própria com dados da MIP do IBGE (2015).
Nota: a ME e MET por 1.000.000 R$.


Interpretação

Os Multiplicadores de Emprego do Setor 1 (Agro), por exemplo, podem ser interpretados como:

  • Multiplicador Simples de Emprego (ME): uma variação de demanda de R$1.000.000 no Setor 1 (Agro) gera 34.101 empregos na economia.
  • Multiplicador de Emprego (Tipo I) (MEI): para cada emprego gerado diretamente no Setor 1 (Agro), tem-se um efeito multiplicador de 1.2426 na economia.
  • Multiplicador Total de Emprego Truncado (MET): uma variação de demanda de R$1.000.000 no Setor 1 (Agro) gera 42.1692 empregos na economia, incluindo o efeito induzido (apenas nos \(n\) setores produtivos).
  • Multiplicador de Emprego (Tipo II) (MEII): para cada emprego gerado diretamente no Setor 1 (Agro), tem-se um efeito multiplicador de 1.5366 na economia, incluindo o efeito induzido (apenas nos \(n\) setores produtivos).


Conforme anteriormente, podemos utilizar a tabela de dados MultEmp para fazer alguns gráficos com o pacote ggplot2 (e o auxílio do pacote scales):


Multiplicadores Simples de Emprego

ggplot(MultEmp, aes(x = factor(Setores, levels = unique(Setores)), y = ME)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Simples de Emprego") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).\nNota: por 1.000.000 R$.") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(ME, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01), 
                     limits = c(0,35),
                     breaks = seq(from = 0.0, to = 35.0, by = 5))


Multiplicadores de Emprego (Tipo I)

ggplot(MultEmp, aes(x = factor(Setores, levels = unique(Setores)), y = MEI)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores de Emprego (Tipo I)") +
  labs(subtitle = "2015") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MEI, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0,8),
                     breaks = seq(from = 0.0, to = 8, by = 1))


Multiplicadores Totais de Emprego (truncados)

ggplot(MultEmp, aes(x = factor(Setores, levels = unique(Setores)), y = MET)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Totais de Emprego (truncados)") +
  labs(subtitle = "2015") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).\nNota: por 1.000.000 R$.") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MET, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0,45),
                     breaks = seq(from = 0, to = 45, by = 5))


Multiplicadores de Emprego (Tipo II)

ggplot(MultEmp, aes(x = factor(Setores, levels = unique(Setores)), y = MEII)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores de Emprego (Tipo II)") +
  labs(subtitle = "2015") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MEII, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0,20),
                     breaks = seq(from = 0, to = 20, by = 5))


6.3. Renda

Os cálculos dos multiplicadores de renda são similares aos apresentados na seção anterior. Calculam-se primeiro os coeficientes de renda (requisitos de renda) para todos os setores.

Os requisitos de renda (\(c_{j}^{r}\)) são dados por:

\[c_{j}^{r} = \frac{v_{j}^{r}}{x_{j}} \quad \forall \: j = 1, 2,\cdots, n~~~~~~~~(28)\]

em que \(v_{j}^{r}\) corresponde à remuneração do trabalho (renda) no setor \(j\); e \(x_{j}\) é o produto do setor \(j\).

Considerando os coeficientes de renda para os \(n\) setores, temos:

\[\mathbf{r'} = \mathbf{\hat{C}^{r}} \mathbf{x}~~~~~~~~(29)\]

em que \(\mathbf{r'}\) é um vetor com os valores brutos da renda (remunerações do trabalho); \(\mathbf{\hat{C}^{r}}\) é uma matriz com os coeficientes de renda na diagonal e zeros no restante; e \(\mathbf{x}\) é o vetor de valor bruto da produção.

Considerando a equação de equilíbrio do modelo de insumo-produto, \(\mathbf{x} = \mathbf{B} \mathbf{y}\), podemos reescrever a Equação (29) como:

\[\mathbf{r'} = \mathbf{\hat{C}^{r}} \mathbf{By}~~~~~~~~(30)\]

em que \(\mathbf{B}\) é a matriz inversa de Leontief; e \(\mathbf{y}\) é o vetor de demanda final.

A pré-multiplicação da matriz inversa de Leontief (\(\mathbf{B}\)) pela matriz de coeficientes de renda (\(\mathbf{\hat{C}^{r}}\)) é conhecida como matriz geradora de renda:

\[\mathbf{R} = \mathbf{\hat{C}^{r}} \mathbf{B}~~~~~~~~(31)\]

Essa matriz \(\mathbf{R}\) mostra a estrutura setorial de geração de renda na economia por unidade adicional de demanda final. Portanto, a partir dela, podemos calcular o Multiplicador Simples de Renda (ou Gerador de Renda) do setor j (\(m(r)_{j}\)):

\[m(r)_{j} = \sum_{i=1}^{n}r_{ij}~~~~~~~~(32)\]

em que \(r_{ij}\) são os elementos da matriz geradora de renda (\(\mathbf{R}\)).

Portanto, o Multiplicador Simples de Renda (ou Gerador de Renda) apresenta o impacto total (direto e indireto) dada uma unidade adicional de demanda final. Ou seja, mostra o quanto é gerado de renda na economia dada uma variação de demanda de R$1,00 no setor.


Além dos multiplicadores simples, podemos calcular também os Multiplicadores de Renda (Tipo I), os Multiplicadores Totais de Renda (truncado) e os Multiplicadores de Renda (Tipo II).


O Multiplicador de Renda (Tipo I) é dado pela razão entre o Multiplicador Simples de Renda do setor j (\(m(r)_{j}\)) e seu respectivo coeficiente de intensidade - requisito de renda (\(c_{j}^{r}\)):

\[m^{I}(r)_{j} = \frac{m(r)_{j}}{c_{j}^{r}}~~~~~~~~(33)\]

O Multiplicador de Renda (Tipo I) representa, por sua vez, o quanto é gerado, direta e indiretamente, de renda para cada unidade diretamente gerada de renda.


O Multiplicador Total de Renda (truncado) é dado por:

\[m(\bar{r})_{j} = \sum_{i=1}^{n}\bar{r}_{ij}~~~~~~~~(34)\]

em que \(\bar{r}_{ij}\) são os elementos da matriz geradora de empregos (\(\mathbf{\bar{R}}\)) considerando o modelo fechado de insumo-produto. Ou seja, \(\mathbf{\bar{E}} = \mathbf{\hat{C}^{r}} \mathbf{\bar{B}^{*}}\), em que \(\mathbf{\bar{B}^{*}}\) nesse caso considera apenas as relações entre os \(n\) setores produtivos da matriz \(\mathbf{\bar{B}}\) definida na Equação (13).

O Multiplicador Total de Renda (truncado) apresenta, portanto, os impactos direto, indireto e induzido. Ou seja, incorpora o efeito induzido dada uma unidade adicional de demanda final.


O Multiplicador de Renda (Tipo II) é dado pela razão entre o Multiplicador Total de Renda (truncado) do setor j (\(m(\bar{r})_{j}\)) e seu respectivo coeficiente de intensidade - requisito de renda (\(c_{j}^{r}\)):

\[m^{I}(r)_{j} = \frac{m(\bar{r})_{j}}{c_{j}^{r}}~~~~~~~~(35)\]

Portanto, o Multiplicador de Renda (Tipo II) incorpora o efeito induzido. Ou seja, representa o quanto é gerado de renda, incluindo o efeito induzido, para cada unidade diretamente gerada de renda.


Com isso, temos a seguinte decomposição do Multiplicador Total de Renda:

Efeito Mensuração
Efeito Total no modelo fechado (Efeito Direto + Indireto + Induzido) \(\sum_{i=1}^{n}\bar{r}_{ij}\)
Efeito Total no modelo aberto (Efeito Direto + Indireto) \(\sum_{i=1}^{n}r_{ij}\)
Efeito Induzido \(\sum_{i=1}^{n}\bar{r}_{ij} - \sum_{i=1}^{n}r_{ij}\)
Efeito Direto \(c^{r}_{j}\)
Efeito Indireto \(\sum_{i=1}^{n}r_{ij} - c^{r}_{j}\)
Fonte: adaptação de Miller e Blair (2009).


E a seguinte síntese do Multiplicador de Renda:

Síntese
Mudança Exógena \(\Delta y_{j} = 1\)
Efeito Inicial (N) - setor j \(\Delta x_{j} = 1\) e \(\Delta c^{r}_{j}\)
Efeito Total (T) no modelo aberto (Efeito Direto + Indireto) \(\sum_{i=1}^{n}r_{ij}\)
Multiplicador Simples (T/N) no modelo aberto \(m(r)_{j} = \frac{\sum_{i=1}^{n}r_{ij}}{\Delta y_{j}}\)
Multiplicador (Tipo I) no modelo aberto \(m^{I}(r)_{j} = \frac{m(r)_{j}}{c_{j}^{r}}\)
Efeito Total (\(\bar{T}\)) no modelo fechado (Efeito Direto + Indireto + Induzido) \(\sum_{i=1}^{n}\bar{r}_{ij}\)
Multiplicador Total (T/N) no modelo fechado \(m(\bar{r})_{j} = \frac{\sum_{i=1}^{n}\bar{r}_{ij}}{\Delta y_{j}}\)
Multiplicador (Tipo II) no modelo fechado \(m^{II}(r)_{j} = \frac{m(\bar{r})_{j}}{c_{j}^{r}}\)
Fonte: adaptação de Miller e Blair (2009).

Multiplicadores de Renda


Os coeficientes de renda (\(c_{j}^{r}\)) podem ser calculados com:

cr = r / x
cr = as.vector(cr)

A matriz com os coeficientes de renda na diagonal e zeros no restante (\(\mathbf{\hat{C}^{r}}\)) pode ser construída com a função diag():

Crhat = diag(cr)  


Com isso, a matriz geradora de renda (\(\mathbf{R}\)) pode ser calculada considerando a matriz de coeficientes de renda (\(\mathbf{\hat{C}^{r}}\)) e a matriz inversa de Leontief (\(\mathbf{B}\)):

R = Crhat %*% B


Os Multiplicadores Simples de Renda podem ser calculados com a função colSums():

MR = colSums(R)

Para ver os multiplicadores, utilize a função View():

View(MR)


Os Multiplicadores de Renda (Tipo I) podem ser calculados com:

MRI = MR / cr

Para ver tais multiplicadores, utilize a função View():

View(MRI)


Para calcular os multiplicadores totais de renda, temos, primeiro, que calcular a matriz geradora de renda considerando o modelo fechado de insumo-produto (\(\mathbf{\bar{R}}\)):

RF = Crhat %*% BF[1:n, 1:n]

Observe que, para o cálculo, consideram-se apenas as \(n\) colunas e \(n\) linhas da matriz (\(\mathbf{\bar{B}}\) ou BF). Ou seja, apenas os \(n\) setores produtivos.


Com a matriz \(\mathbf{\bar{R}}\) (ou RF), podemos calcular os Multiplicadores Totais de Renda (truncados) com:

MRT = colSums(RF)

Para ver tais multiplicadores, utilize a função View():

View(MRT)


Os Multiplicadores de Renda (Tipo II) podem ser calculados com:

MRII = MRT / cr

Para ver tais multiplicadores, utilize a função View():

View(MRII)


Para juntar os multiplicadores de emprego em uma única tabela de dados (data frame), utilize a função cbind(). Além disso, transforme o objeto em data frame com a função as.data.frame() e determine o nome das colunas com a função colnames():

MultRen = cbind(Setores, MR, MRI, MRT, MRII)
MultRen = as.data.frame(MultRen)
colnames(MultRen) = c("Setores", "MR", "MRI", "MRT", "MRII")


Caso os dados estejam armazenados como fatores, transforme-os primeiro em “character” (texto) com a função as.character() e depois em “numeric” (numérico) com a função as.numeric():

MultRen$MR = as.numeric(as.character(MultRen$MR))
MultRen$MRI = as.numeric(as.character(MultRen$MRI))
MultRen$MRT = as.numeric(as.character(MultRen$MRT))
MultRen$MRII = as.numeric(as.character(MultRen$MRII))


Para ver a tabela de dados, utilize a função View() ou simplesmente digite “MultRen” no Console do RStudio:

MultRen
##      Setores         MR      MRI        MRT     MRII
## 1       Agro 0.23909638 2.297985 0.41604616 3.998671
## 2   Ind.Extr 0.29996428 2.383660 0.52196102 4.147752
## 3   Ind.Tran 0.36678896 2.586250 0.63824110 4.500275
## 4       SIUP 0.26915304 2.643962 0.46834707 4.600697
## 5       Cons 0.36257345 1.810757 0.63090580 3.150856
## 6        Com 0.43314165 1.383320 0.75369992 2.407084
## 7     Transp 0.44378838 1.706910 0.77222605 2.970155
## 8       Info 0.39838932 1.715025 0.69322818 2.984276
## 9      Finan 0.37988304 1.523879 0.66102582 2.651667
## 10      Imob 0.03833075 3.117216 0.06669846 5.424196
## 11 Otrs.Serv 0.48527792 1.344106 0.84442106 2.338848
## 12       Adm 0.75579774 1.144139 1.31514643 1.990890


Conforme anteriormente, podemos gerar uma tabela com a função kable() do pacote knitr e adicionar extras de formatação com a função kable_styling() do pacote kableExtra e o auxílio do operador pipe %>% do pacote dplyr:

kable(MultRen, caption = "Multiplicadores de Renda", align = "lcccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Multiplicadores de Renda
Setores MR MRI MRT MRII
Agro 0.2390964 2.297985 0.4160462 3.998670
Ind.Extr 0.2999643 2.383660 0.5219610 4.147752
Ind.Tran 0.3667890 2.586250 0.6382411 4.500275
SIUP 0.2691530 2.643962 0.4683471 4.600697
Cons 0.3625734 1.810757 0.6309058 3.150856
Com 0.4331417 1.383320 0.7536999 2.407084
Transp 0.4437884 1.706910 0.7722261 2.970155
Info 0.3983893 1.715025 0.6932282 2.984276
Finan 0.3798830 1.523879 0.6610258 2.651667
Imob 0.0383307 3.117215 0.0666985 5.424196
Otrs.Serv 0.4852779 1.344106 0.8444211 2.338848
Adm 0.7557977 1.144139 1.3151464 1.990890
Fonte: elaboração própria com dados da MIP do IBGE (2015).


Interpretação

Os Multiplicadores de Renda do Setor 1 (Agro), por exemplo, podem ser interpretados como:

  • Multiplicador Simples de Renda (MR): uma variação de demanda de R$1,00 no Setor 1 (Agro) gera R$0.2391 de renda na economia.
  • Multiplicador de Renda (Tipo I) (MRI): para cada unidade de renda gerada diretamente no Setor 1 (Agro), tem-se um efeito multiplicador de R$2.298 na economia.
  • Multiplicador Total de Renda Truncado (MRT): uma variação de demanda de R$1,00 no Setor 1 (Agro) gera R$0.416 de renda na economia, incluindo o efeito induzido (apenas nos \(n\) setores produtivos).
  • Multiplicador de Renda (Tipo II) (MRII): para cada unidade de renda gerada diretamente no Setor 1 (Agro), tem-se um efeito multiplicador de R$3.9987 na economia, incluindo o efeito induzido (apenas nos \(n\) setores produtivos).


Com a tabela MultRen (tabela com os multiplicadores), podemos elaborar alguns gráficos com o pacote ggplot2 (e o auxílio do pacote scales):


Multiplicadores Simples de Renda

ggplot(MultRen, aes(x = factor(Setores, levels = unique(Setores)), y = MR)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Simples de Renda") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MR, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01), 
                     limits = c(0,1),
                     breaks = seq(from = 0, to = 1, by = 0.25))


Multiplicadores de Renda (Tipo I)

ggplot(MultRen, aes(x = factor(Setores, levels = unique(Setores)), y = MRI)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores de Renda (Tipo I)") +
  labs(subtitle = "2015") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MRI, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0,3.5),
                     breaks = seq(from = 0, to = 3.5, by = 0.5))


Multiplicadores Totais de Renda (truncados)

ggplot(MultRen, aes(x = factor(Setores, levels = unique(Setores)), y = MRT)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores Totais de Renda (truncados)") +
  labs(subtitle = "2015") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MRT, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0,1.5),
                     breaks = seq(from = 0, to = 1.5, by = 0.25))


Multiplicadores de Renda (Tipo II)

ggplot(MultRen, aes(x = factor(Setores, levels = unique(Setores)), y = MRII)) +
  geom_col() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Multiplicadores de Renda (Tipo II)") +
  labs(subtitle = "2015") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text(aes(label = round(MRII, digits = 2)), vjust = -0.5, size = 3) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(0,6),
                     breaks = seq(from = 0, to = 6, by = 0.5))


6.3. Outros

Similarmente, podemos calcular outros multiplicadores com a metodologia de insumo-produto:

  • Valor-adicionado
  • Impostos indiretos
  • Energia
  • Emissões
  • Água

Observação: o cálculo dos multiplicadores depende da disponibilidade de dados. No caso de multiplicadores de emissões de \(\mathsf{CO_{2}}\), por exemplo, é necessário ter dados setoriais de volume de emissões.


7. Índices de Ligação

7.1. Índices de Ligação HR

Com base em Rasmussen (1952) e Hirschman (1958) e no modelo básico de insumo-produto (modelo de Leontief), podemos avaliar quais setores possuem maior poder de encadeamento dentro do sistema econômico. Ou seja, quais setores têm impacto acima da média sobre outros setores da economia. Para tal, podemos calcular dois índices:

  • Índice de ligação para trás
  • Índice de ligação para frente


A base de cálculo dos índices é feita com informações da matriz inversa de Leontief (\(\mathbf{B}\)). Levam-se em consideração as seguintes informações:

Elementos Descrição
\(b_{ij}\) Elementos da matriz inversa de Leontief
\(b_{.j} = \sum_{i=1}^{n}b_{ij}\) Soma dos elementos de \(\mathbf{B}\) nas colunas
\(b_{i.} = \sum_{j=1}^{n}b_{ij}\) Soma dos elementos de \(\mathbf{B}\) nas linhas
\(b_{..} = \sum_{i=1}^{n}\sum_{j=1}^{n}b_{ij}\) Soma de todos os elementos de \(\mathbf{B}\)
\(n\) Número de setores
\(\frac{b_{.j}}{n}\) Valor médio dos elementos na coluna \(j\)
\(\frac{b_{i.}}{n}\) Valor médio dos elementos na linha \(i\)
\(B^{*} = \frac{b{..}}{n^{2}}\) Média dos elementos de \(\mathbf{B}\)


Com essas informações, podemos calcular os índices de ligação da seguinte forma:


Índice de ligação para trás:

Os encadeamentos para trás (poder de dispersão) – \(U_{j}\) – determinam o quanto um setor demanda dos demais setores da economia:

\[U_{j} = \frac{b_{.j}/n}{B^{*}}~~~~~~~~(36)\]

\(U_{j} > 1\) indica que uma mudança unitária na demanda final do setor \(j\) cria um aumento acima da média na economia. Ou seja, o setor \(j\) gera uma resposta dos outros setores acima da média.


Índice de ligação para frente:

Os encadeamentos para frente (sensibilidade da dispersão) – \(U_{i}\) – determinam o quanto esse setor é demandado pelos demais setores da economia:

\[U_{i} = \frac{b_{i.}/n}{B^{*}}~~~~~~~~(37)\]

\(U_{i} > 1\) indica que uma mudança unitária na demanda final de todos os setores cria um aumento acima da média no setor \(i\). Ou seja, o setor \(i\) tem uma dependência acima da média da produção dos outros setores.


Se

\[U_{j} = \frac{b_{.j}/n}{B^{*}} > 1\] e

\[U_{i} = \frac{b_{i.}/n}{B^{*}} > 1\]

então, o setor é considerado um SETOR-CHAVE na economia.


Os setores-chave são setores que contribuem acima da média para o crescimento da economia por possuírem fortes efeitos de encadeamento em termos do fluxo de bens e serviços.


Observação: para calcular o encadeamento para frente, utiliza-se também na literatura o modelo de insumo-produto pelo lado da oferta, ou seja, a matriz inversa de Ghosh (\(\mathbf{G}\)).


Índice de ligação para frente (com Ghosh):

Similarmente, os encadeamentos para frente (sensibilidade da dispersão) – \(U^{G}_{i}\) – determinam o quanto esse setor é demandado pelos demais setores da economia:

\[U^{G}_{i} = \frac{g_{i.}/n}{G^{*}}~~~~~~~~(38)\]

em que \(g_{i.}\) representa a soma dos elementos de \(\mathbf{G}\) nas linhas; e \(G^{*}\) é a média dos elementos de \(\mathbf{G}\).

\(U^{G}_{i} > 1\) indica que uma mudança unitária na demanda final de todos os setores cria um aumento acima da média no setor \(i\). Ou seja, o setor \(i\) tem uma dependência acima da média da produção dos outros setores.


Coeficientes de Variação:

O efeito multiplicador acima da média não implica alto número de ligações. Para tal, utilizam-se na literatura os coeficientes de variação para mostrar como as ligações se espalham pelos setores:

Os valores de \(V_{.j}\) associam-se ao índice de poder de dispersão (\(U_{j}\)):

\[V_{.j} = \frac{\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}[b_{ij}-(b_{.j}/n)]^2}}{b_{.j}/n}\]

Quanto menor for essa medida, maior será o número de setores atingidos pela variação na demanda final do setor \(j\). Assim, se o setor apresentar \(U_{j}\) > 1 e um \(V_{.j}\) baixo, isso significa que a atividade tem grande poder de dispersão e atinge muitos setores na economia.

Os valores de \(V_{i.}\) associam-se ao índice de sensibilidade de dispersão (\(U_{i}\)):

\[V_{i.} = \frac{\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}[b_{ij}-(b_{i.}/n)]^2}}{b_{i.}/n}\]

Quanto menor for essa medida, maior será o número de setores atendidos pelas vendas do setor \(i\). Assim, se o setor apresentar \(U_{i}\) > 1 e um \(V_{i.}\) baixo, isso significa que apresenta grande sensibilidade à dispersão e atinge um grande número de atividades produtivas.


Observação: se ambas as medidas forem baixas, a interdependência da atividade com os demais setores é bem distribuída.


Índices de Ligação HR e Coeficientes de Variação


As somas dos elementos de \(\mathbf{B}\) nas colunas (\(b_{.j} = \sum_{i=1}^{n}b_{ij}\)) e nas linhas (\(b_{i.} = \sum_{j=1}^{n}b_{ij}\)) podem ser encontradas com as funções colSums() e rowSums():

SC = colSums(B)
SL = rowSums(B)

Os valores médios dos elementos na coluna \(j\) (\(\frac{b_{.j}}{n}\)) e na linha \(i\) (\(\frac{b_{i.}}{n}\)) podem ser encontrados com:

MC = SC / n
ML = SL / n

A média dos elementos de \(\mathbf{B}\) (\(B^{*} = \frac{b{..}}{n^{2}}\)) é calculada com auxílio da função sum() e do número de setores (\(n\)):

Bstar = sum(B) / n ** 2


Com isso, os Índices de Ligação para trás (BL) – \(U_{j} = \frac{b_{.j}/n}{B^{*}}\) – e os Índices de Ligação para frente (FL) – \(U_{i} = \frac{b_{i.}/n}{B^{*}}\) – são encontrados com:

BL = MC / Bstar
FL = ML / Bstar

Observação: para calcular os índices BL e FL em um único passo, utilize os comandos abaixo:

BL = colMeans(B) / mean(B)
FL = rowMeans(B) / mean(B)


Similarmente, podemos encontrar os Índices de Ligação para frente com a matriz de Ghosh (denominado aqui FLG):

SLG = rowSums(G)
MLG = SLG / n
Gstar = sum(G) / n ** 2
FLG = MLG / Gstar


Para juntar os índices em uma única tabela de dados (data frame), podemos utilizar novamente a função cbind(). Além disso, podemos usar a função as.data.frame() para transformar o objeto em data frame e a função colnames() para determinar o nome das colunas:

IndLig = cbind(Setores, BL, FL, FLG)
IndLig = as.data.frame(IndLig)
colnames(IndLig) = c("Setores", "BL", "FL", "FLG")


Caso os dados estejam armazenados como fatores, transforme-os primeiro em “character” (texto) com a função as.character() e depois em “numeric” (numérico) com a função as.numeric():

IndLig$BL = as.numeric(as.character(IndLig$BL))
IndLig$FL = as.numeric(as.character(IndLig$FL))
IndLig$FLG = as.numeric(as.character(IndLig$FLG))


Para ver a tabela de dados, utilize a função View() ou simplesmente digite “IndLig” no Console do RStudio:

IndLig
##      Setores        BL        FL       FLG
## 1       Agro 1.0350224 0.8114232 1.1182272
## 2   Ind.Extr 1.0666956 0.7549857 1.1513243
## 3   Ind.Tran 1.2930103 2.0424267 1.0632905
## 4       SIUP 1.1726673 1.0097477 1.3142529
## 5       Cons 1.0905463 0.7324915 0.6885850
## 6        Com 0.9228499 1.0576728 0.9593154
## 7     Transp 1.1080226 1.0350979 1.2908795
## 8       Info 0.9877713 0.8527934 1.0677632
## 9      Finan 0.8985112 0.9747558 1.0494230
## 10      Imob 0.6684403 0.7034085 0.7226219
## 11 Otrs.Serv 0.9234591 1.3812388 0.9851576
## 12       Adm 0.8330037 0.6439580 0.5891596


Para identificar os setores-chave, podemos verificar quais setores apresentam BL e FLG maiores do que a unidade (1) simultaneamente. Para tal, podemos criar uma nova coluna na tabela de dados com a função mutate() do pacote dplyr e o teste lógico abaixo:

IndLig = mutate(IndLig, Setores.Chave = ifelse(BL > 1 &
                                                 FLG > 1, "Setor-Chave", "-"))

Confira novamente a tabela de dados:

IndLig
##      Setores        BL        FL       FLG Setores.Chave
## 1       Agro 1.0350224 0.8114232 1.1182272   Setor-Chave
## 2   Ind.Extr 1.0666956 0.7549857 1.1513243   Setor-Chave
## 3   Ind.Tran 1.2930103 2.0424267 1.0632905   Setor-Chave
## 4       SIUP 1.1726673 1.0097477 1.3142529   Setor-Chave
## 5       Cons 1.0905463 0.7324915 0.6885850             -
## 6        Com 0.9228499 1.0576728 0.9593154             -
## 7     Transp 1.1080226 1.0350979 1.2908795   Setor-Chave
## 8       Info 0.9877713 0.8527934 1.0677632             -
## 9      Finan 0.8985112 0.9747558 1.0494230             -
## 10      Imob 0.6684403 0.7034085 0.7226219             -
## 11 Otrs.Serv 0.9234591 1.3812388 0.9851576             -
## 12       Adm 0.8330037 0.6439580 0.5891596             -

Observe que uma nova coluna indicará os setores-chave com base nos índices BL e FLG.


Conforme anteriormente, uma tabela mais organizada pode ser gerada com a função kable() do pacote knitr e a função kable_styling() do pacote kableExtra:

kable(IndLig, caption = "Índices de Ligação e Setores-Chave", align = "lcccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           alphabet = "Setores-Chave definidos com base nos índices BL e FLG.",
           alphabet_title = "Nota:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Índices de Ligação e Setores-Chave
Setores BL FL FLG Setores.Chave
Agro 1.0350224 0.8114232 1.1182272 Setor-Chave
Ind.Extr 1.0666956 0.7549857 1.1513243 Setor-Chave
Ind.Tran 1.2930103 2.0424267 1.0632905 Setor-Chave
SIUP 1.1726673 1.0097477 1.3142529 Setor-Chave
Cons 1.0905463 0.7324915 0.6885850
Com 0.9228499 1.0576728 0.9593154
Transp 1.1080226 1.0350979 1.2908795 Setor-Chave
Info 0.9877713 0.8527934 1.0677632
Finan 0.8985112 0.9747558 1.0494230
Imob 0.6684403 0.7034085 0.7226219
Otrs.Serv 0.9234591 1.3812388 0.9851576
Adm 0.8330037 0.6439580 0.5891596
Fonte: elaboração própria com dados da MIP do IBGE (2015).
Nota: a Setores-Chave definidos com base nos índices BL e FLG.


Podemos utilizar a tabela de dados IndLig para fazer um gráfico com o pacote ggplot2. Além do ggplot2, vamos utilizar o pacote scales para formatar os eixos e o pacote ggrepel para evitar sobreposição dos rótulos (nome dos setores).


Faça a leitura dos três pacotes:

library(ggplot2)
library(scales)
library(ggrepel)

Observação: caso não tenha instalado os pacotes acima, utilize a função install.packages():

install.packages("ggplot2")
install.packages("scales")
install.packages("ggrepel")


O gráfico com os índices de ligação e setores-chave pode ser feito considerando 4 quadrantes:

  • Setor-Chave: \(U_{j} = \frac{b_{.j}/n}{B^{*}} > 1\) e \(U_{i}^{G} = \frac{g_{i.}/n}{G^{*}} > 1\)
  • Forte Encadeamento para trás: \(U_{j} = \frac{b_{.j}/n}{B^{*}} > 1\) e \(U_{i}^{G} = \frac{g_{i.}/n}{G^{*}} < 1\)
  • Fraco Encadeamento: \(U_{j} = \frac{b_{.j}/n}{B^{*}} < 1\) e \(U_{i}^{G} = \frac{g_{i.}/n}{G^{*}} < 1\)
  • Forte Encadeamento para frente: \(U_{j} = \frac{b_{.j}/n}{B^{*}} < 1\) e \(U_{i}^{G} = \frac{g_{i.}/n}{G^{*}} > 1\)


ggplot(IndLig, aes(x = FLG, y = BL)) +
  geom_point() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab(expression("Índice de ligação para frente"~"("*U[i]*")")) +
  ylab(expression("Índice de ligação para trás"~"("*U[j]*")")) +
  ggtitle("Índices de Ligação e Setores-Chave") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).\nNota: Índices de ligação para frente calculados com a matriz inversa de Ghosh.") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  geom_text_repel(aes(label = Setores), vjust = 0.8, size = 2.5)+
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01), 
                    limits = c(0.5,1.5),
                    breaks = seq(from = 0.5, to = 2, by = 0.25)) +
  scale_x_continuous(labels = scales::number_format(accuracy = 0.01), 
                    limits = c(0.5,1.5),
                    breaks = seq(from = 0.5, to = 1.5, by = 0.25)) +
  geom_hline(yintercept=1, linetype="dashed", color = "black") +
  geom_vline(xintercept=1, linetype="dashed", color = "black") +
  annotate("text", x=1.42, y=1.5, 
           label= "Setor-Chave", colour='black', size=3) +
  annotate('text', x=0.65, y=1.5, 
           label='Forte encadeamento para trás', colour='black', size=3) +
  annotate('text', x=0.60, y=0.5, 
           label='Fraco encadeamento', colour='black', size=3) +
  annotate('text', x=1.35, y=0.5, 
           label='Forte encadeamento para frente', colour='black', size=3)



Por fim, os coeficientes de variação são calculados com:

Vj = (((1 / (n - 1)) * (rowSums((B - MC) ** 2))) ** 0.5) / MC
Vi = (((1 / (n - 1)) * (colSums((B - ML) ** 2))) ** 0.5) / ML


Para juntar os coeficientes em uma única tabela de dados (data frame), podemos utilizar o mesmo procedimento adotado acima:

CoefVar = cbind(Setores, Vj, Vi)
CoefVar = as.data.frame(CoefVar)
colnames(CoefVar) = c("Setores", "Vj", "Vi")


Caso os dados estejam armazenados como fatores, podemos fazer a seguinte transformação:

CoefVar$Vj = as.numeric(as.character(CoefVar$Vj))
CoefVar$Vi = as.numeric(as.character(CoefVar$Vi))


Para ver a tabela de dados, utilize a função View() ou simplesmente digite “CoefVar” no Console do RStudio:

CoefVar
##      Setores       Vj       Vi
## 1       Agro 2.129466 2.708702
## 2   Ind.Extr 2.082497 2.889003
## 3   Ind.Tran 2.278957 1.298590
## 4       SIUP 2.432773 2.771267
## 5       Cons 2.122717 3.124222
## 6        Com 2.251192 1.973377
## 7     Transp 2.092317 2.213068
## 8       Info 2.384806 2.784718
## 9      Finan 2.573143 2.431224
## 10      Imob 3.087693 3.159154
## 11 Otrs.Serv 2.395742 1.566024
## 12       Adm 2.512822 3.353842


Conforme anteriormente, uma tabela mais organizada pode ser gerada com:

kable(CoefVar, caption = "Coeficientes de Variação", align = "lcc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Coeficientes de Variação
Setores Vj Vi
Agro 2.129466 2.708702
Ind.Extr 2.082498 2.889003
Ind.Tran 2.278957 1.298590
SIUP 2.432773 2.771267
Cons 2.122717 3.124222
Com 2.251192 1.973377
Transp 2.092317 2.213068
Info 2.384806 2.784718
Finan 2.573143 2.431224
Imob 3.087693 3.159154
Otrs.Serv 2.395742 1.566024
Adm 2.512822 3.353842
Fonte: elaboração própria com dados da MIP do IBGE (2015).


7.2. Índices Puros de Ligação

Conforme observado por Guilhoto (2009), os índices de ligação de Hirschman-Rasmussen (HR) não levam em consideração os níveis de produção de cada setor analisado. Portanto, Guilhoto et al. (1994, 1996) propõem uma abordagem que leva em consideração a importância do setor para o restante da economia em termos da produção de cada setor e da interação desse com outros setores, minimizando as limitações dos índices de ligação para frente e para trás.

A abordagem consiste nos Índices Puros de Ligação – também denominado GHS.

Baseado em Guilhoto et al. (1996), define-se inicialmente a matriz \(\mathbf{A}\) (matriz de coeficientes técnicos) para um sistema de insumo-produto da seguinte maneira:

\[\mathbf{A} = \left[\begin{array} {cc} \mathbf{A}_{jj} & \mathbf{A}_{jr} \\ \mathbf{A}_{rj} & \mathbf{A}_{rr} \\ \end{array} \right]~~~~~~~~(39)\]

em que \(\mathbf{A}_{jj}\) e \(\mathbf{A}_{rr}\) são matrizes que representam os coeficientes diretos de insumos do setor \(j\) e do restante da economia \(r\) (economia menos o setor \(j\)), respectivamente; \(\mathbf{A}_{rj}\) e \(\mathbf{A}_{jr}\) representam matrizes com os insumos diretos comprados pelo restante da economia do setor \(j\) e os insumos diretos comprados pelo setor \(j\) do restante da economia, respectivamente.

A partir da matriz \(\mathbf{A}\), é possível representar a matriz inversa de Leontief (\(\mathbf{B}\)) como:

\[\mathbf{B} = (\mathbf{I} - \mathbf{A})^{-1} = \left[\begin{array} {cc} \mathbf{B}_{jj} & \mathbf{B}_{jr} \\ \mathbf{B}_{rj} & \mathbf{B}_{rr} \\ \end{array} \right] = \left[\begin{array} {cc} \Delta_{jj} & \mathbf{0} \\ \mathbf{0} & \Delta_{rr} \\ \end{array} \right] \left[\begin{array} {cc} \Delta_{j} & \mathbf{0} \\ \mathbf{0} & \Delta_{r} \\ \end{array} \right] \left[\begin{array} {cc} \mathbf{I} & \mathbf{A}_{jr}\Delta_{r}\\ \mathbf{A}_{rj}\Delta_{j} & \mathbf{I} \\ \end{array} \right] ~~~~~~~~(40)\]

em que os elementos são dados por:

\[\Delta_{j} = (\mathbf{I}-\mathbf{A}_{jj})^{-1}\] \[\Delta_{r} = (\mathbf{I}-\mathbf{A}_{rr})^{-1}\] \[\Delta_{jj} = (\mathbf{I}-\Delta_{j}\mathbf{A}_{jr}\Delta_{r}\mathbf{A}_{rj})^{-1}\] \[\Delta_{rr} = (\mathbf{I}-\Delta_{r}\mathbf{A}_{rj}\Delta_{j}\mathbf{A}_{jr})^{-1}\]

A partir da matriz calculada na Equação (40), pode-se representar o caso geral de um modelo de insumo-produto, \(\mathbf{x} = (\mathbf{I} - \mathbf{A})^{-1}\mathbf{y}\), e derivar um conjunto de índices que podem ser usados para ordenar os setores tanto em termos de sua importância no valor da produção gerado quanto para verificar como ocorre o processo de produção na economia.

A partir da equação geral, pode-se obter:

\[\left[\begin{array} {c} \mathbf{x}_{j} \\ \mathbf{x}_{r} \\ \end{array} \right] = \left[\begin{array} {cc} \Delta_{jj} & \mathbf{0} \\ \mathbf{0} & \Delta_{rr} \\ \end{array} \right] \left[\begin{array} {cc} \Delta_{j} & \mathbf{0} \\ \mathbf{0} & \Delta_{r} \\ \end{array} \right] \left[\begin{array} {cc} \mathbf{I} & \mathbf{A}_{jr}\Delta_{r}\\ \mathbf{A}_{rj} & \mathbf{I} \\ \end{array} \right] \left[\begin{array} {c} \mathbf{y}_{j} \\ \mathbf{y}_{r} \\ \end{array} \right]~~~~~~~~(41)\]

Realizando a multiplicação do lado direito da equação, obtém-se:

\[\left[\begin{array} {c} \mathbf{x}_{j} \\ \mathbf{x}_{r} \\ \end{array} \right] = \left[\begin{array} {cc} \Delta_{jj} & \mathbf{0} \\ \mathbf{0} & \Delta_{rr} \\ \end{array} \right] \left[\begin{array} {c} \Delta_{j}\mathbf{y}_{j} + \Delta_{j}\mathbf{A}_{jr}\Delta_{r}\mathbf{y}_{r} \\ \Delta_{r}\mathbf{A}_{rj}\Delta_{j}\mathbf{y}_{j} + \Delta_{r}\mathbf{y}_{r} \\ \end{array} \right]~~~~~~~~(42)\]

A partir da Equação (42), podemos extrair o Índice Puro de Ligação para trás (PBL) e o Índice Puro de Ligação para frente (PFL):

\[PBL = \Delta_{r}\mathbf{A}_{rj}\Delta_{j}\mathbf{y}_{j}~~~~~~~~(43)\] \[PFL = \Delta_{j}\mathbf{A}_{jr}\Delta_{r}\mathbf{y}_{r}~~~~~~~~(44)\]

Assim, temos as seguintes interpretações:

  • O Índice Puro de Ligação para trás (PBL) representa o impacto do valor da produção total do setor \(j\) sobre o restante da economia \(r\), livre da demanda de insumos próprios e dos retornos do restante da economia para o setor.
  • O Índice Puro de Ligação para frente (PFL) indica o impacto do valor da produção total do restante da economia sobre o setor \(j\).

O Índice Puro Total das Ligações (PTL), por sua vez, é a soma dos dois índices acima, expressos em valores correntes:

\[PTL = PBL + PFL~~~~~~~~(45)\]

Como demonstrado por Guilhoto e Sesso Filho (2005), podem-se calcular também os Índices Puros de Ligação Normalizados, dividindo-se os índices puros pelo seu valor médio.

O Índice Puro de Ligação Normalizado para trás (PBLN) é dado por:

\[PBLN = \frac{PBL}{PBLm}~~~~~~~~(46)\]

em que PBLm representa a média dos índices puros de ligação de todos os setores, dada por:

\[PBLm = \frac{\sum_{i=1}^{n}PBL_{i}}{n}~~~~~~~~(47)\]

Procedimento análogo pode ser realizado para calcular o Índice Puro de Ligação Normalizado para frente (PFLN) e o Índice Puro Total de Ligação Normalizado (PTLN).


Índices Puros de Ligação


Para calcular os Índices Puros de Ligação, podemos usar o loop abaixo. Inicialmente, criamos uma matriz com 3 colunas e \(n\) linhas para receber os resultados:

IPL = matrix(NA, ncol = 3, nrow = n)


Os cálculos são feitos com o seguinte loop:

for (s in 1:n) {
  
  for (i in 1:n) {
    for (j in 1:n) {
      
      if (s==i) {
        if (i==j) {
          
          yj  = y[i]
          yr  = y[-i]
          
          Ajj = A[i,j]
          DJ  = solve(1-Ajj)
          
          Ajr = A[i,-j]
          Arj = A[-i,j]
          Arr = A[-i,-j]
          
          DR  = solve(diag(n-1)-Arr)
          
          PBL = sum (DR %*% Arj %*% DJ %*% yj)
          PFL = DJ %*% Ajr %*% DR %*% yr
          PTL = PBL + PFL
          
          IPuros = c(PBL,PFL,PTL)
          
        }}}}
  
  IPL[s,] = IPuros
}     


Observe que os resultados são salvos na matriz criada no passo anterior (IPL). Para ver os resultados, utilize a função View() ou digite “IPL” no Console do RStudio:

IPL
##            [,1]      [,2]      [,3]
##  [1,] 142978.18 230171.19  373149.4
##  [2,]  80487.71 135612.33  216100.0
##  [3,] 892910.29 629213.03 1522123.3
##  [4,]  57269.73 178268.15  235537.9
##  [5,] 372945.03  47487.50  420432.5
##  [6,] 317986.98 389061.76  707048.7
##  [7,] 105464.54 314577.77  420042.3
##  [8,]  82142.77 153966.38  236109.2
##  [9,]  94124.43 253995.10  348119.5
## [10,]  48447.27  88072.88  136520.2
## [11,] 327337.36 520532.48  847869.8
## [12,] 443933.94  27561.34  471495.3


Para encontrar os Índices Puros de Ligação Normalizados, podemos realizar as seguintes operações:

IPLm = (colSums(IPL) / n)
IPLm = as.vector(IPLm)
IPLN = IPL %*% (diag(1 / IPLm))


Similarmente aos passos realizados anteriormente, podemos transformar a matriz IPLN em uma tabela de dados e inserir os nomes dos setores:

IPLN = as.data.frame(IPLN)
IPLN = cbind(Setores, IPLN)
colnames(IPLN) = c("Setores", "PBLN", "PFLN", "PTL")


Para ver a tabela de dados, utilize a função View() ou simplesmente digite “IPLN” no Console do RStudio:

IPLN
##      Setores      PBLN      PFLN       PTL
## 1       Agro 0.5784632 0.9304483 0.7545296
## 2   Ind.Extr 0.3256383 0.5482018 0.4369668
## 3   Ind.Tran 3.6125494 2.5435424 3.0778215
## 4       SIUP 0.2317027 0.7206345 0.4762712
## 5       Cons 1.5088664 0.1919643 0.8501389
## 6        Com 1.2865163 1.5727505 1.4296935
## 7     Transp 0.4266900 1.2716550 0.8493499
## 8       Info 0.3323344 0.6223966 0.4774264
## 9      Finan 0.3808100 1.0267545 0.7039179
## 10      Imob 0.1960087 0.3560275 0.2760517
## 11 Otrs.Serv 1.3243462 2.1042102 1.7144419
## 12       Adm 1.7960744 0.1114145 0.9533907


Para gerar uma tabela mais organizada, podemos usar novamente a função kable() do pacote knitr e a função kable_styling() do pacote kableExtra:

kable(IPLN, caption = "Índices Puros de Ligação Normalizados", align = "lccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Índices Puros de Ligação Normalizados
Setores PBLN PFLN PTL
Agro 0.5784632 0.9304483 0.7545296
Ind.Extr 0.3256383 0.5482018 0.4369668
Ind.Tran 3.6125494 2.5435424 3.0778215
SIUP 0.2317027 0.7206345 0.4762712
Cons 1.5088664 0.1919643 0.8501389
Com 1.2865163 1.5727505 1.4296935
Transp 0.4266900 1.2716550 0.8493499
Info 0.3323344 0.6223966 0.4774264
Finan 0.3808100 1.0267545 0.7039179
Imob 0.1960087 0.3560275 0.2760517
Otrs.Serv 1.3243462 2.1042102 1.7144419
Adm 1.7960744 0.1114145 0.9533907
Fonte: elaboração própria com dados da MIP do IBGE (2015).


8. Campo de Influência

Apesar de os índices de ligação Hirschman-Rasmussen avaliarem a importância dos setores em termos de seus impactos no sistema como um todo, há uma dificuldade de visualização desses principais elos de ligação (GUILHOTO, 2011).

Portanto, para visualizar os principais elos de ligação dentro da economia, Sonis e Hewings (1989, 1994) desenvolveram a metodologia denominada campo de influência.

O conceito de campo de influência mostra como se distribuem as mudanças dos coeficientes diretos no sistema econômico como um todo, permitindo a determinação de quais relações entre os setores seriam mais importantes dentro do processo produtivo. Ou seja, a determinação dos setores que apresentam um maior poder de influência sobre os demais, ou melhor, quais coeficientes que, alterados, teriam um maior impacto no sistema como um todo.

Para o cálculo do campo de influência, parte-se da matriz de coeficientes técnicos de produção, \(\mathbf{A} = \{a_{ij}\}\), e de uma matriz de variações incrementais nesses coeficientes técnicos dada por \(\mathbf{E}=\{\varepsilon_{ij}\}\) com mesma dimensão de \(\mathbf{A}\) (\(n \times n\)).

A partir disso, calcula-se a matriz inversa de Leontief (\(\mathbf{A}\)) de duas formas:

  • Sem assumir incrementos:

\[\mathbf{B}=(\mathbf{I}-\mathbf{A})^{-1}=\{b_{ij}\}~~~~~~~~(48)\]

  • Com incrementos nos coeficientes técnicos \(a_{ij}\):

\[\mathbf{B(E)}=(\mathbf{I}-[\mathbf{A+E}])^{-1}=\{b_{ij}(E)\}~~~~~~~~(49)\]

De acordo com Sonis e Hewings (1989, 1994) e conforme especificado por Guilhoto (2011), se a variação for pequena e ocorrer em apenas um único coeficiente técnico, então:

\[\varepsilon_{ij} = \left\{\begin{array} {c} \varepsilon \: \forall \: i=i_{1},j=j_{1} \\ 0 \: \forall \: i \neq i_{1},j \neq j_{1} \\ \end{array} \right\}, \quad \varepsilon >0~~~~~~~~(50)\]

Dessa forma, há uma aproximação do campo de influência pela seguinte expressão:

\[\mathbf{F}(\varepsilon_{ij})= \frac{\mathbf{B}(\varepsilon_{ij}) - \mathbf{B}}{\varepsilon_{ij}} =\{f_{kl}(\varepsilon_{ij})\}~~~~~~~~(51)\]

em que \(\mathbf{F}(\varepsilon_{ij})\) é a matriz (\(n \times n\)) do campo de influência da mudança no coeficiente técnico \(a_{ij}\) e \(k\) e \(l\) são índices similares a \(i\) e \(j\), definidos anteriormente, entretanto, utilizados para matriz \(\mathbf{F}(\varepsilon_{ij})\).

Esse procedimento é repetido para todos os coeficientes de \(\mathbf{A}\), isto é, calculam-se matrizes \(\mathbf{F}\) para cada coeficiente técnico de \(\mathbf{A}\) assumindo-se variações isoladas incidindo sobre cada um.

Para determinar quais coeficientes técnicos possuem o maior campo de influência, calcula-se para a sua correspondente matriz \(\mathbf{F}(\varepsilon_{ij})\) o seguinte indicador:

\[S_{ij}= \sum_{k=1}^{n}\sum_{l=1}^{n}[f_{kl}(\varepsilon_{ij})]^{2}~~~~~~~~(52)\]

Cada coeficiente técnico \(a_{ij}\) de \(\mathbf{A}\) possuirá um valor associado \(S_{ij}\) calculado pelo procedimento acima.

Os coeficientes técnicos que possuírem os maiores valores de \(S_{ij}\) serão aqueles com os maiores campos de influência dentro da economia como um todo, ou seja, aqueles que apresentam relações setoriais com maior sensibilidade às mudanças, promovendo, assim, maiores impactos na economia.


Campo de Influência


O campo de influência pode ser calculado com o loop abaixo. Para tal, definimos primeiro o incremento (\(\varepsilon\) ou ee), a matriz de variações incrementais (\(\mathbf{E}\)) e a matriz de campo de influência (\(\mathbf{SI}\)) para receber os resultados.

ee = 0.001
E = matrix(0, ncol = n, nrow = n)
SI = matrix(0, ncol = n, nrow = n)

Repare que a matriz \(\mathbf{E}\) é inicialmente preenchida com zeros. O incremento é feito dentro do loop para cada uma das relações intersetoriais.


O loop para cálculo do campo de influência é dado por:

for (i in 1:n) {
  for (j in 1:n) {
    E[i, j] = ee
    AE = A + E
    BE = solve(I - AE)
    FE = (BE - B) / ee
    FEq = FE * FE
    S = sum(FEq)
    SI[i, j] = S
    E[i, j] = 0
  }
}


Feito isso, temos a matriz de campo de influência (\(\mathbf{SI}\)) com os indicadores \(S_{ij}\). Assim, as principais ligações dentro da economia podem ser observadas com o gráfico abaixo.

sx = Setores[1:n, ]
sy = Setores[1:n, ]
data = expand.grid(X = sx, Y = sy)

ggplot(data,aes(X, Y, fill = SI)) + 
  geom_tile() +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab("Setores") +
  ggtitle("Campo de Influência") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  theme(axis.text.x = element_text(angle=35, vjust = 0.7),
        axis.text.y = element_text(angle=35, hjust = 0.7)) +
  theme(legend.position = "none") +
  scale_fill_distiller(palette = "Greys", trans = "reverse")


Além disso, critérios adicionais podem ser adotados para facilitar a visualização. Podemos classificar os elos de ligação em:

  • Menores que a média (“< Média”)
  • Menores que a média mais um desvio-padrão (“< Média + DP”)
  • Menores que a média mais dois desvios-padrão (“< Média + 2DP”)
  • Maiores que a média mais dois desvios-padrão (“> Média + DP”)


Para tal, podemos transformar a matriz SI em tibble com a função as_tibble() do pacote tibble e usar as funções mutate_all(), funs() e case_when() do pacote dplyr para substituir os valores da matriz segundo os critérios definidos acima:

library(tibble)
SI2 = as_tibble(SI) %>% 
  mutate_all(funs(case_when(. < mean(SI) ~ 1,
                            . >= mean(SI) & . < (mean(SI) + sd(SI)) ~ 2,
                            . >= (mean(SI) + sd(SI)) & . < (mean(SI) + 2 * sd(SI)) ~ 3,
                            . >= (mean(SI) + 2 * sd(SI)) ~ 4)))


Para facilitar a visualização, podemos transformar os dados em fatores (objeto utilizado para expressar uma variável categórica):

SI2 = as.factor(as.matrix(SI2))


Novamente, podemos utilizar o pacote ggplot2 para refazer o gráfico de campo de influência com as 4 categorias definidas:

ggplot(data,aes(X, Y)) + 
  geom_tile(aes(fill = SI2)) +
  theme_bw() +
  theme(plot.background = element_rect(fill = "#e6f2ff", colour = "#e6f2ff")) +
  xlab("Setores") +
  ylab("Setores") +
  ggtitle("Campo de Influência") +
  labs(subtitle = "2015",
       caption = "Fonte: elaboração própria com dados da MIP do IBGE (2015).") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5),
        plot.caption = element_text(hjust = 0)) +
  theme(axis.text.x = element_text(angle=35, vjust = 0.7),
        axis.text.y = element_text(angle=35, hjust = 0.7)) +
      scale_fill_manual(name = "SI",
        values=c("#e9e9e9", "#a9a9a9", "#3f3f3f", "#191919"),
        labels = c ("< Média", "< Média + DP", "< Média + 2DP", "> Média + 2DP"))


9. Extração Hipotética

O método de extração hipotética no contexto dos modelos regionais de insumo-produto consiste na extração de um setor, por exemplo, do sistema. A técnica permite analisar a importância de um setor em uma estrutura econômica dada a sua extração e consequente redução do nível de atividade na economia. Portanto, quanto maior o nível de interdependência desse setor em relação aos demais, maior será o impacto gerado.

De acordo com Miller e Blair (2009), o objetivo do método de extração hipotética é quantificar quanto a produção total de uma economia com \(n\) setores pode se modificar (no caso diminuir) se um determinado setor, digamos o \(j\)-ésimo, for removido da mesma.

Em termos gerais, a extração pode ser realizada de três formas:

  • Extração total do setor (ou agente) – colunas e linhas
  • Extração da estrutura de compras (ligação para trás) – extração das colunas
  • Extração da estrutura de vendas (ligação para frente) – extração das linhas


Vamos considerar os dois últimos casos:


Extração da estrutura de compras:

No caso da extração da estrutura de compras, considere novamente o caso geral de um modelo de insumo-produto com \(n\) setores produtivos:

\[\mathbf{x} = \mathbf{Ax} + \mathbf{y}~~~~~~~~(53)\]

e a seguinte equação básica de equilíbrio:

\[\mathbf{x} = (\mathbf{I} - \mathbf{A})^{-1} \mathbf{y}~~~~~~~~(54)\]

Se a extração ocorre nos elementos de compras, pode-se, genericamente, afirmar que o \(j\)-ésimo setor não compra insumos dos setores produtivos. Nesse caso, a nova matriz \(\mathbf{A}\) será representada por \(\mathbf{A}^{*}_{(j)}\), sendo essa a matriz com a extração hipotética da \(j\)-ésima coluna da matriz \(\mathbf{A}\).

Portanto, a solução para esse caso é dada por:

\[\mathbf{x}^{*}_{(j)} = (\mathbf{I} - \mathbf{A}^{*}_{(j)})^{-1} \mathbf{y}~~~~~~~~(55)\]

Comparando as equações (54) e (55), é possível calcular os impactos da extração das ligações para trás a partir de:

\[t_{(j)} = \mathbf{i}^{'}\mathbf{x}-\mathbf{i}^{'}\mathbf{x}^{*}_{(j)}~~~~~~~~(56)\]

em que \(t_{(j)}\) representa uma medida de ligação para trás total para o setor \(j\).

Em outras palavras, \(t_{(j)}\) é uma medida agregada de perda na economia – diminuição da produção total se o setor \(j\) “desaparecer”. É uma medida da importância relativa do setor \(j\) (grau de interdependência econômica).

Vale ressaltar que o resultado também pode ser desagregado para os \(n\) setores. Nesse caso, com \(\mathbf{i}^{'}\mathbf{x}-\mathbf{i}^{'}\mathbf{x}^{*}_{(j)i}\), temos a dependência para trás do setor \(j\) em relação ao setor \(i\).


Extração da estrutura de vendas:

Para mensuração dos impactos da extração das ligações para frente, podemos considerar o modelo de insumo-produto pelo lado da oferta:

\[\mathbf{x} = \mathbf{F}\mathbf{x} + \mathbf{v}~~~~~~~~(57)\]

e seguinte equação básica de equilíbrio:

\[\mathbf{x} = \mathbf{v}(\mathbf{I} - \mathbf{F})^{-1}~~~~~~~~(58)\]

Se a extração ocorre nos elementos de vendas, pode-se, genericamente, afirmar que o \(i\)-ésimo setor não vende insumos aos setores produtivos. Nesse caso, a nova matriz \(\mathbf{F}\) será representada por \(\mathbf{F}^{*}_{(i)}\), sendo essa a matriz com a extração hipotética da \(i\)-ésima linha da matriz \(\mathbf{F}\).

Portanto, a solução para esse caso é dada por:

\[\mathbf{x}^{*}_{(j)} = \mathbf{v}(\mathbf{I} - \mathbf{F}^{*}_{(i)})^{-1}~~~~~~~~(59)\]

Comparando as equações (58) e (59), é possível calcular os impactos da extração das ligações para frente a partir de:

\[t_{(i)} = \mathbf{x}\mathbf{i}-\mathbf{x}^{*}_{(i)}\mathbf{i}~~~~~~~~(60)\]

em que \(t_{(i)}\) representa uma medida de ligação para frente total para o setor \(i\).

Em outras palavras, \(t_{(i)}\) é uma medida agregada de perda na economia – diminuição da produção total se o setor \(i\) “desaparecer”. É uma medida da importância relativa do setor \(i\) (grau de interdependência econômica).

O resultado também pode ser desagregado para os \(n\) setores. Nesse caso, com \(\mathbf{i}^{'}\mathbf{x}-\mathbf{i}^{'}\mathbf{x}^{*}_{(i)j}\), temos a dependência para frente do setor \(i\) em relação ao setor \(j\).


Medida percentual:

Em ambos os casos, na extração da estrutura tanto de compras quanto de vendas, podemos fazer a normalização por meio da divisão dos resultados pela produção total e multiplicação por 100 para obter uma estimativa percentual:

\[T_{(j)} = \frac{\mathbf{i}^{'}\mathbf{x}-\mathbf{i}^{'}\mathbf{x}^{*}_{(j)}}{\mathbf{i}^{'}\mathbf{x}} \times 100~~~~~~~~(61)\]

\[T_{(i)} = \frac{\mathbf{x}\mathbf{i}-\mathbf{x}^{*}_{(i)}\mathbf{i}}{\mathbf{i}^{'}\mathbf{x}} \times 100~~~~~~~~(62)\]

Observação: para uma visão geral de outras taxonomias de extração, recomenda-se a leitura do Appendix 12W.1 - Hypothetical Extractions with Partitioned Matrices de Miller e Blair (2009).


Extração Hipotética


A extração pode ser feita com o loop abaixo. Para tal, definimos, primeiro, dois objetos para receberem os resultados.

BLextrac = matrix(NA, ncol=1, nrow=n)
FLextrac = matrix(NA, ncol=1, nrow=n)

Repare que as matrizes são inicialmente preenchidas com “NA”.


O loop para cálculo da extração hipotética é dado por:

for (i in 1:n) {
  for (j in 1:n) {
  ABL = A
  ABL[, j] = 0
  BBL = solve(I - ABL)
  xbl = BBL %*% y
  tbl = sum(x) - sum(xbl)
  BLextrac[j] = tbl
  BLextracp = BLextrac / sum(x) * 100
  
  FFL = F
  FFL[i, ] = 0
  GFL = solve(I - FFL)
  xfl = t(sp) %*% GFL
  tfl = sum(x) - sum(xfl)
  FLextrac[i] = tfl
  FLextracp = FLextrac / sum(x) * 100
  
  Extrac = cbind(BLextrac, FLextrac, BLextracp, FLextracp)
  colnames(Extrac) = c("BL", "FL", "BL%", "FL%")
  }
}

ATENÇÃO! Para encontrar o equilíbrio, consideram-se no setor de pagamentos o valor adicionado, as importações e impostos indiretos. Ver o objeto sp importado da base de dados.


Para ver a tabela de resultados, utilize a função View() ou simplesmente digite “Extrac” no Console do RStudio:

Extrac
##               BL         FL        BL%        FL%
##  [1,]  321581.18  443125.78  3.1444735  4.3329564
##  [2,]  188188.11  256007.60  1.8401341  2.5032842
##  [3,] 2159586.08 1680590.12 21.1167864 16.4330854
##  [4,]  220502.93  311749.16  2.1561138  3.0483343
##  [5,]  464161.55  129252.80  4.5386477  1.2638551
##  [6,]  558958.68  742738.13  5.4655895  7.2626150
##  [7,]  367419.40  567639.38  3.5926871  5.5504709
##  [8,]  195182.85  274529.30  1.9085299  2.6843925
##  [9,]  245961.67  433813.63  2.4050535  4.2419007
## [10,]   59929.26  155813.30  0.5859981  1.5235680
## [11,]  695352.62  982162.22  6.7992718  9.6037430
## [12,]  460931.69   58768.75  4.5070656  0.5746505


Para colocar os nomes dos setores e renomear as colunas, utilize os seguintes comandos:

Extrac = cbind(Setores, Extrac)
colnames(Extrac) = c("Setores", "BL", "FL", "BL%", "FL%")


Para gerar uma tabela mais organizada, podemos usar novamente a função kable() do pacote knitr e a função kable_styling() do pacote kableExtra:

kable(Extrac, caption = "Extração Hipotética", align = "lcccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015).",
           general_title = "Fonte:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Extração Hipotética
Setores BL FL BL% FL%
Agro 321581.18 443125.78 3.1444735 4.3329564
Ind.Extr 188188.11 256007.60 1.8401341 2.5032842
Ind.Tran 2159586.08 1680590.12 21.1167864 16.4330854
SIUP 220502.93 311749.16 2.1561138 3.0483343
Cons 464161.55 129252.80 4.5386477 1.2638551
Com 558958.68 742738.13 5.4655895 7.2626150
Transp 367419.40 567639.38 3.5926871 5.5504709
Info 195182.85 274529.30 1.9085299 2.6843925
Finan 245961.67 433813.63 2.4050535 4.2419007
Imob 59929.26 155813.30 0.5859981 1.5235680
Otrs.Serv 695352.62 982162.22 6.7992718 9.6037430
Adm 460931.69 58768.75 4.5070656 0.5746505
Fonte: elaboração própria com dados da MIP do IBGE (2015).


Interpretação

Os resultados da extração do Setor 1 (Agro), por exemplo, podem ser interpretados como:

  • Dada a extração da estrutura de compras do Setor 1 (Agro), o produto da economia diminui em R$321581.1829 milhões, ou seja, 3.1445%.
  • Dada a extração da estrutura de vendas intermediárias do Setor 1 (Agro), o produto da economia diminui em R$443125.7798 milhões, ou seja, 4.333%.


A interpretação para os demais setores é análoga.


10. Decomposição Estrutural

O método de decomposição estrutural (Structural Decomposition Analysis – SDA) tem sua origem nos desenvolvimentos de Carter (1970) e com significativas contribuições de Blair e Wyckoff (1989), Skolka (1989) e Rose e Casler (1996) - ver Miller e Blair (2009) para uma discussão mais detalhada.

Em geral, o método permite decompor as relações de insumo-produto em quaisquer dois pontos no tempo, digamos \(t = 0\) e \(t = 1\), como a soma dos efeitos associados a cada uma das fontes individuais de mudança.

Com o método, pode-se perceber que, para qualquer mudança na produção, parte é devido a mudanças técnicas dos setores e parte é proveniente de mudanças na demanda final.

Como usual, consideramos inicialmente a equação básica do modelo de insumo-produto:

\[\mathbf{x}=(\mathbf{I}-\mathbf{A})^{-1}\mathbf{y}~~~~~~~~(63)\]

em que \(\mathbf{x}\) é o valor bruto da produção; \(\mathbf{B} = (\mathbf{I}-\mathbf{A})^{-1}\) é a matriz inversa de Leontief; e \(\mathbf{y}\) é o vetor com a demanda final.

Considerando mais de um período, podemos reescrever a Equação (63) como:

\[\mathbf{x}^{t} = (\mathbf{I}-\mathbf{A}^{t})^{-1}\mathbf{y^{t}}~~~~~~~~(64)\]

ou

\[\mathbf{x}^{t} = \mathbf{B}^{t}\mathbf{y}^{t}~~~~~~~~(65)\]

em que \(t\) assume valor 0 para o ano inicial (\(t = 0\)) e 1 para o ano final (\(t = 1\)).


Logo, a equação básica do modelo de insumo-produto no ano 0 é dada por:

\[\mathbf{x}^{0} = \mathbf{B}^{0}\mathbf{y}^{0}~~~~~~~~(66)\]

e no ano 1 por:

\[\mathbf{x}^{1} = \mathbf{B}^{1}\mathbf{y}^{1}~~~~~~~~(67)\]

Com base nas Equações (66) e (67), a mudança observada na produção total no período pode ser representada por:

\[\Delta\mathbf{x}=\mathbf{x}^{1} - \mathbf{x}^{0} = \mathbf{B}^{1}\mathbf{y}^{1} - \mathbf{B}^{0}\mathbf{y}^{0}~~~~~~~~(68)\]

Para decompor a mudança total na produção (\(\Delta\mathbf{x}\)) em relação aos componentes da equação de equilíbrio do modelo de insumo-produto, podemos considerar as variações em \(\mathbf{B}\) e em \(\mathbf{y}\):

\[\Delta\mathbf{B}= \mathbf{B}^{1} - \mathbf{B}^{0}~~~~~~~~(69)\]

\[\Delta\mathbf{y}= \mathbf{y}^{1} - \mathbf{y}^{0}~~~~~~~~(70)\]


ATENÇÃO! Com o objetivo de remover a influência de variações nos preços, usam-se os dados a preços do mesmo ano.


Existem diversas possibilidades de decompor a Equação (68):

\[\Delta\mathbf{x}=\mathbf{x}^{1} - \mathbf{x}^{0} = \mathbf{B}^{1}\mathbf{y}^{1} - \mathbf{B}^{0}\mathbf{y}^{0}\]


Decomposição 1:

Podemos usar somente valores do ano 1 para \(\mathbf{B}\) e somente valores do ano 0 para \(\mathbf{y}\) tal que:

\[\mathbf{B}^{0} = \mathbf{B}^{1}- \Delta\mathbf{B}~~~~~~~~(71)\]

\[\mathbf{y}^{1} = \Delta\mathbf{y} + \mathbf{y}^{0}~~~~~~~~(72)\]

Substituindo as Equações (71) e (72) na Equação (68), temos:

\[\Delta\mathbf{x} = \mathbf{B}^{1}(\Delta\mathbf{y} + \mathbf{y}^{0}) - (\mathbf{B}^{1}- \Delta\mathbf{B})\mathbf{y}^{0}~~~~~~~~(73)\]

Rearranjando:

\[\Delta\mathbf{x} = \mathbf{B}^{1}\Delta\mathbf{y} + \mathbf{B}^{1}\mathbf{y}^{0} - \mathbf{B}^{1}\mathbf{y}^{0} + \Delta\mathbf{B}\mathbf{y}^{0}~~~~~~~~(74)\]

Logo:

\[\Delta\mathbf{x} = \mathbf{B}^{1}\Delta\mathbf{y} + \Delta\mathbf{B}\mathbf{y}^{0}~~~~~~~~(75)\]


A Equação (75) representa uma decomposição direta da mudança total na produção em dois componentes:

  • Uma parte que reflete variações na demanda final (\(\Delta\mathbf{y}\)), ponderada pela tecnologia do ano 1 (\(\mathbf{B}^{1}\)); e
  • Uma parte que é atribuída a mudanças na tecnologia (\(\Delta\mathbf{B}\)), ponderada pela demanda final do ano 0 (\(\mathbf{y}^{0}\)).


Para entender a intuição por trás dessa decomposição, podemos considerar cada um dos componentes da Equação (75).

O primeiro termo é dado por:

\[\mathbf{B}^{1}\Delta\mathbf{y} = \mathbf{B}^{1}\mathbf{y}^{1} - \mathbf{B}^{1}\mathbf{y}^{0} ~~~~~~~~(76)\]

em que:

  • \(\mathbf{B}^{1}\mathbf{y}^{1}\) representa a produção necessária para satisfazer a demanda final de \(t = 1\) (\(\mathbf{y}^{1}\)) com a tecnologia de \(t = 1\) (\(\mathbf{B}^{1}\));
  • \(\mathbf{B}^{1}\mathbf{y}^{0}\) representa a produção necessária para satisfazer a demanda final de \(t = 0\) (\(\mathbf{y}^{0}\)) com a tecnologia de \(t = 1\) (\(\mathbf{B}^{1}\))


O segundo termo, por sua vez, é dado por:

\[\Delta\mathbf{B}\mathbf{y}^{0} = \mathbf{B}^{1}\mathbf{y}^{0} - \mathbf{B}^{0}\mathbf{y}^{0}~~~~~~~~(77)\]

em que:

  • \(\mathbf{B}^{1}\mathbf{y}^{0}\) representa a produção necessária para satisfazer a demanda final de \(t = 0\) (\(\mathbf{y}^{0}\)) com a tecnologia de \(t = 1\) (\(\mathbf{B}^{1}\)); e
  • \(\mathbf{B}^{0}\mathbf{y}^{0}\) representa a produção necessária para satisfazer a demanda final de \(t = 0\) (\(\mathbf{y}^{0}\)) com a tecnologia de \(t = 0\) (\(\mathbf{B}^{0}\))


Decomposição 2:

Alternativamente, podemos usar somente valores do ano 0 para \(\mathbf{B}\) e somente valores do ano 1 para \(\mathbf{y}\) tal que:

\[\mathbf{B}^{1} = \mathbf{B}^{0} + \Delta\mathbf{B}~~~~~~~~(78)\]

\[\mathbf{y}^{0} = \mathbf{y}^{1} - \Delta\mathbf{y}~~~~~~~~(79)\]

Substituindo as Equações (78) e (79) na Equação (68), temos:

\[\Delta\mathbf{x} = (\mathbf{B}^{0}+ \Delta\mathbf{B})\mathbf{y}^{1} - \mathbf{B}^{0} (\mathbf{y}^{1}- \Delta\mathbf{y})~~~~~~~~(80)\]

Rearranjando:

\[\Delta\mathbf{x} = \mathbf{B}^{0}\mathbf{y}^{1} + \Delta\mathbf{B}\mathbf{y}^{1} - \mathbf{B}^{0}\mathbf{y}^{1} + \mathbf{B}^{0}\Delta\mathbf{y}~~~~~~~~(81)\]

Logo:

\[\Delta\mathbf{x} = \Delta\mathbf{B}\mathbf{y}^{1}+ \mathbf{B}^{0}\Delta\mathbf{y}~~~~~~~~(82)\]

Nesse caso, a contribuição das variações tecnológicas está ponderada pela demanda final do ano 1 e as variações na demanda final estão ponderadas pela tecnologia do ano 0.

A intuição por trás da decomposição é similar dado que:

\[\Delta\mathbf{B}\mathbf{y}^{1} = \mathbf{B}^{1}\mathbf{y}^{1} - \mathbf{B}^{0}\mathbf{y}^{1} ~~~~~~~~(83)\]

\[\mathbf{B}^{0}\Delta\mathbf{y} = \mathbf{B}^{0}\mathbf{y}^{1} - \mathbf{B}^{0}\mathbf{y}^{1}~~~~~~~~(84)\]


Decomposição 3:

Outra decomposição possível é considerar apenas o ano 0 como ponderador. Nesse caso, temos:

\[\mathbf{B}^{1} = \mathbf{B}^{0} + \Delta\mathbf{B}~~~~~~~~(85)\]

\[\mathbf{y}^{1} = \mathbf{y}^{0} + \Delta\mathbf{y}~~~~~~~~(86)\]

Substituindo as Equações (85) e (86) na Equação (68), temos:

\[\Delta\mathbf{x} = (\mathbf{B}^{0} + \Delta\mathbf{B})(\mathbf{y}^{0} + \Delta\mathbf{y}) - \mathbf{B}^{0}\mathbf{y}^{0}~~~~~~~~(87)\]

Rearranjando:

\[\Delta\mathbf{x} = \mathbf{B}^{0}\mathbf{y}^{0} + \mathbf{B}^{0}\Delta\mathbf{y} + \Delta\mathbf{B}\mathbf{y}^{0} + \Delta\mathbf{B}\Delta\mathbf{y} - \mathbf{B}^{0}\mathbf{y}^{0}~~~~~~~~(88)\]

Logo:

\[\Delta\mathbf{x} = \Delta\mathbf{B}\mathbf{y}^{0}+ \mathbf{B}^{0}\Delta\mathbf{y} + \Delta\mathbf{B}\Delta\mathbf{y}~~~~~~~~(89)\]


Decomposição 4:

Similarmente, poderíamos considerar apenas o ano 1 e obter a seguinte decomposição:

\[\Delta\mathbf{x} = \Delta\mathbf{B}\mathbf{y}^{1}+ \mathbf{B}^{1}\Delta\mathbf{y} - \Delta\mathbf{B}\Delta\mathbf{y}~~~~~~~~(90)\]


Síntese

Dietzenbacher e Los (1998) apresentam uma variedade de possibilidades de decomposição e mostram que um resultado aceitável é considerar a média dos resultados da Equação (75) e (82):

\[\Delta\mathbf{x} = \mathbf{B}^{1}\Delta\mathbf{y} + \Delta\mathbf{B}\mathbf{y}^{0}\]

\[\Delta\mathbf{x} = \Delta\mathbf{B}\mathbf{y}^{1}+ \mathbf{B}^{0}\Delta\mathbf{y}\]

Para ver isso, podemos somar as duas equações:

\[2\Delta\mathbf{x} = \mathbf{B}^{1}\Delta\mathbf{y} + \Delta\mathbf{B}\mathbf{y}^{0} + \Delta\mathbf{B}\mathbf{y}^{1}+ \mathbf{B}^{0}\Delta\mathbf{y}~~~~~~~~(91)\]

Rearranjando:

\[2\Delta\mathbf{x} = \Delta\mathbf{B}(\mathbf{y}^{0} + \mathbf{y}^{1}) + (\mathbf{B}^{0} + \mathbf{B}^{1})\Delta\mathbf{y}~~~~~~~~(92)\]

ou

\[\Delta\mathbf{x} = \frac{1}{2} \Delta\mathbf{B}(\mathbf{y}^{0} + \mathbf{y}^{1}) + \frac{1}{2} (\mathbf{B}^{0} + \mathbf{B}^{1})\Delta\mathbf{y}~~~~~~~~(93)\]

em que

  • \(1/2\Delta\mathbf{B}(\mathbf{y}^{0} + \mathbf{y}^{1})\) representa a parcela da decomposição associada à mudança tecnológica; e
  • \(1/2(\mathbf{B}^{0} + \mathbf{B}^{1})\Delta\mathbf{y}\) representa a parcela da decomposição associada à mudança de demanda final.

Decomposição Estrutural


Para realizar a decomposição estrutural, vamos considerar também a Matriz de Insumo-Produto (MIP) 2010 do Brasil disponibilizada pelo IBGE. A estrutura dessa matriz é similar à da MIP 2015 apresentada na seção 4.1.


ATENÇÃO! Faça o download das MIP 2010 e 2015 AQUI e salve os arquivos XLSX na pasta “setada” no início.


Feito isso, conforme procedimento realizado anteriormente, faça a leitura dos dados com o pacote openxlsx:

#Leitura do pacote
library(openxlsx)

##Ano: 2015

#Consumo Intermediário: 
Z15 = data.matrix(read.xlsx("MIP2015_12s.xlsx", sheet = "Z", colNames = FALSE))

#Demanda Final:
y15 = data.matrix(read.xlsx("MIP2015_12s.xlsx", sheet = "y", colNames = FALSE))

#Valor Bruto da Produção:
x15 = data.matrix(read.xlsx("MIP2015_12s.xlsx", sheet = "x", colNames = FALSE))
x15 = as.vector(x15)


##Ano: 2010

#Consumo Intermediário: 
Z10 = data.matrix(read.xlsx("MIP2010_12s.xlsx", sheet = "Z", colNames = FALSE))

#Demanda Final:
y10 = data.matrix(read.xlsx("MIP2010_12s.xlsx", sheet = "y", colNames = FALSE))

#Valor Bruto da Produção:
x10 = data.matrix(read.xlsx("MIP2010_12s.xlsx", sheet = "x", colNames = FALSE))
x10 = as.vector(x10)


Com o objetivo de remover a influência de variações nos preços, podemos atualizar os valores da MIP 2010 com base em algum índice de preço. Para fins didático, podemos usar o IPCA - geral. Considerando dez 2015 como base (dez 2015 = 100), temos um índice IPCA - geral em dez de 2010 igual a 71,13.


ATENÇÃO! Este material utiliza o IPCA - geral apenas para fins de simplificação e operação do método com o R. Para uma análise detalhada, sugere-se utilizar um índice de preços por setor construído com base nos dados das Tabelas de Recursos e Usos (TRUs) divulgadas pelo IBGE.


Portanto, podemos atualizar os valores de \(\mathbf{Z}\), \(\mathbf{y}\) e \(\mathbf{x}\) de 2010 (a preços de 2015) da seguinte maneira:

##Ano: 2010
##Atualização

#Consumo Intermediário: 
Z10 = Z10 / 71.13 * 100

#Demanda Final:
y10 = y10 / 71.13 * 100

#Valor Bruto da Produção:
x10 = x10 / 71.13 * 100


Com a base de dados, podemos calcular a matriz de coeficientes técnicos (\(\mathbf{A}\)) e a matriz inversa de Leontief (\(\mathbf{B}\)) nos dois anos:

##Auxiliares
n = length(x15) #Número de setores (o mesmo nos dois anos)
I = diag(n)     #Matriz Identidade

##Ano: 2015

A15 = Z15 %*% diag(1 / x15) #Matriz de Coeficientes Técnicos
B15 = solve(I - A15)        #Matriz Inversa de Leontief

##Ano: 2010

A10 = Z10 %*% diag(1 / x10) #Matriz de Coeficientes Técnicos
B10 = solve(I - A10)        #Matriz Inversa de Leontief


A variação em \(\mathbf{x}\) (\(\Delta\mathbf{x}\)) entre os dois anos é dada por:

deltax = x15 - x10


Conforme apresentado acima, a decomposição de \(\Delta\mathbf{x}\) nos dois efeitos - mudanças tecnológicas e mudanças na demanda final - pode ser encontrada com:

MUD_TEC = 0.5 *((B15 - B10) %*% (y10 + y15))
MUD_DF = 0.5 *((B10 + B15) %*% (y15 - y10))


Podemos juntar os resultados e colocar os nomes dos setores com a função cbind():

Decomp = cbind(Setores, deltax, MUD_TEC, MUD_DF)

Além disso, podemos colocar os nomes nas colunas com auxílio da função colnames():

colnames(Decomp) = c("Setores", "Var. x", "Var. Tecnológica", "Var. Demanda Final")

Por fim, podemos incluir uma linha com o resultado Total:

Decomp = rbind(Decomp, c("Total", colSums(Decomp[, 2:4])))

Para transformar as colunas no formato numérico, podemos usar a função as.numeric():

Decomp$`Var. x` = as.numeric(Decomp$`Var. x`)
Decomp$`Var. Tecnológica` = as.numeric(Decomp$`Var. Tecnológica`)
Decomp$`Var. Demanda Final` = as.numeric(Decomp$`Var. Demanda Final`)


Para ver os resultados, digite Decomp no Console:

Decomp
##      Setores     Var. x Var. Tecnológica Var. Demanda Final
## 1       Agro  95430.408       11836.1931           83594.21
## 2   Ind.Extr -18573.633       -5873.7335          -12699.90
## 3   Ind.Tran -30355.690      -91485.3180           61129.63
## 4       SIUP  48451.086       11425.1554           37025.93
## 5       Cons   3687.165       -7740.5777           11427.74
## 6        Com 191616.367       46441.5390          145174.83
## 7     Transp  62159.584       24075.0830           38084.50
## 8       Info  -2730.963      -37810.5907           35079.63
## 9      Finan  64710.817        1272.1821           63438.64
## 10      Imob 129501.332        1470.2678          128031.06
## 11 Otrs.Serv 247635.058       24081.7002          223553.36
## 12       Adm 157748.547         144.5615          157603.99
## 13     Total 949280.078      -22163.5378          971443.62


Para gerar uma tabela, podemos usar novamente a função kable() do pacote knitr e a função kable_styling() do pacote kableExtra:

#Leitura dos pacotes
library(knitr)
library(kableExtra)
library(dplyr)

#Tabela
kable(Decomp, caption = "Decomposição Estrutural", align = "lccc") %>%
   kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
   footnote(general = "elaboração própria com dados da MIP do IBGE (2015/10).",
           general_title = "Fonte:",
           footnote_as_chunk = TRUE, title_format = c("bold"))
Decomposição Estrutural
Setores Var. x Var. Tecnológica Var. Demanda Final
Agro 95430.408 11836.1931 83594.21
Ind.Extr -18573.633 -5873.7335 -12699.90
Ind.Tran -30355.690 -91485.3180 61129.63
SIUP 48451.086 11425.1554 37025.93
Cons 3687.165 -7740.5777 11427.74
Com 191616.367 46441.5390 145174.83
Transp 62159.584 24075.0830 38084.50
Info -2730.963 -37810.5907 35079.63
Finan 64710.817 1272.1821 63438.64
Imob 129501.332 1470.2678 128031.06
Otrs.Serv 247635.058 24081.7002 223553.36
Adm 157748.547 144.5615 157603.99
Total 949280.078 -22163.5378 971443.62
Fonte: elaboração própria com dados da MIP do IBGE (2015/10).


Por fim, podemos gerar os gráficos com o pacote ggplot2:

#Leitura dos pacotes
library(ggplot2)
library(scales)

#Seleção apenas dos n setores (exclui a linha com o total)
Decomp_set = Decomp[-13,]
  
#Gráficos
#Variação de x
g1 = ggplot(Decomp_set) +
  geom_col(aes(x = factor(Setores, levels = unique(Setores)), y = `Var. x`), 
           fill = "blue4") +
  theme_bw() +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Decomposição Estrutural") +
  labs(subtitle = "2015-2010\nVariação do Produto") +
  theme(plot.title = element_text(hjust = 0.5),
        plot.subtitle = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle=35, vjust = 0.7)) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01),
                     limits = c(-50000, 250000),
                     breaks = seq(from = -50000, to = 250000, by = 50000))

#Variação Tecnológica
g2 = ggplot(Decomp_set) +
  geom_col(aes(x = factor(Setores, levels = unique(Setores)), y = `Var. Tecnológica`), 
           fill = "firebrick") +
  theme_bw() +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Variação Tecnológica") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01))

#Variação na Demanda Final
g3 =  ggplot(Decomp_set) +
  geom_col(aes(x = factor(Setores, levels = unique(Setores)), y = `Var. Demanda Final`),
           fill = "deepskyblue3") +
  theme_bw() +
  xlab("Setores") +
  ylab(" ") +
  ggtitle("Variação na Demanda Final") +
  theme(plot.title = element_text(hjust = 0.5)) +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) +
  scale_y_continuous(labels = scales::number_format(accuracy = 0.01))
  
#Grid com os três gráficos
library(gridExtra)
grid.arrange(g1, arrangeGrob(g2, g3, ncol = 2), ncol = 1,
             bottom = "Fonte: elaboração própria com dados da MIP do IBGE (2015/2010).")

11. Exportando Resultados

Para exportar dados do R, podemos utilizar diferentes pacotes e funções. A escolha do pacote depende do formato dos dados. Entre os principais pacotes, podemos citar o readr e openxlsx.

Vamos usar o openxlsx para exportar no formato XLSX (Excel). Para tal, faça a leitura do pacote com a função library():

library(openxlsx)


Inicialmente, podemos criar um “workbook” para salvar os resultados com a função createWorkbook():

wb = createWorkbook()


Feito isso, podemos criar as abas (“sheets”) que serão incluídas no arquivo xlsx (Excel) com a função addWorksheet():

addWorksheet(wb, "MP")
addWorksheet(wb, "ME")
addWorksheet(wb, "MR")
addWorksheet(wb, "IndHR")
addWorksheet(wb, "CV")
addWorksheet(wb, "IPLN")
addWorksheet(wb, "SI")
addWorksheet(wb, "ExtHipo")
addWorksheet(wb, "Decomp")


Para salvar cada um dos resultados nas suas respectivas abas, usamos a função writeDataTable() ou writeData():

writeDataTable(wb, "MP", x = MultProd)
writeDataTable(wb, "ME", x = MultEmp)
writeDataTable(wb, "MR", x = MultRen)
writeDataTable(wb, "IndHR", x = IndLig)
writeDataTable(wb, "CV", x = CoefVar)
writeDataTable(wb, "IPLN", x = IPLN)
writeData(wb, "SI", x = SI, colNames = FALSE)
writeDataTable(wb, "ExtHipo", x = Extrac)
writeDataTable(wb, "Decomp", x = Decomp)

Observação: a função writeDataTable() foi usada no caso de objetos “data.frame” e a função writeData() no caso de objetos “matrix”. Use o help para mais detalhes: ?writeDataTable e ?writeData.


Por fim, para exportar os resultados, usamos a função saveWorkbook():

saveWorkbook(wb, file = "Resultados.xlsx", overwrite = TRUE)

O arquivo estará disponível na sua pasta “setada”.


Referências

DIETZENBACHER, E.; LOS, B. Structural Decomposition Techniques: sense and sensitivity. Economic Systems Research, v. 10, n. 4, p. 307-324, 1998.

GUILHOTO, J. J. M. Análise de Insumo-Produto: teoria e fundamentos. 2011. (MPRA Paper No. 32566)

GUILHOTO, J. J. M.; SESSO FILHO, U. A. Estimação da matriz insumo-produto a partir de dados preliminares das contas nacionais. Economia Aplicada, v. 9, n. 2, p. 277-299, 2005.

GUILHOTO, J. J. M.; SONIS, M.; HEWINGS, G. J. D. Linkages and Multipliers in a Multiregional Framework: integration of alternative approaches. Urbana: University of Illinois. Regional Economics Applications Laboratory, 1996. (Discussion Paper, 96-T-8)

GUILHOTO, J. J. M; SONIS, M.; HEWINGS, G. J. D.; MARTINS, E. B. Índices de Ligações e Setores-Chave na Economia Brasileira: 1959/80. Pesquisa e Planejamento Econômico, v. 24, n. 2, p. 287-314, 1994.

HADDAD, E. A. Applied General Equilibrium Models I and II. Núcleo de Economia Regional e Urbana da Universidade de São Paulo (NEREUS), 2020.

HADDAD, E. A.; VALE, V. A. Curso de Métodos de Análise Regional e Inter-Regional. Núcleo de Economia Regional e Urbana da Universidade de São Paulo (NEREUS). Programa de Extensão Nereides, 2017.

HIRSCHMAN, A. O. The Strategy of Economic Development. New Haven: Yale University Press, 1958.

IBGE - Instituto Brasileiro de Geografia e Estatística. Matriz de Insumo-Produto: Brasil, 2015. IBGE, Coordenação de Contas Nacionais. Rio de Janeiro: IBGE, 2018.

MILLER, R. E.; BLAIR, P. D. Input Output Analysis: foundations and extensions. Prentice Hall, 2009.

PEROBELLI, F. S. Métodos de Análise Regional I. Programa de Pós Graduação em Economia (PGGE) da Universidade Federal de Juiz de Fora (UFJF).

PEROBELLI, F. S.; VALE, V. A.; PIRES, M. M.; SANTOS, J. P. C.; ARAÚJO JÚNIOR, I. F. Estimativa da Matriz de Insumo-Produto da Bahia (2009): características sistêmicas da estrutura produtiva do estado. Revista Econômica do Nordeste, v. 46, n. 4, p. 97-115, 2015.

RASMUSSEN, P. N. Studies in Intersectoral Relations. Amsterdam: North-Holland, 1956.

SONIS, M.; HEWINGS, G. J. D. Fields of Influence in Input-Output Systems. Urbana: University of Illinois. Regional Economics Applications Laboratory, Mimeo, 1994.

SONIS, M.; HEWINGS, G. J. D. Error and Sensitivity Input-Output Analysis: a new approach. In: MILLER, R. R.; POLENSKE, K.R.; ROSEM A.Z. (Ed.) Frontiers of Input-Output Analysis. New York: Oxford University Press, 1989.

VALE, A. V. Análise de Insumo-Produto. Programa de Pós-graduação em Desenvolvimento Econômico (PPGDE) da Universidade Federal do Paraná (UFPR), 2020.


Outras Referências

GROLEMUND, G. Hands-on Programming with R: write your own functions and simulations. O’Reilly Media, Inc., 2014.

LONG, J. D.; TEETOR, P. R cookbook: proven recipes for data analysis, statistics, and graphics. O’Reilly Media, Inc., 2019.

VERZANI, J. Getting started with RStudio. O’Reilly Media, Inc., 2011.

WICKHAM, H. ggplot2: elegant graphics for data analysis. Springer, 2016.

WICKHAM, H.; GROLEMUND, G. R for Data Science: import, tidy, transform, visualize, and model data. O’Reilly Media, Inc., 2016.

ZUUR, A.; IENO, E. N.; MEESTERS, E. A Beginner’s Guide to R. Springer Science & Business Media, 2009.


Comentários ou Sugestões:

Prof. Vinícius A. Vale
vinicius.a.vale@gmail.com
viniciusvale@ufpr.br
Prof. Fernando S. Perobelli
fernandosalgueiro.perobelli@gmail.com
fernando.perobelli@ufjf.edu.br

Esta obra está licenciada com uma Licença
Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional