Catene di Markov: 6 Esercizi Svolti e Commentati per il Business

Cerca:

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
6 esercizi progressivi sulle Catene di Markov applicati alla gestione fornitori

Ti sei mai chiesto se il comportamento di un cliente, l’andamento di un titolo in borsa o l’affidabilità di un fornitore seguano un destino già scritto o siano puro caos? La verità sta nel mezzo. Spesso, il futuro immediato dipende solo da dove ci troviamo oggi, dimenticando come siamo arrivati fin qui.

Questo è il cuore delle Catene di Markov. Non serve una sfera di cristallo per prevedere cosa accadrà nel tuo business; bastano una matrice e un po’ di logica. In questo articolo, lasciamo da parte la teoria astratta per sporcarci le mani con 6 esercizi pratici, partendo dalla valutazione di un fornitore fino a calcolare quanto tempo resta prima che un asset diventi irrecuperabile. Vediamo come trasformare l’incertezza in numeri gestibili.

Pubblicità


Esercizio 1 (Facile) – Valutazione di base di un fornitore

Testo:

Un’azienda classifica i suoi fornitori ogni mese in due categorie: A (Affidabile) o B (Da monitorare).

  • Se un fornitore è A, il mese dopo rimane A con probabilità 0.9, passa a B con probabilità 0.1.
  • Se un fornitore è B, il mese dopo passa ad A con probabilità 0.4, rimane B con probabilità 0.6.

Oggi il fornitore “Gamma S.p.A.” è nella categoria B. Qual è la probabilità che tra due mesi sia nella categoria A?

Risoluzione

Identificare stati e matrice di transizione

Stati: A (1), B (2).

$$P = \begin{pmatrix} 0.9 & 0.1 \\ 0.4 & 0.6 \end{pmatrix}$$

Stato iniziale: [math]v_0 = (0, 1)[/math] (Oggi in B).

Probabilità dopo 2 mesi

Dobbiamo calcolare [math]v_2 = v_0 P^2[/math].

$$P^2 = P \cdot P = \begin{pmatrix} 0.9 \cdot 0.9 + 0.1 \cdot 0.4 & 0.9 \cdot 0.1 + 0.1 \cdot 0.6 \\ 0.4 \cdot 0.9 + 0.6 \cdot 0.4 & 0.4 \cdot 0.1 + 0.6 \cdot 0.6 \end{pmatrix}$$
$$P^2 = \begin{pmatrix} 0.81 + 0.04 & 0.09 + 0.06 \\ 0.36 + 0.24 & 0.04 + 0.36 \end{pmatrix} = \begin{pmatrix} 0.85 & 0.15 \\ 0.60 & 0.40 \end{pmatrix}$$

Applicare al vettore iniziale

$$v_2 = (0, 1) \cdot \begin{pmatrix} 0.85 & 0.15 \\ 0.60 & 0.40 \end{pmatrix} = (0.60, 0.40)$$

La probabilità di essere in A (prima componente) tra due mesi è 0.60.

💡 Osservazione: La probabilità richiesta è l’elemento [math]P^2_{B \to A}[/math], cioè l’elemento (2,1) di [math]P^2[/math].

Domanda di riflessione:

Quale proprietà delle catene di Markov hai usato per calcolare la probabilità a due mesi?


Esercizio 2 (Facile-Intermedio) – Distribuzione stazionaria iniziale

Testo:

Sempre per il sistema di valutazione dell’Esercizio 1, l’azienda ha un portafoglio di 200 fornitori. Supponi che inizialmente 120 siano A e 80 siano B. Determina quanti fornitori saranno nella categoria A dopo un mese, se ogni fornitore evolve indipendentemente.

Risoluzione

Distribuzione iniziale in frazioni

$$v_0 = \left(\frac{120}{200}, \frac{80}{200}\right) = (0.6, 0.4)$$

Distribuzione dopo un mese

