Simulazione Montecarlo

Jan 29 2023
La simulazione Monte Carlo è un metodo statistico che utilizza il campionamento casuale per modellare e analizzare il comportamento di un sistema o processo. L'idea di base è ripetere una simulazione molte volte, ogni volta con diversi input casuali, per vedere come si comporta in media il sistema e quale gamma di risultati è possibile.

La simulazione Monte Carlo è un metodo statistico che utilizza il campionamento casuale per modellare e analizzare il comportamento di un sistema o processo.

L'idea di base è ripetere una simulazione molte volte, ogni volta con diversi input casuali, per vedere come si comporta in media il sistema e quale gamma di risultati è possibile.

I risultati di ciascuna simulazione vengono quindi combinati per fornire un quadro completo del comportamento del sistema. Le simulazioni Monte Carlo vengono utilizzate quando non sono possibili soluzioni analitiche o quando è necessaria una migliore comprensione dell'incertezza e del rischio.

È impossibile ripetere per sempre. Invece, ripetiamo l'esperimento un numero sufficiente di volte per rendere i risultati praticamente equivalenti a farlo più e più volte per sempre. Questo è un esempio di simulazione Monte Carlo.

Punti chiave

  • Le simulazioni Monte Carlo modellano la probabilità di risultati diversi ripetendo un processo casuale un numero sufficientemente elevato di volte in modo che i risultati siano simili a quelli che si sarebbero osservati se il processo fosse ripetuto all'infinito.
  • La sample()funzione disegna risultati casuali da una serie di opzioni.
  • La replicate()funzione ripete le righe di codice un determinato numero di volte. Viene utilizzato con sample()funzioni simili per eseguire simulazioni Monte Carlo.

beads <- rep(c("red", "blue"), times = c(2,3))    # create an urn with 2 red, 3 blue
beads    # view beads object
sample(beads, 1)    # sample 1 bead at random
B <- 10000    # number of times to draw 1 bead
events <- replicate(B, sample(beads, 1))    # draw 1 bead, B times
tab <- table(events)    # make a table of outcome counts
tab    # view count table
prop.table(tab)    # view table of outcome proportion

Per fare questo, proviamo con la sostituzione. Dopo aver raccolto la perla, la rimettiamo nell'urna. Possiamo dire a sample di farlo cambiando l'argomento di sostituzione che per impostazione predefinita è falso in vero.