Modello Input-Output di : Come le Matrici Rivoluzionano l’Analisi Economica Settoriale

Cerca:

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Matrici per l'Analisi Economica Intersettoriale

Applicazioni delle Matrici nei Modelli Gestionali

👉Matrici di Input-Output: un’analisi strutturale e intersettoriale dell’economia

Esercizio 1

 Modello di Input-Output di Leontief

Peculiarità: Usa l’algebra lineare per modellare l’equilibrio tra settori economici.

import numpy as np

# Matrice dei coefficienti tecnici (A): input necessari per unità di output
A = np.array([
    [0.2, 0.3],  # Agricoltura ha bisogno di 0.2 unità da sé e 0.3 dall'industria
    [0.4, 0.1]   # Industria ha bisogno di 0.4 unità dall'agricoltura e 0.1 da sé
])

# Domanda finale (d)
d = np.array([100, 200])  # [Agricoltura, Industria]

# Calcolo della produzione totale: X = (I - A)^(-1) @ d
I = np.eye(2)  # Matrice identità
X = np.linalg.inv(I - A) @ d

print("Produzione totale necessaria per settore:", X)

Output:

Produzione totale necessaria per settore: [250. 333.33333333]

L’output indica che per soddisfare una domanda finale di 100 unità dall’agricoltura e 200 unità dall’industria, il settore agricolo deve produrre un totale di 250 unità e il settore industriale deve produrre un totale di circa 333.33 unità. Questo tiene conto sia della domanda finale che della domanda intermedia tra i due settori.

La matrice dei coefficienti tecnici (A) descrive la quantità di input di ogni settore necessaria per produrre un’unità di output di un altro settore (inclusa la propria). Ad esempio, l’elemento [0, 1] (0.3) indica che l’agricoltura necessita di 0.3 unità di output dell’industria per produrre una sua unità di output.

La domanda finale (d) rappresenta la quantità di beni e servizi di ciascun settore richiesta dai consumatori finali, dal governo o per l’esportazione.

La matrice (I – A) è detta matrice di Leontief, dove I è la matrice identità. Questa matrice rappresenta la quantità di output di un settore disponibile dopo aver soddisfatto i propri bisogni di input.

L’inversa della matrice di Leontief, (I – A)(-1), è cruciale perché cattura gli effetti moltiplicativi tra i settori. Ogni elemento di questa matrice indica l’aumento della produzione totale di un settore necessario per soddisfare un aumento unitario della domanda finale di un altro settore.

Il calcolo X = (I – A)(-1) @ d utilizza la moltiplicazione matriciale per determinare la produzione totale (X) necessaria da ciascun settore per soddisfare la domanda finale d, tenendo conto di tutti gli input intermedi richiesti tra i settori.

Applicazione: Questo modello è fondamentale per la pianificazione economica nazionale, consentendo ai governi di comprendere come i cambiamenti nella domanda di un settore possono influenzare l’intera economia e di pianificare di conseguenza la produzione e l’allocazione delle risorse.

 

Dal punto di vista teorico:

Il modello Input-Output di Leontief descrive le interdipendenze tra i diversi settori di un’economia. L’idea fondamentale è che la produzione di un bene o servizio da parte di un settore spesso richiede input provenienti da altri settori (e talvolta anche dal settore stesso).

  • Interdipendenza settoriale: Il modello riconosce che i settori economici non operano in isolamento. Ad esempio, l’agricoltura può aver bisogno di macchinari prodotti dall’industria, mentre l’industria può aver bisogno di materie prime prodotte dall’agricoltura.
  • Flussi di input e output: La matrice dei coefficienti tecnici (A) quantifica questi flussi di input e output tra i settori. Ogni colonna della matrice rappresenta i requisiti di input di un particolare settore per produrre un’unità del suo output.
  • Domanda finale: La domanda finale rappresenta la domanda di beni e servizi da parte dei consumatori, del governo e del resto del mondo (esportazioni). È la domanda che il sistema economico deve soddisfare.
  • Produzione totale: La produzione totale è la quantità complessiva di beni e servizi che ogni settore deve produrre per soddisfare sia la domanda intermedia (la domanda da parte di altri settori) che la domanda finale.
  • Effetti moltiplicativi: L’inversa della matrice di Leontief cattura gli effetti moltiplicativi nell’economia. Se la domanda finale per un settore aumenta, non solo quel settore dovrà aumentare la sua produzione, ma anche i settori che forniscono input a quel settore dovranno aumentare la loro produzione, e così via. L’inversa di Leontief quantifica l’impatto totale di un cambiamento nella domanda finale su tutti i settori dell’economia.
  • Pianificazione economica: Il modello è uno strumento prezioso per la pianificazione economica. I governi possono utilizzare questo modello per analizzare l’impatto di diverse politiche economiche, come gli investimenti in un particolare settore o i cambiamenti nella spesa pubblica. Può anche aiutare a prevedere i requisiti di produzione di diversi settori in base alle previsioni della domanda finale.