$$v_1 = v_0 P = (0.6, 0.4) \cdot \begin{pmatrix} 0.9 & 0.1 \\ 0.4 & 0.6 \end{pmatrix}$$

Forse potrebbe interessarti anche:  Ottimizzazione Call Center con CTMC: Guida Completa al Modello Nascita-Morte e al Calcolo delle Performance

Probabilità di A dopo 1 mese ([math]v_{1,A}[/math]):

$$0.6 \cdot 0.9 + 0.4 \cdot 0.4 = 0.54 + 0.16 = 0.70$$

Numero atteso di fornitori in A dopo un mese

$$200 \cdot 0.70 = 140$$

Ci saranno 140 fornitori in A dopo un mese.

💡 Osservazione:  Il flusso netto verso A è positivo perché il 40% degli 80 fornitori in B si sposta in A (32 fornitori), mentre solo il 10% dei 120 in A scende in B (12 fornitori). Guadagno netto: 20 fornitori.

Domanda di riflessione:

La distribuzione (0.7, 0.3) è quella stazionaria? Verificalo.


Esercizio 3 (Intermedio) – Distribuzione stazionaria

Testo:

Per la stessa catena di valutazione fornitori, determina la distribuzione stazionaria [math]\pi = (\pi_A, \pi_B)[/math] (se esiste), cioè la probabilità a lungo termine che un fornitore sia in A o in B.

Risoluzione

Equazioni per la distribuzione stazionaria

Deve valere [math]\pi = \pi P[/math] e [math]\pi_A + \pi_B = 1[/math].

Dall’equazione vettoriale otteniamo:

$$\pi_A = 0.9\pi_A + 0.4\pi_B$$
$$\pi_B = 0.1\pi_A + 0.6\pi_B$$

Sostituendo [math]\pi_B = 1 – \pi_A[/math] nella prima equazione:

$$\pi_A = 0.9\pi_A + 0.4(1 – \pi_A)$$
$$\pi_A = 0.9\pi_A + 0.4 – 0.4\pi_A$$
$$\pi_A – 0.5\pi_A = 0.4 \implies 0.5\pi_A = 0.4$$
$$\pi_A = \frac{0.4}{0.5} = 0.8$$

Quindi [math]\pi_B = 1 – 0.8 = 0.2[/math].

Risultato

La distribuzione stazionaria è [math]\pi = (0.8, 0.2)[/math].

💡Osservazione: La distribuzione stazionaria esiste perché la catena è irriducibile e aperiodica. La distribuzione a lungo termine sarà sempre 80% A e 20% B, indipendentemente dalla situazione iniziale.

Domanda di riflessione:

Se inizialmente tutti i fornitori sono B, dopo molti mesi quale percentuale sarà A?


Esercizio 4 (Intermedio) – Tempo medio di primo passaggio

Testo:

Sempre la stessa catena di valutazione. Un fornitore attualmente in B (Da monitorare) viene considerato “recuperato” quando raggiunge per la prima volta lo stato A (Affidabile). Qual è il tempo medio (in mesi) perché un fornitore in B venga “recuperato”?

Risoluzione

Definizione

Sia [math]m_B[/math] il tempo medio di primo passaggio da B ad A. Sia [math]m_A = 0[/math] (tempo per raggiungere A partendo da A).

L’equazione per [math]m_B[/math] è:

$$m_B = 1 + p_{B \to A} m_A + p_{B \to B} m_B$$

Sostituendo [math]p_{B \to A}=0.4[/math], [math]p_{B \to B}=0.6[/math], [math]m_A=0[/math]:

$$m_B = 1 + 0.4 \cdot 0 + 0.6m_B$$

Risolviamo

$$m_B – 0.6m_B = 1$$
$$0.4m_B = 1 \implies m_B = \frac{1}{0.4} = 2.5 \text{ mesi}$$

💡 Osservazione: Il “+1” nell’equazione conta il passo che stiamo per fare. Se finiamo in B, dobbiamo ancora attendere in media [math]m_B[/math] passi ulteriori.

