Simulazione Monte Carlo
web app analisi d’incertezza e propagazione degli errori tramite simulazione Monte Carlo

La web app esegue analisi d’incertezza e propagazione degli errori tramite simulazione Monte Carlo per modelli del tipo y=f(X), dove X=(XA,XB,XC) sono variabili aleatorie con distribuzioni assegnate. È pensata per:
stime probabilistiche di costi/tempi di progetto;
valutazioni affidabilistiche (margini, buffer, probabilità di superare soglie);
analisi what-if su input incerti (qualità, domanda, rendimenti, carichi, ecc.);
supporto decisionale tramite percentili e intervalli di confidenza.
Il valore aggiunto è duplice:
rendere esplicite le ipotesi (distribuzioni, correlazioni);
produrre indicatori robusti (media, deviazione standard, p5–p95, forme della distribuzione) invece di un singolo numero “puntuale”.
2) Metodo: Monte Carlo, LHS e copule
2.1 Monte Carlo standard (i.i.d.)
Il metodo base genera N campioni indipendenti x(i) dalle distribuzioni degli input e valuta y(i)=f(x(i)). Per N sufficientemente grande, stime come yˉ, σy e i percentili della distribuzione empirica convergono ai valori veri per Legge dei Grandi Numeri e Teorema del Limite Centrale (su statistiche adatte).
2.2 Latin Hypercube Sampling (LHS)
Il LHS stratifica l’unità [0,1] in N intervalli e assicura un campionamento più uniforme dei quantili per ogni variabile. A parità di N riduce la varianza della stima rispetto al MC i.i.d., specie con output “quasi-monotoni”.
2.3 Correlazioni tramite copula gaussiana
Per modellare dipendenze tra A, B, C la web app usa una copula gaussiana:
genera Z∼N(0,Σ) con Σ definita dai coefficienti di correlazione ρij;
ottiene Ui=Φ(Zi) (uniformi su [0,1]);
mappa Xi=Fi−1(Ui) tramite le inverse CDF delle distribuzioni scelte.
Questo preserva le marginali scelte e impone una struttura di dipendenza ellittica (adatta a correlazioni lineari, meno a code estreme asimmetriche). La matrice Σ viene “ammorbidita” se non è definita positiva (fix PSD leggero) per stabilità numerica.
3) Modello, distribuzioni e indicatori
3.1 Editor di modello
Il modello è definito come funzione JS:
// Esempi:return A*B + C; // costo = prezzo*quantità + onerireturn Math.max(0, A - B) + C; // fabbisogno con bufferreturn A*Math.exp(B) + C; // risposta moltiplicativaDisponi sempre di Math.* e delle variabili casuali A, B, C — rinominabili a livello concettuale.
3.2 Distribuzioni disponibili
Uniforme [a,b] — incertezza non informativa entro un range noto.
Normale N(μ,σ) — rumore simmetrico, somma di contributi indipendenti.
Triangolare (min,moda,max) — utile quando si hanno solo stime ottimistica/modale/pessimistica.
Lognormale LogN(μlog,σlog) — grandezze positive con asimmetria a destra (tempi, costi, tassi).
Se conosci media m e coefficiente di variazione CV:
σlog=ln(1+CV2), μlog=ln(m)−21σlog2.
3.3 Output e KPI
Media yˉ e deviazione standard σy;
Percentili (p5, p50/mediana, p95) e istogramma per vedere la forma;
Convergenza della media (grafico yˉn vs n) per giudicare la stabilità;
Analisi Tornado “one-at-a-time”: per ciascuna variabile, fissa gli altri input e imposta quella a p10 e p90, stimando l’impatto sulla media output. Le barre ordinate mostrano chi sposta di più il risultato.
4) Flusso operativo consigliato
Definisci le distribuzioni di A, B, C e (se necessario) i legami di dipendenza con la copula.
Scrivi/Incolla il modello nel box JS (usa nomi A, B, C).
Scegli schema (MC o LHS), seed (per riproducibilità) e N (p.es. 10k–50k).
Esegui e interpreta: KPI, istogramma, percentili, convergenza.
Usa il Tornado per priorizzare azioni: variabili con barra più lunga → leva principale.
Esporta KPI (CSV) e grafici (PNG). Salva/Carica scenari per versioning e confronto.
5) Validazione e controllo qualità
Sanity check su unità, ordini di grandezza e segno atteso dell’output.
Sensibilità: varia parametri chiave e osserva stabilità dei KPI.
Confronto con casi noti o limiti analitici se disponibili (es. linearizzazioni).
Riproducibilità: fissa un seed nelle simulazioni da riportare in documenti.
6) Prestazioni e scelte di campionamento
La precisione cresce come O(1/N) per Monte Carlo classico.
LHS può ridurre la varianza con gli stessi N.
Per modelli “pesanti”, valuta N graduali (p.es. 5k → 20k → 50k) e osserva la convergenza.
In casi estremi, l’uso di Web Worker (non incluso nell’MVP) eviterebbe il blocco UI.
7) Limiti, assunzioni e avvertenze
Scelta delle distribuzioni: la qualità dei risultati dipende dalla qualità delle ipotesi. Evitare default “comodi” non giustificati.
Copula gaussiana: modella bene correlazioni lineari; non cattura code pesanti o dipendenze asimmetriche (tail-dependence). Se hai code estreme, servono copule alternative (t-Student, Archimedee).
Tornado one-at-a-time: misura effetti parziali ignorando interazioni tra variabili (non è un indice di Sobol). Per decomporre la varianza in contributi (primi ordini e totali) servono schemi dedicati (Saltelli).
Troncamenti e vincoli: l’MVP non applica automaticamente vincoli fisici o domini ammessi (accept-reject). Se il modello richiede restrizioni (es. A>B, positività, massimi fisici), vanno gestite nel modello o con campionamento vincolato.
Numerica: fix PSD “morbido” sulla matrice di correlazione è una pratica ingegneristica per stabilità, non una sanatoria statistica — controlla che i ρ riflettano dati o expert-elicitation coerenti.
Interpretazione dei percentili: non confondere p95 con un “limite garantito”. Le code possono essere lunghe; se i costi dei superamenti sono alti, valuta margini ulteriori.
Uso professionale: lo strumento è informativo; i risultati vanno validati da un tecnico abilitato e documentati con ipotesi esplicite (disclaimer incluso nella UI).
8) Buone pratiche operative
Documenta parametri, distribuzioni, correlazioni, seed, N nel report.
Confronta MC e LHS su un medesimo seed: scegli quello più stabile.
Esegui analisi di scenario (best/base/worst) cambiando ipotesi strutturali, non solo i numeri.
Se l’output è non positivo per definizione, valuta lognormale o triangolare con min ≥ 0.
Se vedi bimodalità nell’istogramma, chiediti se il modello includa regimi diversi (logiche if/else, soglie).
Web App Sicurezza sul Lavoro a Portata di Click!
Nessuna Installazione. Nessun Vincolo.
Le nostre Web App funzionano direttamente dal browser, senza bisogno di installazioni o configurazioni complesse sempre a portata di Click accessibili da qualsiasi dispositivo dotato di un browser moderno: PC, Mac, sistemi Linux, ChromeOS.
🔐 Privacy Totale: Nessun Dato Salvato Online
La sicurezza è al centro, anche nei processi digitali: nessun dato inserito viene memorizzato su server esterni. Tutto resta sul dispositivo dell’utente. La Web App lavora in locale, nel pieno rispetto della privacy e della riservatezza aziendale. Nessuna registrazione, nessun tracciamento, nessun cloud.
⚙️ Compatibilità Totale
Funziona con qualsiasi sistema operativo:
L’unico requisito? Un browser moderno come Chrome, Firefox, Safari, Edge o Opera.