Forse potrebbe interessarti anche:  Weak Signals Detection con Python: anomalie multivariate, topic emergenti e priorità decisionali

Approfondimento sull’Interpretazione Economica della Matrice Inversa di Leontief

La matrice inversa di Leontief, [math](I – A)^{-1}[/math], è uno strumento cruciale nel modello Input-Output per comprendere le interconnessioni economiche tra settori. Ricordiamo che la soluzione del modello è data da:

[math] X = (I – A)^{-1} d [/math]

Dove:

  • [math]X[/math] è il vettore della produzione totale.
  • [math](I – A)^{-1}[/math] è l’inversa della matrice di Leontief, che indicheremo con [math]L[/math].
  • [math]d[/math] è il vettore della domanda finale.

Se consideriamo un’economia con [math]n[/math] settori, la matrice [math]L[/math] sarà una matrice [math]n \times n[/math]. Indichiamo l’elemento nella riga [math]i[/math] e nella colonna [math]j[/math] di [math]L[/math] come [math]l_{ij}[/math].

Caso con Due Settori: Agricoltura e Industria

Riprendendo l’esempio con due settori (Agricoltura e Industria), abbiamo calcolato che la matrice inversa di Leontief è approssimativamente:

[math] (I – A)^{-1} \approx \begin{pmatrix} 1.5 & 0.666… \\ 0.5 & 1.333… \end{pmatrix} = \begin{pmatrix} 1.5 & 2/3 \\ 0.5 & 4/3 \end{pmatrix} [/math]

Ora analizziamo l’interpretazione economica di ciascun elemento di questa matrice:

[math]l_{11} = 1.5[/math]

Questo elemento si trova nella prima riga (Agricoltura) e nella prima colonna (corrispondente a un aumento della domanda finale per il settore Agricoltura). Indica che per aumentare di 1 unità la domanda finale per il settore Agricoltura, la produzione totale del settore Agricoltura deve aumentare di 1.5 unità. Questa cifra include sia l’unità di output aggiuntiva per soddisfare la domanda finale, sia l’aumento di produzione necessario per fornire gli input aggiuntivi richiesti da tutti i settori (incluso se stesso) a causa di questo aumento iniziale della domanda finale per l’Agricoltura. In altre parole, per produrre 1 unità di prodotto agricolo per la domanda finale, il settore agricolo ha bisogno direttamente di una parte di sé (0.2 unità secondo la matrice A) e indirettamente ha bisogno di ulteriori input da sé e dall’industria, portando l’aumento totale della produzione agricola a 1.5 unità.

[math]l_{12} = 0.5[/math]

Questo elemento si trova nella prima riga (Agricoltura) e nella seconda colonna (corrispondente a un aumento della domanda finale per il settore Industria). Indica che per aumentare di 1 unità la domanda finale per il settore Industria, la produzione totale del settore Agricoltura deve aumentare di 0.5 unità. Questo perché l’aumento della produzione industriale richiede più input dal settore agricolo (0.4 unità di output agricolo per ogni unità di output industriale, secondo la matrice A). Questo elemento cattura l’effetto indiretto sulla produzione agricola derivante da un aumento della domanda finale industriale.

[math]l_{21} = 2/3 \approx 0.666…[/math]

Questo elemento si trova nella seconda riga (Industria) e nella prima colonna (corrispondente a un aumento della domanda finale per il settore Agricoltura). Indica che per aumentare di 1 unità la domanda finale per il settore Agricoltura, la produzione totale del settore Industria deve aumentare di circa 0.67 unità. Questo perché l’aumento della produzione agricola richiede più input dal settore industriale (0.3 unità di output industriale per ogni unità di output agricolo, secondo la matrice A). Questo elemento cattura l’effetto indiretto sulla produzione industriale derivante da un aumento della domanda finale agricola.

[math]l_{22} = 4/3 \approx 1.333…[/math]

Questo elemento si trova nella seconda riga (Industria) e nella seconda colonna (corrispondente a un aumento della domanda finale per il settore Industria). Indica che per aumentare di 1 unità la domanda finale per il settore Industria, la produzione totale del settore Industria deve aumentare di circa 1.33 unità. Similmente a [math]l_{11}[/math], questa cifra include l’unità di output aggiuntiva per la domanda finale e l’aumento di produzione necessario per fornire gli input aggiuntivi richiesti da tutti i settori (incluso se stesso) a causa di questo aumento iniziale della domanda finale per l’Industria. Per produrre 1 unità di prodotto industriale per la domanda finale, il settore industriale ha bisogno direttamente di una parte di sé (0.1 unità secondo la matrice A) e indirettamente ha bisogno di ulteriori input da sé e dall’agricoltura, portando l’aumento totale della produzione industriale a circa 1.33 unità.

