# Teoria degli errori e fondamenti di statistica/8.1.2

../8.1.1 ../8.1.3 IncludiIntestazione 30 agosto 2022 100% Da definire
Teoria degli errori e fondamenti di statistica Maurizio Loreti 2006 CC BY-SA 3.0 GFDL Indice:Teoria_degli_errori_e_fondamenti_di_statistica.djvu //it.wikisource.org/w/index.php?title=Teoria_degli_errori_e_fondamenti_di_statistica/8.1.2&oldid=- 20220830100316 //it.wikisource.org/w/index.php?title=Teoria_degli_errori_e_fondamenti_di_statistica/8.1.2&oldid=- 20220830100316
8.1.2 Applicazione: generazione di numeri casuali con distribuzione data
Supponiamo che la variabile casuale x abbia densità di probabilità $f(x)$ e funzione di distribuzione $F(x)$: vogliamo ora dimostrare che la variabile casuale $y=F(x)$ è distribuita uniformemente nell’intervallo $[0,1]$ qualunque siano $f(x)$ e $F(x)$. Chiaramente y può appartenere solo a tale intervallo; ed inoltre, essendo funzione integrale di $f(x)$, è dotata della proprietà di essere continua e derivabile in tutto l’insieme di definizione e con derivata prima data da
$y'=F'(x)=f(x)$
così che, ricordando l’equazione (6.15), la densità di probabilità della nuova variabile y è data (ove $f(x)$ non sia nulla) dalla
$g(y)={\frac {f(x)}{y'(x)}}={\frac {f(x)}{f(x)}}\equiv 1$
come volevamo dimostrare.
Supponiamo sia nota la densità di probabilità $f(x)$ di una qualche variabile casuale x; e che si vogliano ottenere dei numeri che si presentino secondo una legge di probabilità data appunto da questa $f(x)$. I moderni calcolatori numerici sono in grado di generare sequenze di numeri casuali che hanno distribuzione uniforme in un intervallo dipendente dall’implementazione dell’algoritmo, e che possono a loro volta essere usati per produrre numeri casuali con distribuzione uniforme nell’intervallo $[0,1]$; se y è uno di tali numeri, e se si è in grado di invertire, numericamente od analiticamente, la funzione di distribuzione $F(x)$ della variabile casuale x, i numeri
$x=F^{-1}(y)$
hanno densità di probabilità data da $f(x)$, come appunto richiesto.
$F(x)$
$f(x)$
$F(x)$
$[x_{\min },x_{\max }]$
$x_{\min }=0$
$x_{\max }=3$
$y=0.9$
$y=\varphi (x)$
$f(x)$
$x\in [x_{\min },x_{\max }]$
Nel caso si sappia scegliere, sul piano $\{x,y\}$, un punto con distribuzione uniforme nella parte di piano limitata inferiormente dall’asse delle ascisse, superiormente dalla funzione $y=\varphi (x)$, e, lateralmente, dalle due rette di equazione $x=x_{\min }$ ed $x=x_{\max }$, basta accettare tale punto se la sua ordinata risulta non superiore alla corrispondente $f(x)$; e rigettarlo in caso contrario, iterando il procedimento fino a che la condizione precedente non è soddisfatta: le ascisse x dei punti accettati seguono la funzione di distribuzione $f(x)$.
Infatti, i punti accettati saranno distribuiti uniformemente nella parte di piano limitata dalla $y=f(x)$; quindi, in un intervallino infinitesimo centrato su una particolare x, vi sarà un numero di punti accettati proporzionale all’altezza della curva sopra di esso — ovverosia ogni ascissa x viene accettata con densità di probabilità che è proprio $f(x)$.
La scelta, infine, di un punto che sia distribuito uniformemente nella parte di piano limitata dalla funzione $y=\varphi (x)$ si sa sicuramente effettuare se $\varphi (x)$ è stata scelta in modo che si sappia invertire la sua funzione integrale
$\Phi (x)=\int _{-\infty }^{x}\varphi (t)\,\mathrm {d} t$
così che si possa associare, a qualsiasi valore A compreso tra 0 e $\Phi (+\infty )$, quella $x=\Phi ^{-1}(A)$ che lascia alla propria sinistra un’area A al di sotto della funzione $y=\varphi (x)$ (una scelta banale è quella di prendere come maggiorante una retta, o meglio una spezzata — come illustrato nella figura 8b).
In tal caso basta scegliere un numero A con distribuzione uniforme tra i limiti $\Phi (x_{\min })$ e $\Phi (x_{\max })$; trovare la $x=\phi ^{-1}(A)$ che soddisfa la condizione precedente; ed infine scegliere una y con distribuzione uniforme tra 0 e $\varphi (x)$. Non è difficile rendersi conto che il punto $(x,y)$ soddisfa alla condizione richiesta di essere distribuito uniformemente nella parte del semipiano $y>0$ limitata superiormente dalla funzione $y=\varphi (x)$: a questo punto non rimane che calcolare la $f(x)$ ed accettare x se $y\leq f(x)$.
Se proprio non si è in grado di effettuare una scelta migliore, anche una retta del tipo $y={\text{cost.}}$ può andar bene; basta tener presente che l’algoritmo viene sfruttato tanto più efficacemente quanto più $y=\varphi (x)$ è vicina alla $f(x)$ (in tal caso il numero di rigetti è minore).
Per questo motivo, una scelta del tipo $\varphi (x)={\text{cost.}}$ è assolutamente da evitare se la $f(x)$ è sensibilmente diversa da zero solo in una parte ristretta dell’intervallo di definizione (perché in tal caso la scelta uniforme di x all’interno dell’area su detta ci farebbe trascorrere gran parte del tempo ad esa[p. 99 minare valori poco probabili rispetto alla $\varphi (x)$, che vengono in conseguenza quasi sempre rifiutati).