Domanda di riflessione:

Perché nell’equazione [math]m_A=0[/math]? Cosa rappresenta?


Esercizio 5 (Intermedio-Difficile) – Probabilità di assorbimento in una variante

Testo:

L’azienda introduce una terza categoria: C (Sospeso), che è assorbente (se un fornitore entra in C, vi rimane).
Le nuove transizioni mensili sono:

  • Da A: [math]p_{A \to A}=0.8[/math], [math]p_{A \to B}=0.1[/math], [math]p_{A \to C}=0.1[/math].
  • Da B: [math]p_{B \to A}=0.3[/math], [math]p_{B \to B}=0.5[/math], [math]p_{B \to C}=0.2[/math].
  • Da C: [math]p_{C \to C}=1[/math].
Forse potrebbe interessarti anche:  Analisi Serie Temporali con Python: Guida Pratica da Zero a Pandas

Se un fornitore è attualmente in B, qual è la probabilità che finisca per sempre in C prima o poi?

Risoluzione

Matrice di transizione

$$P = \begin{pmatrix} 0.8 & 0.1 & 0.1 \\ 0.3 & 0.5 & 0.2 \\ 0 & 0 & 1 \end{pmatrix}$$

Probabilità di assorbimento in C partendo da B

Sia [math]a_S[/math] la probabilità di assorbimento in C partendo da stato S. [math]a_C = 1[/math].

$$a_A = p_{A \to C} \cdot a_C + p_{A \to A} \cdot a_A + p_{A \to B} \cdot a_B$$
$$a_B = p_{B \to C} \cdot a_C + p_{B \to A} \cdot a_A + p_{B \to B} \cdot a_B$$

Sostituendo i valori:

$$\begin{cases} a_A = 0.1 \cdot 1 + 0.8a_A + 0.1a_B \\ a_B = 0.2 \cdot 1 + 0.3a_A + 0.5a_B \end{cases}$$

Risolviamo il sistema

Dalla prima equazione: [math]0.2a_A = 0.1 + 0.1a_B \implies a_A = 0.5 + 0.5a_B \quad (1)[/math]

Dalla seconda equazione: [math]0.5a_B = 0.2 + 0.3a_A \implies a_B = 0.4 + 0.6a_A \quad (2)[/math]

Sostituendo (1) in (2):

$$a_B = 0.4 + 0.6(0.5 + 0.5a_B)$$
$$a_B = 0.4 + 0.3 + 0.3a_B$$
$$0.7a_B = 0.7 \implies a_B = 1$$

La probabilità di finire in C partendo da B è 1 (cioè 100%).

💡 Osservazione: In questo modello C è l’unico stato assorbente e tutti gli stati transienti (A, B) portano a C con probabilità 1.

Domanda di riflessione:

Perché in questo modello la probabilità di assorbimento in C è 1 da ogni stato?


Esercizio 6 (Difficile) – Tempo medio di assorbimento

Testo:

Nella stessa catena a tre stati dell’Esercizio 5, calcola il tempo medio (mesi) perché un fornitore attualmente in B venga sospeso (cioè raggiunga C).

Risoluzione

Definizione

Sia [math]t_S[/math] il tempo medio fino all’assorbimento in C partendo da S. [math]t_C = 0[/math].

$$\begin{cases} t_A = 1 + p_{A \to A} t_A + p_{A \to B} t_B \\ t_B = 1 + p_{B \to A} t_A + p_{B \to B} t_B \end{cases}$$

Sostituendo i valori (il termine [math]p_{S \to C} t_C[/math] è nullo):

$$\begin{cases} t_A = 1 + 0.8t_A + 0.1t_B \\ t_B = 1 + 0.3t_A + 0.5t_B \end{cases}$$

Risolviamo

Dalla prima equazione: [math]0.2t_A = 1 + 0.1t_B \implies t_A = 5 + 0.5t_B \quad (1)[/math]