Forse potrebbe interessarti anche:  Analisi Strategica dei Modelli di Risparmio in Python- Simulazione dei dati in input

In Sintesi

Ogni elemento [math]l_{ij}[/math] della matrice inversa di Leontief rappresenta l’ammontare di output totale del settore [math]i[/math] necessario per soddisfare un aumento di una unità nella domanda finale del settore [math]j[/math], tenendo conto di tutti gli effetti diretti e indiretti attraverso l’intera economia.

Questa interpretazione è fondamentale per comprendere come i cambiamenti nella domanda finale di un settore si propagano attraverso l’economia e influenzano la produzione di tutti gli altri settori. I governi e gli analisti economici possono utilizzare questa informazione per prevedere l’impatto di politiche o shock economici su diversi settori e per pianificare di conseguenza l’allocazione delle risorse.

L’operatore @ in Python

L’operatore @ è l’operatore di moltiplicazione tra matrici introdotto in Python a partire dalla versione 3.5.

È equivalente a:

np.matmul(A, B)

oppure, se usi @:

A @ B

✅ Quando si usa @?

Quando vuoi fare la moltiplicazione tra array secondo le regole dell’algebra lineare, quindi:

  • prodotto matrice × vettore
  • prodotto matrice × matrice

🔁 In questo caso:

X = np.linalg.inv(I - A) @ d

Stai facendo:

  • L’inversa della matrice (I - A), che è 2×2
  • Moltiplicata per d, che è un vettore colonna 2×1

Risultato: un vettore 2×1 che rappresenta la produzione totale di ciascun settore.

ℹ️ Nota: Se avessi usato * al posto di @, Python avrebbe fatto moltiplicazione elemento per elemento, che non è quella che vuoi per i modelli input-output.

Confronto Pratico tra @ e * in NumPy

In NumPy, gli operatori @ e * eseguono operazioni di moltiplicazione diverse tra array (matrici e vettori). Vediamo nel dettaglio la loro differenza con un esempio pratico.

Esempio

Supponiamo di avere queste due matrici 2×2:

import numpy as np

A = np.array([[1, 2],
              [3, 4]])

B = np.array([[5, 6],
              [7, 8]])
    

1. Moltiplicazione Elemento per Elemento (*)

L’operatore * esegue una moltiplicazione elemento per elemento tra gli array. Questo significa che l’elemento nella posizione (i, j) del risultato è il prodotto degli elementi nelle posizioni (i, j) degli array di input.

C = A * B
print(C)
    

Risultato:

[ \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} * \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 1 \times 5 & 2 \times 6 \\ 3 \times 7 & 4 \times 8 \end{pmatrix} = \begin{pmatrix} 5 & 12 \\ 21 & 32 \end{pmatrix} ]

[[ 5 12]
 [21 32]]
    

2. Moltiplicazione Matriciale (@)

L’operatore @ esegue la moltiplicazione matriciale (o prodotto scalare per i vettori), seguendo le regole dell’algebra lineare. Per matrici $m \times n$ e $p \times q$, la moltiplicazione è definita solo se $n = p$, e il risultato sarà una matrice $m \times q$.

D = A @ B
print(D)
    

Risultato:

[ \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} @ \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} (1 \times 5) + (2 \times 7) & (1 \times 6) + (2 \times 8) \\ (3 \times 5) + (4 \times 7) & (3 \times 6) + (4 \times 8) \end{pmatrix} = \begin{pmatrix} 5 + 14 & 6 + 16 \\ 15 + 28 & 18 + 32 \end{pmatrix} = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix} ]

[[19 22]
 [43 50]]
    

Riepilogo

Operatore Nome Effetto
* Element-wise multiplication Moltiplica elemento per elemento
@ Matrix multiplication (dot) Moltiplica secondo l’algebra lineare

Quando usare uno o l’altro?

  • Usa * se vuoi confrontare o combinare valori nello stesso punto (ad esempio, pixel di immagini, coefficienti, maschere).
  • Usa @ per operazioni matematiche tra matrici o vettori, come in algebra lineare, modelli economici, machine learning, ecc.

 

La Potenza del Modello Input-Output di Leontief: Un Esempio con 3 Settori

Il modello input-output di Leontief è uno strumento potente per analizzare le interdipendenze tra i diversi settori di un’economia. Mostra come la produzione di un settore sia influenzata dalla domanda di altri settori e dalla propria domanda interna. Un esempio con più di due settori evidenzia davvero la complessità di queste interazioni.

