La Distribuzione Multinomiale nella Data Science Moderna
Applicazioni in NLP, e‑commerce e qualità industriale
Dimentica per un attimo i lanci di moneta. Se lavori con i dati, sai che il “testa o croce” è un lusso che non ci possiamo permettere quasi mai.
La realtà non si presenta in bianco e nero, ma in uno spettro caotico di categorie che si rubano spazio a vicenda.
Quando un utente atterra su una landing page, non sta solo decidendo se comprare o andarsene; sta navigando in un labirinto di micro-scelte.
Ignorare questa complessità non è solo un errore statistico, è una semplificazione che brucia budget e produce previsioni piatte. La distribuzione multinomiale è lo strumento che ci permette di smettere di guardare il mondo attraverso uno spioncino e iniziare a modellarlo per quello che è: un sistema di vasi comunicanti.
Perché la multinomiale è ovunque nella Data Science
La maggior parte dei corsi inizia con la moneta: testa/croce, successo/fallimento. Ma il mondo reale non è binario. È multiclasse.
- Un tweet non è solo positivo/negativo: può essere ironico, neutro, arrabbiato, sarcastico.
- Un cliente non “compra o non compra”: può aggiungere al carrello, abbandonare, salvare, tornare, comprare, fare reso.
- Un componente industriale non è solo “buono o difettoso”: può essere eccellente, buono, discreto, scarto.
Ogni volta che abbiamo k esiti possibili, la binomiale cede il passo alla multinomiale.
Richiamo teorico: la multinomiale in 5 righe
Esperimento con:
- [math]n[/math] prove indipendenti
- [math]k[/math] categorie
- probabilità costanti [math]p_1, \dots, p_k[/math]
- conteggi osservati [math]x_1, \dots, x_k[/math] con [math]\sum x_i = n[/math]
La probabilità di osservare quella configurazione è:
[math]\displaystyle \begin{aligned}
P = \frac{n!}{x_1! x_2! \dots x_k!} \cdot p_1^{x_1} p_2^{x_2} \dots p_k^{x_k}
\end{aligned}[/math]
La parte combinatoria è il coefficiente multinomiale: quante sequenze diverse producono gli stessi conteggi.
3. Applicazione 1 — NLP: Sentiment Analysis Multiclasse
Scenario
Hai 1.000 tweet su un nuovo brand. Un modello NLP li classifica in:
- Positivo ([math]0.45[/math])
- Neutro ([math]0.35[/math])
- Negativo ([math]0.20[/math])
Queste probabilità sono stime empiriche del modello.
Domanda
Qual è la probabilità che in un campione di 20 tweet:
- 10 siano positivi
- 6 neutri
- 4 negativi?
Soluzione
È un caso multinomiale diretto:
[math]\displaystyle \begin{aligned}
P = \frac{20!}{10! 6! 4!} (0.45)^{10} (0.35)^6 (0.20)^4
\end{aligned}[/math]
Insight da data scientist
- Serve per validare modelli: confronti le frequenze osservate con quelle attese.
- Serve per testare drift: se le proporzioni cambiano troppo, il modello sta degradando.
- Serve per simulare dataset: quando non hai abbastanza dati reali.
Applicazione 2 — E‑commerce: Funnel multi‑stadio
Scenario
Un utente può:
- Visitare ([math]p = 0.50[/math])
- Aggiungere al carrello ([math]p = 0.20[/math])
- Salvare nei preferiti ([math]p = 0.10[/math])
- Abbandonare ([math]p = 0.15[/math])
- Comprare ([math]p = 0.05[/math])
Questi sono esiti mutuamente esclusivi di una sessione.
Domanda
Su 200 sessioni, qual è la varianza del numero di acquisti?
Soluzione
La marginale di una categoria è binomiale:
[math]\displaystyle \begin{aligned}
Var(X_{\text{acquisti}}) &= np(1-p) \\
&= 200 \cdot 0.05 \cdot 0.95 = 9.5
\end{aligned}[/math]
Insight da data scientist
- La multinomiale permette di modellare funnel non lineari.
- Le covarianze negative spiegano perché, se aumentano i “salvati”, spesso diminuiscono gli “acquisti”.
- È la base matematica dei modelli di attribuzione.
5. Applicazione 3 — Qualità industriale: Classificazione difetti
Scenario
Una linea produce:
- 70% prima qualità
- 20% seconda qualità
- 10% difettosi
Domanda
Qual è la covarianza tra prima e seconda qualità in un lotto da 100?
Soluzione
Formula generale:
[math]\displaystyle \begin{aligned}
Cov(X_i, X_j) = -n p_i p_j
\end{aligned}[/math]
Quindi:
[math]\displaystyle \begin{aligned}
Cov(X_1, X_2) = -100 \cdot 0.7 \cdot 0.2 = -14
\end{aligned}[/math]
Insight da data scientist
- La covarianza negativa è fondamentale per capire i trade‑off produttivi.
- Se aumentano i “buoni”, è matematicamente inevitabile che diminuiscano gli altri.
- È la base dei controlli statistici di processo (SPC).
Quando la matematica non basta: vincoli multipli
Scenario avanzato
Produzione con 4 categorie:
- Eccellente [math]0.1[/math]
- Buono [math]0.6[/math]
- Discreto [math]0.2[/math]
- Scarto [math]0.1[/math]
Domanda:
In 20 pezzi, qual è la probabilità che:
- eccellenti [math]>[/math] scarti
- buoni [math]\ge 2 \times[/math] discreti
Soluzione
Non esiste formula chiusa. Serve:
- scansione esaustiva, oppure
- simulazione Monte Carlo.
Insight da data scientist
Questo è il punto in cui lo studente capisce che:
“La matematica analitica ha limiti. La simulazione è uno strumento epistemico, non un ripiego.”
È il ponte verso:
- bootstrapping
- modelli bayesiani
- simulazioni industriali
- A/B test con vincoli
Il seguente snippet di codice Python per risolvere lo scenario avanzato.
Questo approccio simula migliaia di lotti di produzione per stimare la probabilità di eventi complessi che non hanno una soluzione analitica immediata:
import numpy as np
# Parametri della simulazione
n_prove = 20
n_simulazioni = 100_000
probabilita = [0.1, 0.6, 0.2, 0.1] # Eccellente, Buono, Discreto, Scarto
# Simulazione Monte Carlo
# Genera 100.000 campioni dalla distribuzione multinomiale
campioni = np.random.multinomial(n_prove, probabilita, size=n_simulazioni)
# Estrazione delle colonne per leggibilità
# campioni è una matrice dove ogni colonna rappresenta una categoria
eccellenti = campioni[:, 0]
buoni = campioni[:, 1]
discreti = campioni[:, 2]
scarti = campioni[:, 3]
# Definizione dei vincoli multipli
# Vincolo 1: eccellenti > scarti
# Vincolo 2: buoni >= 2 * discreti
successi = (eccellenti > scarti) & (buoni >= 2 * discreti)
# Calcolo della probabilità stimata
probabilita_stimata = np.mean(successi)
print(f"Probabilità stimata su {n_simulazioni} simulazioni: {probabilita_stimata:.4f}")
Probabilità stimata su 100000 simulazioni: 0.3187
Nota sull’output: Il valore fluttuerà leggermente a ogni esecuzione a causa della natura stocastica del metodo Monte Carlo. Tuttavia, con [math]100.000[/math] simulazioni, l’errore statistico è molto basso e il risultato è affidabile per decisioni di business o industriali.
Spiegazione del codice
-
np.random.multinomial: Questa funzione è il cuore della simulazione. Genera in un colpo solo 100.000 esperimenti diversi, ognuno dei quali consiste nel classificare 20 pezzi secondo le probabilità fornite. -
Vettorizzazione: Invece di usare cicli
for, usiamo le operazioni sugli array di NumPy. Questo rende il calcolo quasi istantaneo. -
Media booleana: In Python,
Truevale 1 eFalsevale 0. Facendo la media (np.mean) del vettore dei successi, otteniamo esattamente il rapporto tra i casi favorevoli e i casi totali.
Cose da Imparare
1. La multinomiale è la distribuzione naturale del mondo reale
La distribuzione Binomiale è, a conti fatti, un’astrazione semplificata. Funziona bene nei laboratori o nei lanci di monete, ma appena esci nel mondo “selvaggio” dei dati, i bivi spariscono e appaiono le rotatorie.
- Oltre il binario: In un database reale, una colonna “Stato Ordine” non ha quasi mai due valori. Ha: Inviato, In lavorazione, Cancellato, Reso, Smarrito. Forzare questi dati in una Binomiale (es. “Consegnato” vs “Tutto il resto”) significa perdere il segnale su perché le cose non vanno bene.
- Il legame con il Deep Learning: Ogni volta che vedi una funzione Softmax alla fine di una rete neurale (per classificare immagini, testi o audio), quel modello sta letteralmente stimando i parametri [math]p_1, p_2, \dots, p_k[/math] di una distribuzione multinomiale. È il linguaggio standard dell’intelligenza artificiale moderna.
2. Le marginali sono binomiali
Questa è la proprietà “salvagente” della multinomiale. Se hai [math]k[/math] categorie ma in un determinato momento ti interessa solo una di esse (ad esempio, solo gli “acquisti” in un funnel complesso), non devi impazzire con calcoli multidimensionali.
- Semplificazione analitica: Puoi trattare la categoria che ti interessa come “Successo” e la somma di tutte le altre come “Fallimento”.
- Perché è utile: Ti permette di calcolare rapidamente intervalli di confidenza o fare test d’ipotesi su una singola metrica senza dover considerare l’intero sistema.
3. Le covarianze negative spiegano trade-off reali
In una multinomiale, il numero totale di prove [math]n[/math] è fisso. Se un lotto ha 100 pezzi, ogni pezzo che finisce nella categoria “Scarto” è un pezzo che non può essere in “Prima Qualità”.
- Vasi comunicanti: La formula [math]Cov(X_i, X_j) = -n p_i p_j[/math] non è solo un numero negativo; è la prova matematica di un conflitto di risorse.
- Business Insight: Se il marketing lancia una promozione aggressiva sul prodotto “Entry Level”, la covarianza negativa ci avverte che potremmo vedere un calo naturale nel prodotto “Premium”, non perché il prodotto Premium sia peggiorato, ma per l’effetto di spostamento della massa probabilistica.
4. I vincoli logici richiedono simulazione
Qui è dove la “vecchia statistica” incontra la Data Science moderna. Molti problemi di business non chiedono “Qual è la probabilità di X?”, ma chiedono scenari condizionali complessi.
- Il limite della formula: Prova a calcolare a mano la probabilità che i pezzi “Buoni” siano almeno il triplo dei “Difettosi” E che i “Sufficienti” siano meno di 5. La formula analitica diventa un mostro di sommatorie multiple quasi impossibile da gestire.
- L’approccio algoritmico: Invece di cercare la formula perfetta, facciamo “vivere” al computer 100.000 scenari diversi in pochi millisecondi.
5. La simulazione non è un trucco
Spesso chi studia sente che usare un metodo Monte Carlo (simulazione) sia una scorciatoia per chi non sa la matematica. È l’esatto opposto.
- Metodo Scientifico: La simulazione è un esperimento controllato. Se il modello generativo è corretto, i risultati della simulazione sono “verità” statistica tanto quanto una formula chiusa.
- Flessibilità: Un giorno hai 4 categorie, il giorno dopo il business ne aggiunge una quinta. Se hai un framework di simulazione, cambi un parametro nel vettore delle probabilità e sei pronto a ripartire. È resilienza computazionale.
La multinomiale è la grammatica nascosta dei sistemi complessi
NLP, e‑commerce, produzione industriale, modelli predittivi: tutti questi mondi condividono la stessa struttura matematica.
La multinomiale è la grammatica delle scelte multiple, e chi la padroneggia può modellare:
- comportamenti,
- preferenze,
- difetti,
- funnel,
- classificazioni,
- sistemi complessi.
È una delle distribuzioni più sottovalutate, ed è una delle più potenti.
Commento Applicativo agli Esercizi
NLP & Sentiment
Questo esercizio non serve solo a calcolare una probabilità, ma a costruire test di coerenza. Se il tuo modello NLP dice che il 45% dei tweet è positivo, ma in un campione di 20 ne trovi 15, la multinomiale ti dice quanto è probabile che sia “fortuna” o se il tuo modello sta avendo delle allucinazioni statistiche.
E-commerce & Funnel
Qui la peculiarità è l’abbattimento del funnel lineare. Spesso pensiamo al funnel come [math]A \to B \to C[/math]. La multinomiale ci costringe a guardarlo come un sistema chiuso dove i “Salvati nei preferiti” sono competitor diretti degli “Acquisti immediati”. Ti permette di rispondere a: “L’introduzione della wishlist sta cannibalizzando le vendite?”
Qualità Industriale
Questo è l’esercizio più “politico”. In fabbrica, spesso i reparti lottano tra loro. Dimostrare con la covarianza che aumentare la “Prima Qualità” riduce matematicamente gli scarti (ma anche la “Seconda Qualità”) aiuta a impostare obiettivi di produzione realistici invece di pretendere aumenti su tutti i fronti contemporaneamente.
Simulazione Monte Carlo
Questo è il vero salto di qualità. Nella Data Science moderna, non risolviamo integrali complessi; scriviamo loop. L’esercizio mostra che quando il business pone domande con vincoli asimmetrici (es. “voglio più eccellenti che scarti”), la statistica classica si ferma, ma il codice no.
Distribuzione Multinomiale & Distribuzioni Statistiche
📊 La distribuzione multinomiale
📊 Guida alla distribuzione multinomiale: 6 esercizi dal base all’avanzato
📊 Distribuzione multinomiale: 6 esercizi commentati (teoria → pratica)
📊 Distribuzione multinomiale: formule, esempi reali e codice Python
📊 Le 7 distribuzioni statistiche che ogni Data Scientist deve conoscere
📊Coefficiente multinomiale: guida completa con esercizi e applicazioni