Dalla seconda equazione: [math]0.5t_B = 1 + 0.3t_A \implies t_B = 2 + 0.6t_A \quad (2)[/math]

Sostituendo (1) in (2):

$$t_B = 2 + 0.6(5 + 0.5t_B)$$
$$t_B = 2 + 3 + 0.3t_B$$
$$0.7t_B = 5$$
$$t_B = \frac{5}{0.7} \approx 7.143 \text{ mesi}$$

💡 Osservazione: Il metodo usa il principio: tempo medio da uno stato transiente = 1 (per il passo corrente) + media pesata dei tempi medi dagli stati in cui si può finire.

Domanda di riflessione:

Come cambierebbe il tempo medio se la probabilità da B a C fosse più alta?


Risposte alle Domande di Riflessione

Esercizio 1:

Ho usato la proprietà di Markov (mancanza di memoria) e il fatto che la probabilità di transizione in più passi si calcola elevando la matrice di transizione (proprietà di Chapman-Kolmogorov).

Esercizio 2:

La distribuzione [math](0.7, 0.3)[/math] non è stazionaria. Applicando [math]P[/math] a [math](0.7, 0.3)[/math] si ottiene [math](0.75, 0.25) \ne (0.7, 0.3)[/math]. La distribuzione stazionaria è [math](0.8, 0.2)[/math] come calcolato nell’Esercizio 3.

Forse potrebbe interessarti anche:  Forma Canonica di Jordan: guida completa con esempi pratici, Python e applicazioni nei sistemi dinamici e nelle catene di Markov

Esercizio 3:

Dopo molti mesi, indipendentemente dallo stato iniziale, la percentuale di fornitori in A tenderà all’80% (distribuzione stazionaria [math]\pi_A[/math]).

Esercizio 4:

[math]m_A=0[/math] perché rappresenta il tempo medio per raggiungere A partendo già da A. Se siamo già nello stato target, il tempo di primo passaggio è 0 per definizione.

Esercizio 5:

Poiché non esistono ‘trappole’ o cicli chiusi isolati fuori da C (i cosiddetti closed communicating classes), il sistema prima o poi ‘scivolerà’ necessariamente verso l’unico buco nero disponibile, ovvero C.

Esercizio 6:

Se la probabilità [math]p_{B \to C}[/math] aumentasse, il tempo medio di assorbimento diminuirebbe, perché si raggiungerebbe più direttamente lo stato assorbente, senza “girare” tra A e B. Ad esempio, se [math]p_{B \to C} \to 1[/math], allora [math]t_B \to 1[/math] mese.

Commento Applicativo: Perché questi esercizi sono interessanti?

  • Esercizio 1 & 2 (Previsione a breve termine): Sono fondamentali per la pianificazione operativa. Sapere che tra due mesi il 40% dei fornitori sarà “a rischio” permette di pre-allertare il reparto acquisti o diversificare gli ordini oggi, non tra due mesi.

  • Esercizio 3 (Strategia a lungo termine): La distribuzione stazionaria dice all’azienda “chi siamo”. Se il target aziendale è avere il 90% di fornitori affidabili, ma la stazionaria è 80%, è inutile “sgridare” i fornitori; bisogna cambiare le regole del sistema (la matrice di transizione), cioè migliorare i processi di selezione o supporto.

  • Esercizio 4 (KPI di recupero): Il tempo di primo passaggio (2.5 mesi) è un KPI perfetto per valutare l’efficacia delle azioni correttive. Se un fornitore “cattivo” ci mette troppo a tornare “buono”, forse conviene tagliarlo subito.

  • Esercizio 5 & 6 (Risk Management): L’introduzione dello stato “Sospeso” (Assorbente) modella il Churn Rate o il fallimento. Sapere che il tempo medio prima che un fornitore problematico “muoia” (venga sospeso) è di circa 7 mesi, dà all’azienda una finestra temporale precisa per trovare un sostituto prima che sia troppo tardi.

Pubblicità