Forse potrebbe interessarti anche:  Gradio: La Libreria Python per Creare Interfacce Web Interattive per Machine Learning e Data Science

Esempio con 3 Settori:

Consideriamo un’economia semplificata con i seguenti tre settori economici:

  • Agricoltura
  • Industria
  • Servizi

Matrice dei Coefficienti Tecnici A (3×3)

La matrice dei coefficienti tecnici (A) rappresenta la quantità di input di un settore necessaria per produrre un’unità di output di un altro settore (o di se stesso).

[math] A = \begin{pmatrix} 0.2 & 0.1 & 0.1 \\ 0.4 & 0.2 & 0.3 \\ 0.3 & 0.4 & 0.1 \end{pmatrix} [/math]

Questo significa che:

  • Per produrre 1 unità di Agricoltura, sono necessarie 0.2 unità di Agricoltura, 0.1 unità di Industria e 0.1 unità di Servizi.
  • Per produrre 1 unità di Industria, sono necessarie 0.4 unità di Agricoltura, 0.2 unità di Industria e 0.3 unità di Servizi.
  • Per produrre 1 unità di Servizi, sono necessarie 0.3 unità di Agricoltura, 0.4 unità di Industria e 0.1 unità di Servizi.
import numpy as np

# Matrice dei coefficienti tecnici
A = np.array([
    [0.2, 0.1, 0.1],  # Agricoltura ha bisogno di input da tutti i settori
    [0.4, 0.2, 0.3],  # Industria ha bisogno di input da tutti i settori
    [0.3, 0.4, 0.1]   # Servizi ha bisogno di input da tutti i settori
])
    

Domanda Finale d:

La domanda finale (d) rappresenta la quantità di output di ciascun settore richiesta dai consumatori finali (famiglie, governo, esportazioni, ecc.).

[math] d = \begin{pmatrix} 120 \\ 230 \\ 150 \end{pmatrix} [/math]

Dove:

  • La domanda finale per l’Agricoltura è di 120 unità.
  • La domanda finale per l’Industria è di 230 unità.
  • La domanda finale per i Servizi è di 150 unità.
# Domanda finale
d = np.array([120, 230, 150])  # Output richiesto da ciascun settore
    

Calcolo: X = (I – A)^(-1) @ d

Per trovare la produzione totale (X) necessaria per soddisfare la domanda finale (d), dobbiamo utilizzare la formula del modello input-output di Leontief:

[math] X = (I – A)^{-1} d [/math]

Dove:

  • [math]X[/math] è il vettore della produzione totale per ciascun settore.
  • [math]I[/math] è la matrice identità (della stessa dimensione di A).
  • [math]A[/math] è la matrice dei coefficienti tecnici.
  • [math](I – A)^{-1}[/math] è la matrice di Leontief, che rappresenta l’impatto diretto e indiretto della domanda finale sulla produzione.
  • [math]d[/math] è il vettore della domanda finale.
  • L’operatore [math]@[/math] indica la moltiplicazione matriciale.

Codice Completo:

import numpy as np

# Matrice dei coefficienti tecnici
A = np.array([
    [0.2, 0.1, 0.1],
    [0.4, 0.2, 0.3],
    [0.3, 0.4, 0.1]
])

# Domanda finale
d = np.array([120, 230, 150])

# Matrice identità
I = np.eye(3)

# Calcolo produzione totale necessaria
X = np.linalg.inv(I - A) @ d

print("Produzione totale necessaria per settore:")
print("Agricoltura:", round(X[0], 2))
print("Industria:  ", round(X[1], 2))
print("Servizi:    ", round(X[2], 2))
    

Output Atteso (approssimato):

Produzione totale necessaria per settore:
Agricoltura: 268.42
Industria:   470.18
Servizi:     342.11
    

 Interpretazione

Per soddisfare la domanda finale di:

  • 120 unità di Agricoltura
  • 230 unità di Industria
  • 150 unità di Servizi

L’economia dovrà produrre le seguenti quantità totali in ciascun settore:

  • Circa 268.42 unità di Agricoltura
  • Circa 470.18 unità di Industria
  • Circa 342.11 unità di Servizi

Questo dimostra come la produzione totale necessaria in ciascun settore sia significativamente maggiore della domanda finale. Questa differenza è dovuta al fabbisogno intermedio: ogni settore deve produrre output non solo per soddisfare la domanda finale, ma anche per fornire input agli altri settori (e a se stesso) nel processo produttivo. Il modello di Leontief cattura queste interdipendenze complesse, fornendo una visione più completa del funzionamento dell’economia.

 

 

Pubblicità